@Override public int getDocID(int i) { return docMap.oldToNew(in.getDocID(i)); }
@Override protected void setPivot(int i) { reader.getValue(i, pivot); pivotDoc = reader.getDocID(i); }
@Override protected int byteAt(int i, int k) { if (k < packedBytesLength) { return Byte.toUnsignedInt(reader.getByteAt(i, k)); } else { final int shift = bitsPerDocId - ((k - packedBytesLength + 1) << 3); return (reader.getDocID(i) >>> Math.max(0, shift)) & 0xff; } }
@Override protected int byteAt(int i, int k) { if (k < cmpBytes) { return Byte.toUnsignedInt(reader.getByteAt(i, offset + k)); } else { final int shift = bitsPerDocId - ((k - cmpBytes + 1) << 3); return (reader.getDocID(i) >>> Math.max(0, shift)) & 0xff; } } }.select(from, to, mid);
@Override protected int comparePivot(int j) { reader.getValue(j, scratch2); int cmp = FutureArrays.compareUnsigned(pivot.bytes, pivot.offset + offset, pivot.offset + offset + numBytesToCompare, scratch2.bytes, scratch2.offset + offset, scratch2.offset + offset + numBytesToCompare); if (cmp == 0) { cmp = pivotDoc - reader.getDocID(j); } return cmp; } }.sort(from, to);
docsSeen.set(values.getDocID(i));
/** Sliced reference to points in an OfflineSorter.ByteSequencesWriter file. */ private static final class PathSlice { final PointWriter writer; final long start; final long count; public PathSlice(PointWriter writer, long start, long count) { this.writer = writer; this.start = start; this.count = count; } @Override public String toString() { return "PathSlice(start=" + start + " count=" + count + " writer=" + writer + ")"; } }
@Override protected void setPivot(int i) { reader.getValue(i, pivot); pivotDoc = reader.getDocID(i); }
@Override public int getDocID(int i) { return docMap.oldToNew(in.getDocID(i)); }
@Override protected int byteAt(int i, int k) { if (k < cmpBytes) { return Byte.toUnsignedInt(reader.getByteAt(i, offset + k)); } else { final int shift = bitsPerDocId - ((k - cmpBytes + 1) << 3); return (reader.getDocID(i) >>> Math.max(0, shift)) & 0xff; } } }.select(from, to, mid);
@Override protected int byteAt(int i, int k) { if (k < packedBytesLength) { return Byte.toUnsignedInt(reader.getByteAt(i, k)); } else { final int shift = bitsPerDocId - ((k - packedBytesLength + 1) << 3); return (reader.getDocID(i) >>> Math.max(0, shift)) & 0xff; } }
@Override protected int comparePivot(int j) { reader.getValue(j, scratch2); int cmp = FutureArrays.compareUnsigned(pivot.bytes, pivot.offset + offset, pivot.offset + offset + numBytesToCompare, scratch2.bytes, scratch2.offset + offset, scratch2.offset + offset + numBytesToCompare); if (cmp == 0) { cmp = pivotDoc - reader.getDocID(j); } return cmp; } }.sort(from, to);
docsSeen.set(values.getDocID(i));
docsSeen.set(values.getDocID(i));
/** Sliced reference to points in an OfflineSorter.ByteSequencesWriter file. */ private static final class PathSlice { final PointWriter writer; final long start; final long count; public PathSlice(PointWriter writer, long start, long count) { this.writer = writer; this.start = start; this.count = count; } @Override public String toString() { return "PathSlice(start=" + start + " count=" + count + " writer=" + writer + ")"; } }
docIDs[i - from] = reader.getDocID(i);