writeVLong(out, zigZagEncode(min) - 1); writeValues(bitsRequired);
meta.writeLong(minValue); meta.writeLong(gcd); final BlockPackedWriter quotientWriter = new BlockPackedWriter(data, BLOCK_SIZE); for (Number nv : values) { long value = nv == null ? 0 : nv.longValue(); quotientWriter.add((value - minValue) / gcd); quotientWriter.finish(); break; case DELTA_COMPRESSED: final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE); for (Number nv : values) { writer.add(nv == null ? 0 : nv.longValue()); writer.finish(); break; case TABLE_COMPRESSED:
writer = new BlockPackedWriter(vectorsStream, PACKED_BLOCK_SIZE);
meta.writeLong(count); data.writeVInt(BLOCK_SIZE); final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE); for (Number nv : values) { writer.add(nv == null ? 0 : nv.longValue()); writer.finish(); } else {
writer = new BlockPackedWriter(vectorsStream, PACKED_BLOCK_SIZE);
writeVLong(out, zigZagEncode(min) - 1); writeValues(bitsRequired);
writer = new BlockPackedWriter(vectorsStream, PACKED_BLOCK_SIZE);
private void flushPositions() throws IOException { writer.reset(vectorsStream); for (DocData dd : pendingDocs) { for (FieldData fd : dd.fields) { if (fd.hasPositions) { int pos = 0; for (int i = 0; i < fd.numTerms; ++i) { int previousPosition = 0; for (int j = 0; j < fd.freqs[i]; ++j) { final int position = positionsBuf[fd .posStart + pos++]; writer.add(position - previousPosition); previousPosition = position; } } assert pos == fd.totalPositions; } } } writer.finish(); }
writeVLong(out, zigZagEncode(min) - 1); writeValues(bitsRequired);
writer = new BlockPackedWriter(vectorsStream, PACKED_BLOCK_SIZE);
private void flushTermLengths() throws IOException { writer.reset(vectorsStream); for (DocData dd : pendingDocs) { for (FieldData fd : dd.fields) { for (int i = 0; i < fd.numTerms; ++i) { writer.add(fd.prefixLengths[i]); } } } writer.finish(); writer.reset(vectorsStream); for (DocData dd : pendingDocs) { for (FieldData fd : dd.fields) { for (int i = 0; i < fd.numTerms; ++i) { writer.add(fd.suffixLengths[i]); } } } writer.finish(); }
writeVLong(out, zigZagEncode(min) - 1); writeValues(bitsRequired);
private int flushNumFields(int chunkDocs) throws IOException { if (chunkDocs == 1) { final int numFields = pendingDocs.getFirst().numFields; vectorsStream.writeVInt(numFields); return numFields; } else { writer.reset(vectorsStream); int totalFields = 0; for (DocData dd : pendingDocs) { writer.add(dd.numFields); totalFields += dd.numFields; } writer.finish(); return totalFields; } }
writer.reset(vectorsStream); for (DocData dd : pendingDocs) { for (FieldData fd : dd.fields) { final int position = fd.hasPositions ? positionsBuf[fd.posStart + pos] : 0; final int startOffset = startOffsetsBuf[fd.offStart + pos]; writer.add(startOffset - previousOff - (int) (cpt * (position - previousPos))); previousPos = position; previousOff = startOffset; writer.finish(); writer.reset(vectorsStream); for (DocData dd : pendingDocs) { for (FieldData fd : dd.fields) { for (int i = 0; i < fd.numTerms; ++i) { for (int j = 0; j < fd.freqs[i]; ++j) { writer.add(lengthsBuf[fd.offStart + pos++] - fd.prefixLengths[i] - fd.suffixLengths[i]); writer.finish();