TermsDict(TermsDictEntry entry, IndexInput data) throws IOException { this.entry = entry; RandomAccessInput addressesSlice = data.randomAccessSlice(entry.termsAddressesOffset, entry.termsAddressesLength); blockAddresses = DirectMonotonicReader.getInstance(entry.termsAddressesMeta, addressesSlice); bytes = data.slice("terms", entry.termsDataOffset, entry.termsDataLength); blockMask = (1L << entry.termsDictBlockShift) - 1; RandomAccessInput indexAddressesSlice = data.randomAccessSlice(entry.termsIndexAddressesOffset, entry.termsIndexAddressesLength); indexAddresses = DirectMonotonicReader.getInstance(entry.termsIndexAddressesMeta, indexAddressesSlice); indexBytes = data.slice("terms-index", entry.termsIndexOffset, entry.termsIndexLength); term = new BytesRef(entry.maxTermLength); }
final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesInput);
final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesData); return new DenseBinaryDocValues(maxDoc) { final BytesRef bytes = new BytesRef(new byte[entry.maxLength], 0, entry.maxLength); final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesData); return new SparseBinaryDocValues(disi) { final BytesRef bytes = new BytesRef(new byte[entry.maxLength], 0, entry.maxLength);
final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesInput);
/** returns an address instance for sortedset ordinal lists */ private LongValues getOrdIndexInstance(FieldInfo field, NumericEntry entry) throws IOException { RandomAccessInput data = this.data.randomAccessSlice(entry.offset, entry.endOffset - entry.offset); return DirectMonotonicReader.getInstance(entry.monotonicMeta, data); }
/** returns an address instance for sortedset ordinal lists */ private LongValues getOrdIndexInstance(FieldInfo field, NumericEntry entry) throws IOException { RandomAccessInput data = this.data.randomAccessSlice(entry.offset, entry.endOffset - entry.offset); return DirectMonotonicReader.getInstance(entry.monotonicMeta, data); }
/** returns an address instance for sortedset ordinal lists */ private LongValues getOrdIndexInstance(FieldInfo field, NumericEntry entry) throws IOException { RandomAccessInput data = this.data.randomAccessSlice(entry.offset, entry.endOffset - entry.offset); return DirectMonotonicReader.getInstance(entry.monotonicMeta, data); }
private SparseBits getSparseLiveBits(NumericEntry entry) throws IOException { final RandomAccessInput docIdsData = this.data.randomAccessSlice(entry.missingOffset, entry.offset - entry.missingOffset); final LongValues docIDs = DirectMonotonicReader.getInstance(entry.monotonicMeta, docIdsData); return new SparseBits(maxDoc, entry.numDocsWithValue, docIDs); }
private SparseBits getSparseLiveBits(NumericEntry entry) throws IOException { final RandomAccessInput docIdsData = this.data.randomAccessSlice(entry.missingOffset, entry.offset - entry.missingOffset); final LongValues docIDs = DirectMonotonicReader.getInstance(entry.monotonicMeta, docIdsData); return new SparseBits(maxDoc, entry.numDocsWithValue, docIDs); }
private SparseNumericDocValues getSparseNumericDocValues(NumericEntry entry) throws IOException { final RandomAccessInput docIdsData = this.data.randomAccessSlice(entry.missingOffset, entry.offset - entry.missingOffset); final LongValues docIDs = DirectMonotonicReader.getInstance(entry.monotonicMeta, docIdsData); final LongValues values = getNumeric(entry.nonMissingValues); // cannot be sparse return new SparseNumericDocValues(Math.toIntExact(entry.numDocsWithValue), docIDs, values); }
TermsDict(TermsDictEntry entry, IndexInput data) throws IOException { this.entry = entry; RandomAccessInput addressesSlice = data.randomAccessSlice(entry.termsAddressesOffset, entry.termsAddressesLength); blockAddresses = DirectMonotonicReader.getInstance(entry.termsAddressesMeta, addressesSlice); bytes = data.slice("terms", entry.termsDataOffset, entry.termsDataLength); blockMask = (1L << entry.termsDictBlockShift) - 1; RandomAccessInput indexAddressesSlice = data.randomAccessSlice(entry.termsIndexAddressesOffset, entry.termsIndexAddressesLength); indexAddresses = DirectMonotonicReader.getInstance(entry.termsIndexAddressesMeta, indexAddressesSlice); indexBytes = data.slice("terms-index", entry.termsIndexOffset, entry.termsIndexLength); term = new BytesRef(entry.maxTermLength); }
private LegacyBinaryDocValues getVariableBinary(FieldInfo field, final BinaryEntry bytes) throws IOException { final RandomAccessInput addressesData = this.data.randomAccessSlice(bytes.addressesOffset, bytes.addressesEndOffset - bytes.addressesOffset); final LongValues addresses = DirectMonotonicReader.getInstance(bytes.addressesMeta, addressesData); final IndexInput data = this.data.slice("var-binary", bytes.offset, bytes.addressesOffset - bytes.offset); final BytesRef term = new BytesRef(Math.max(0, bytes.maxLength)); final byte buffer[] = term.bytes; return new LongBinaryDocValues() { @Override public BytesRef get(long id) { long startAddress = addresses.get(id); long endAddress = addresses.get(id+1); int length = (int) (endAddress - startAddress); try { data.seek(startAddress); data.readBytes(buffer, 0, length); term.length = length; return term; } catch (IOException e) { throw new RuntimeException(e); } } }; }
private BinaryDocValues getVariableBinary(FieldInfo field, final BinaryEntry bytes) throws IOException { final RandomAccessInput addressesData = this.data.randomAccessSlice(bytes.addressesOffset, bytes.addressesEndOffset - bytes.addressesOffset); final LongValues addresses = DirectMonotonicReader.getInstance(bytes.addressesMeta, addressesData); final IndexInput data = this.data.slice("var-binary", bytes.offset, bytes.addressesOffset - bytes.offset); final BytesRef term = new BytesRef(Math.max(0, bytes.maxLength)); final byte buffer[] = term.bytes; return new LongBinaryDocValues() { @Override public BytesRef get(long id) { long startAddress = addresses.get(id); long endAddress = addresses.get(id+1); int length = (int) (endAddress - startAddress); try { data.seek(startAddress); data.readBytes(buffer, 0, length); term.length = length; return term; } catch (IOException e) { throw new RuntimeException(e); } } }; }
private BinaryDocValues getVariableBinary(FieldInfo field, final BinaryEntry bytes) throws IOException { final RandomAccessInput addressesData = this.data.randomAccessSlice(bytes.addressesOffset, bytes.addressesEndOffset - bytes.addressesOffset); final LongValues addresses = DirectMonotonicReader.getInstance(bytes.addressesMeta, addressesData); final IndexInput data = this.data.slice("var-binary", bytes.offset, bytes.addressesOffset - bytes.offset); final BytesRef term = new BytesRef(Math.max(0, bytes.maxLength)); final byte buffer[] = term.bytes; return new LongBinaryDocValues() { @Override public BytesRef get(long id) { long startAddress = addresses.get(id); long endAddress = addresses.get(id+1); int length = (int) (endAddress - startAddress); try { data.seek(startAddress); data.readBytes(buffer, 0, length); term.length = length; return term; } catch (IOException e) { throw new RuntimeException(e); } } }; }
final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesData); return new DenseBinaryDocValues(maxDoc) { final BytesRef bytes = new BytesRef(new byte[entry.maxLength], 0, entry.maxLength); final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesData); return new SparseBinaryDocValues(disi) { final BytesRef bytes = new BytesRef(new byte[entry.maxLength], 0, entry.maxLength);
final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesInput);
final LongValues addresses = DirectMonotonicReader.getInstance(entry.addressesMeta, addressesInput);