private void writeValuesSingleBlock(SortedNumericDocValues values, long numValues, int numBitsPerValue, long min, long gcd, Map<Long, Integer> encode) throws IOException { DirectWriter writer = DirectWriter.getInstance(data, numValues, numBitsPerValue); for (int doc = values.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = values.nextDoc()) { for (int i = 0, count = values.docValueCount(); i < count; ++i) { long v = values.nextValue(); if (encode == null) { writer.add((v - min) / gcd); } else { writer.add(encode.get(v)); } } } writer.finish(); }
DirectWriter writer = DirectWriter.getInstance(data, bufferSize, bitsRequired); for (int i = 0; i < bufferSize; ++i) { writer.add(buffer[i]);
private void writeBlock(long[] values, int length, long gcd, GrowableByteArrayDataOutput buffer) throws IOException { assert length > 0; long min = values[0]; long max = values[0]; for (int i = 1; i < length; ++i) { final long v = values[i]; assert Math.floorMod(values[i] - min, gcd) == 0; min = Math.min(min, v); max = Math.max(max, v); } if (min == max) { data.writeByte((byte) 0); data.writeLong(min); } else { final int bitsPerValue = DirectWriter.unsignedBitsRequired(max - min); buffer.reset(); assert buffer.getPosition() == 0; final DirectWriter w = DirectWriter.getInstance(buffer, length, bitsPerValue); for (int i = 0; i < length; ++i) { w.add((values[i] - min) / gcd); } w.finish(); data.writeByte((byte) bitsPerValue); data.writeLong(min); data.writeInt(buffer.getPosition()); data.writeBytes(buffer.getBytes(), buffer.getPosition()); } }
values = valuesProducer.getSorted(field); for (int doc = values.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = values.nextDoc()) { writer.add(values.ordValue());
for (int doc = values.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = values.nextDoc()) { for (long ord = values.nextOrd(); ord != SortedSetDocValues.NO_MORE_ORDS; ord = values.nextOrd()) { writer.add(ord);
private void writeValuesSingleBlock(SortedNumericDocValues values, long numValues, int numBitsPerValue, long min, long gcd, Map<Long, Integer> encode) throws IOException { DirectWriter writer = DirectWriter.getInstance(data, numValues, numBitsPerValue); for (int doc = values.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = values.nextDoc()) { for (int i = 0, count = values.docValueCount(); i < count; ++i) { long v = values.nextValue(); if (encode == null) { writer.add((v - min) / gcd); } else { writer.add(encode.get(v)); } } } writer.finish(); }
DirectWriter writer = DirectWriter.getInstance(data, bufferSize, bitsRequired); for (int i = 0; i < bufferSize; ++i) { writer.add(buffer[i]);
DirectWriter writer = DirectWriter.getInstance(data, bufferSize, bitsRequired); for (int i = 0; i < bufferSize; ++i) { writer.add(buffer[i]);
DirectWriter writer = DirectWriter.getInstance(data, bufferSize, bitsRequired); for (int i = 0; i < bufferSize; ++i) { writer.add(buffer[i]);
for (Number nv : values) { long value = nv == null ? 0 : nv.longValue(); quotientWriter.add((value - minValue) / gcd); for (Number nv : values) { long v = nv == null ? 0 : nv.longValue(); writer.add(v - minDelta); final DirectWriter ordsWriter = DirectWriter.getInstance(data, count, tableBitsRequired); for (Number nv : values) { ordsWriter.add(encode.get(nv == null ? 0 : nv.longValue()));
for (Number nv : values) { long value = nv == null ? 0 : nv.longValue(); quotientWriter.add((value - minValue) / gcd); for (Number nv : values) { long v = nv == null ? 0 : nv.longValue(); writer.add(v - minDelta); final DirectWriter ordsWriter = DirectWriter.getInstance(data, count, tableBitsRequired); for (Number nv : values) { ordsWriter.add(encode.get(nv == null ? 0 : nv.longValue()));
for (Number nv : values) { long value = nv == null ? 0 : nv.longValue(); quotientWriter.add((value - minValue) / gcd); for (Number nv : values) { long v = nv == null ? 0 : nv.longValue(); writer.add(v - minDelta); final DirectWriter ordsWriter = DirectWriter.getInstance(data, count, tableBitsRequired); for (Number nv : values) { ordsWriter.add(encode.get(nv == null ? 0 : nv.longValue()));
for (Number nv : values) { long value = nv == null ? 0 : nv.longValue(); quotientWriter.add((value - minValue) / gcd); for (Number nv : values) { long v = nv == null ? 0 : nv.longValue(); writer.add(v - minDelta); final DirectWriter ordsWriter = DirectWriter.getInstance(data, count, tableBitsRequired); for (Number nv : values) { ordsWriter.add(encode.get(nv == null ? 0 : nv.longValue()));
for (Number nv : values) { long value = nv == null ? 0 : nv.longValue(); quotientWriter.add((value - minValue) / gcd); for (Number nv : values) { long v = nv == null ? 0 : nv.longValue(); writer.add(v - minDelta); final DirectWriter ordsWriter = DirectWriter.getInstance(data, count, tableBitsRequired); for (Number nv : values) { ordsWriter.add(encode.get(nv == null ? 0 : nv.longValue()));
for (Number nv : values) { long value = nv == null ? 0 : nv.longValue(); quotientWriter.add((value - minValue) / gcd); for (Number nv : values) { long v = nv == null ? 0 : nv.longValue(); writer.add(v - minDelta); final DirectWriter ordsWriter = DirectWriter.getInstance(data, count, tableBitsRequired); for (Number nv : values) { ordsWriter.add(encode.get(nv == null ? 0 : nv.longValue()));
private void writeBlock(long[] values, int length, long gcd, GrowableByteArrayDataOutput buffer) throws IOException { assert length > 0; long min = values[0]; long max = values[0]; for (int i = 1; i < length; ++i) { final long v = values[i]; assert Math.floorMod(values[i] - min, gcd) == 0; min = Math.min(min, v); max = Math.max(max, v); } if (min == max) { data.writeByte((byte) 0); data.writeLong(min); } else { final int bitsPerValue = DirectWriter.unsignedBitsRequired(max - min); buffer.reset(); assert buffer.getPosition() == 0; final DirectWriter w = DirectWriter.getInstance(buffer, length, bitsPerValue); for (int i = 0; i < length; ++i) { w.add((values[i] - min) / gcd); } w.finish(); data.writeByte((byte) bitsPerValue); data.writeLong(min); data.writeInt(buffer.getPosition()); data.writeBytes(buffer.getBytes(), buffer.getPosition()); } }
values = valuesProducer.getSorted(field); for (int doc = values.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = values.nextDoc()) { writer.add(values.ordValue());
for (int doc = values.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = values.nextDoc()) { for (long ord = values.nextOrd(); ord != SortedSetDocValues.NO_MORE_ORDS; ord = values.nextOrd()) { writer.add(ord);