@Override protected int pick(RandomAccessOrds values, int doc) { values.setDocument(doc); return values.cardinality() > 0 ? (int)values.ordAt(0) : -1; }
@Override public int getValueCount() { return (int)values.getValueCount(); } };
@Override public void doSetDocument(int docID) { values.setDocument(docID); cardinality = values.cardinality(); }
@Override public int lookupTerm(BytesRef key) { return (int) in.lookupTerm(key); } }
@Override public BytesRef lookupOrd(long ord) { return inner.lookupOrd(ord); } }
LongArray sIndexedPoint = BigArrays.NON_RECYCLING_INSTANCE.newLongArray(reader.maxDoc()); for (int i=0; i<maxDoc; ++i) { ordinals.setDocument(i); long nativeOrdinal = ordinals.nextOrd(); if (nativeOrdinal != RandomAccessOrds.NO_MORE_ORDS) { sIndexedPoint.set(i, indexedPoints.get(nativeOrdinal));
@Override public TermsEnum termsEnum() { if (binary instanceof CompressedBinaryDocValues) { return ((CompressedBinaryDocValues)binary).getTermsEnum(); } else { return super.termsEnum(); } }
@Override public LongBitSet acceptedGlobalOrdinals(RandomAccessOrds globalOrdinals) throws IOException { final long numOrds = globalOrdinals.getValueCount(); final LongBitSet acceptedGlobalOrdinals = new LongBitSet(numOrds); final TermsEnum termEnum = globalOrdinals.termsEnum(); BytesRef term = termEnum.next(); while (term != null) { if (Math.floorMod(StringHelper.murmurhash3_x86_32(term, HASH_PARTITIONING_SEED), incNumPartitions) == incZeroBasedPartition) { acceptedGlobalOrdinals.set(termEnum.ord()); } term = termEnum.next(); } return acceptedGlobalOrdinals; } }
@Override public LongBitSet acceptedGlobalOrdinals(RandomAccessOrds globalOrdinals) throws IOException { LongBitSet acceptedGlobalOrdinals = new LongBitSet(globalOrdinals.getValueCount()); if (includeValues != null) { for (BytesRef term : includeValues) { long ord = globalOrdinals.lookupTerm(term); if (ord >= 0) { acceptedGlobalOrdinals.set(ord); } } } else if (acceptedGlobalOrdinals.length() > 0) { // default to all terms being acceptable acceptedGlobalOrdinals.set(0, acceptedGlobalOrdinals.length()); } if (excludeValues != null) { for (BytesRef term : excludeValues) { long ord = globalOrdinals.lookupTerm(term); if (ord >= 0) { acceptedGlobalOrdinals.clear(ord); } } } return acceptedGlobalOrdinals; }
@Override public int count() { return values.cardinality(); } };
@Override public long ordAt(int index) { if (cardinality > 0) { return values.ordAt(index); } else if (index == 0) { return missingOrd; } else { throw new IndexOutOfBoundsException(); } }
@Override public int lookupTerm(BytesRef key) { return (int) in.lookupTerm(key); } }
@Override public void doSetDocument(int docID) { values.setDocument(docID); cardinality = values.cardinality(); }
LongArray sIndexedPoint = BigArrays.NON_RECYCLING_INSTANCE.newLongArray(reader.maxDoc()); for (int i=0; i<maxDoc; ++i) { ordinals.setDocument(i); long nativeOrdinal = ordinals.nextOrd(); if (nativeOrdinal != RandomAccessOrds.NO_MORE_ORDS) { sIndexedPoint.set(i, indexedPoints.get(nativeOrdinal));
@Override public TermsEnum termsEnum() { if (binary instanceof CompressedBinaryDocValues) { return ((CompressedBinaryDocValues)binary).getTermsEnum(); } else { return super.termsEnum(); } }
@Override public LongBitSet acceptedGlobalOrdinals(RandomAccessOrds globalOrdinals) throws IOException { final long numOrds = globalOrdinals.getValueCount(); final LongBitSet acceptedGlobalOrdinals = new LongBitSet(numOrds); final TermsEnum termEnum = globalOrdinals.termsEnum(); BytesRef term = termEnum.next(); while (term != null) { if (Math.floorMod(StringHelper.murmurhash3_x86_32(term, HASH_PARTITIONING_SEED), incNumPartitions) == incZeroBasedPartition) { acceptedGlobalOrdinals.set(termEnum.ord()); } term = termEnum.next(); } return acceptedGlobalOrdinals; } }
@Override public int size() { return values.cardinality(); } }
@Override protected int pick(RandomAccessOrds values, int doc) { values.setDocument(doc); final int count = values.cardinality(); return count > 0 ? (int)values.ordAt(count - 1) : -1; }