@@ -136,9 +136,7 @@ public Query rewrite(IndexSearcher indexSearcher) throws IOException {
136136 List <SegmentAffinity > segmentAffinities = calculateSegmentAffinities (leafReaderContexts , getQueryVector ());
137137
138138 // TODO: sort segments by affinity score in descending order, and cut the long tail ?
139- // segmentAffinities.sort((a, b) -> Double.compare(b.affinityScore(), a.affinityScore()));
140- // ...subList(0, (int) (segmentAffinities.size() * 0.99));
141-
139+
142140 // with larger affinity we increase nprobe (and viceversa)
143141 // also sort segments by affinity and eventually filter out the long tail
144142 List <LeafReaderContext > selectedSegments = new ArrayList <>();
@@ -203,27 +201,6 @@ private int adjustNProbeForSegment(double affinityScore, double highThreshold, d
203201
204202 abstract float [] getQueryVector () throws IOException ;
205203
206- /*
207- private List<IVFVectorsReader.CentroidIterator> collectIterators(List<LeafReaderContext> leafReaderContexts) throws IOException {
208- List<IVFVectorsReader.ScoredCentroidIterator> iterators = new ArrayList<>(leafReaderContexts.size());
209- for (LeafReaderContext context : leafReaderContexts) {
210- LeafReader leafReader = context.reader();
211- if (leafReader instanceof SegmentReader segmentReader) {
212- KnnVectorsReader vectorReader = segmentReader.getVectorReader();
213- IVFVectorsReader reader = unwrapReader(vectorReader);
214- if (reader == null) {
215- return null;
216- }
217- FieldInfo fieldInfo = leafReader.getFieldInfos().fieldInfo(field);
218- int numCentroids = reader.getNumCentroids(fieldInfo);
219- IndexInput centroids = reader.getIvfCentroids();
220- iterators.add(reader.getCentroidIterator(fieldInfo, numCentroids, centroids, getQueryVector()));
221- }
222- }
223- return iterators;
224- }
225- */
226-
227204 private IVFVectorsReader unwrapReader (KnnVectorsReader knnVectorsReader ) {
228205 IVFVectorsReader result = null ;
229206 if (knnVectorsReader instanceof DefaultIVFVectorsReader IVFVectorsReader ) {
0 commit comments