List of usage examples for org.apache.lucene.util BytesRefBuilder clear
public void clear()
From source file:com.tcdi.zombodb.query.VisibilityQueryHelper.java
License:Apache License
private static boolean isCommitted(TermsEnum termsEnum, long xid, BytesRefBuilder builder) throws IOException { if (KNOWN_COMMITTED_XIDS.contains(xid)) return true; if (termsEnum == null) return false; NumericUtils.longToPrefixCoded(xid, 0, builder); boolean isCommitted = termsEnum.seekExact(builder.toBytesRef()); if (isCommitted) KNOWN_COMMITTED_XIDS.add(xid);//from w ww. ja va 2s . co m builder.clear(); return isCommitted; }
From source file:elhuyar.bilakit.Dictionary.java
License:Apache License
static void encodeFlags(BytesRefBuilder b, char flags[]) { int len = flags.length << 1; b.grow(len);// w w w . j a v a2s .c o m b.clear(); for (int i = 0; i < flags.length; i++) { int flag = flags[i]; b.append((byte) ((flag >> 8) & 0xff)); b.append((byte) (flag & 0xff)); } }
From source file:org.apache.solr.analytics.util.valuesource.MultiStringFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues[] valsArr = new FunctionValues[sources.length]; for (int i = 0; i < sources.length; i++) { valsArr[i] = sources[i].getValues(context, readerContext); }/*w w w . j a v a2 s . c om*/ return new StrDocValues(this) { @Override public String strVal(int doc) { CharSequence cs = func(doc, valsArr); return cs != null ? cs.toString() : null; } @Override public boolean exists(int doc) { boolean exists = true; for (FunctionValues val : valsArr) { exists = exists & val.exists(doc); } return exists; } @Override public boolean bytesVal(int doc, BytesRefBuilder bytes) { bytes.clear(); CharSequence cs = func(doc, valsArr); if (cs != null) { bytes.copyChars(func(doc, valsArr)); return true; } else { return false; } } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); boolean firstTime = true; for (FunctionValues vals : valsArr) { if (firstTime) { firstTime = false; } else { sb.append(','); } sb.append(vals.toString(doc)); } sb.append(')'); return sb.toString(); } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueStr mval = new MutableValueStr(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { mval.exists = bytesVal(doc, mval.value); } }; } }; }
From source file:org.apache.solr.analytics.util.valuesource.SingleStringFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues vals = source.getValues(context, readerContext); return new StrDocValues(this) { @Override//from w w w. j a v a 2s . c om public String strVal(int doc) { CharSequence cs = func(doc, vals); return cs != null ? cs.toString() : null; } @Override public boolean bytesVal(int doc, BytesRefBuilder bytes) { CharSequence cs = func(doc, vals); if (cs != null) { bytes.copyChars(func(doc, vals)); return true; } else { bytes.clear(); return false; } } @Override public Object objectVal(int doc) { return strVal(doc); } @Override public boolean exists(int doc) { return vals.exists(doc); } @Override public String toString(int doc) { return name() + '(' + strVal(doc) + ')'; } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueStr mval = new MutableValueStr(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { mval.exists = bytesVal(doc, mval.value); } }; } }; }
From source file:org.apache.solr.search.function.MultiStringFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues[] valsArr = new FunctionValues[sources.length]; for (int i = 0; i < sources.length; i++) { valsArr[i] = sources[i].getValues(context, readerContext); }/* www .jav a2 s.c o m*/ return new StrDocValues(this) { @Override public String strVal(int doc) throws IOException { CharSequence cs = func(doc, valsArr); return cs != null ? cs.toString() : null; } @Override public boolean exists(int doc) throws IOException { boolean exists = true; for (FunctionValues val : valsArr) { exists = exists & val.exists(doc); } return exists; } @Override public boolean bytesVal(int doc, BytesRefBuilder bytes) throws IOException { bytes.clear(); CharSequence cs = func(doc, valsArr); if (cs != null) { bytes.copyChars(func(doc, valsArr)); return true; } else { return false; } } @Override public String toString(int doc) throws IOException { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); boolean firstTime = true; for (FunctionValues vals : valsArr) { if (firstTime) { firstTime = false; } else { sb.append(','); } sb.append(vals.toString(doc)); } sb.append(')'); return sb.toString(); } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueStr mval = new MutableValueStr(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) throws IOException { mval.exists = bytesVal(doc, mval.value); } }; } }; }
From source file:org.codelibs.elasticsearch.search.suggest.phrase.WordScorer.java
License:Apache License
public static BytesRef join(BytesRef separator, BytesRefBuilder result, BytesRef... toJoin) { result.clear(); for (int i = 0; i < toJoin.length - 1; i++) { result.append(toJoin[i]);//from w ww .j a va 2s. com result.append(separator); } result.append(toJoin[toJoin.length - 1]); return result.get(); }
From source file:org.elasticsearch.search.aggregations.bucket.significant.SignificantTextAggregator.java
License:Apache License
@Override public LeafBucketCollector getLeafCollector(LeafReaderContext ctx, final LeafBucketCollector sub) throws IOException { final BytesRefBuilder previous = new BytesRefBuilder(); return new LeafBucketCollectorBase(sub, null) { @Override//from www. j a v a2 s . c o m public void collect(int doc, long bucket) throws IOException { collectFromSource(doc, bucket, fieldName, sourceFieldNames); numCollectedDocs++; if (dupSequenceSpotter != null) { dupSequenceSpotter.startNewSequence(); } } private void processTokenStream(int doc, long bucket, TokenStream ts, BytesRefHash inDocTerms, String fieldText) throws IOException { if (dupSequenceSpotter != null) { ts = new DeDuplicatingTokenFilter(ts, dupSequenceSpotter); } CharTermAttribute termAtt = ts.addAttribute(CharTermAttribute.class); ts.reset(); try { while (ts.incrementToken()) { if (dupSequenceSpotter != null) { long newTrieSize = dupSequenceSpotter.getEstimatedSizeInBytes(); long growth = newTrieSize - lastTrieSize; // Only update the circuitbreaker after if (growth > MEMORY_GROWTH_REPORTING_INTERVAL_BYTES) { addRequestCircuitBreakerBytes(growth); lastTrieSize = newTrieSize; } } previous.clear(); previous.copyChars(termAtt); BytesRef bytes = previous.get(); if (inDocTerms.add(bytes) >= 0) { if (includeExclude == null || includeExclude.accept(bytes)) { long bucketOrdinal = bucketOrds.add(bytes); if (bucketOrdinal < 0) { // already seen bucketOrdinal = -1 - bucketOrdinal; collectExistingBucket(sub, doc, bucketOrdinal); } else { collectBucket(sub, doc, bucketOrdinal); } } } } } finally { ts.close(); } } private void collectFromSource(int doc, long bucket, String indexedFieldName, String[] sourceFieldNames) throws IOException { MappedFieldType fieldType = context.getQueryShardContext().fieldMapper(indexedFieldName); if (fieldType == null) { throw new IllegalArgumentException("Aggregation [" + name + "] cannot process field [" + indexedFieldName + "] since it is not present"); } SourceLookup sourceLookup = context.lookup().source(); sourceLookup.setSegmentAndDocument(ctx, doc); BytesRefHash inDocTerms = new BytesRefHash(256, context.bigArrays()); try { for (String sourceField : sourceFieldNames) { List<Object> textsToHighlight = sourceLookup.extractRawValues(sourceField); textsToHighlight = textsToHighlight.stream().map(obj -> { if (obj instanceof BytesRef) { return fieldType.valueForDisplay(obj).toString(); } else { return obj; } }).collect(Collectors.toList()); Analyzer analyzer = fieldType.indexAnalyzer(); for (Object fieldValue : textsToHighlight) { String fieldText = fieldValue.toString(); TokenStream ts = analyzer.tokenStream(indexedFieldName, fieldText); processTokenStream(doc, bucket, ts, inDocTerms, fieldText); } } } finally { Releasables.close(inDocTerms); } } }; }