Skip to content

Commit 09c7c0e

Browse files
committed
fixed duplicate centroid check
1 parent c98ea03 commit 09c7c0e

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

server/src/main/java/org/elasticsearch/index/codec/vectors/IVFVectorsReader.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -330,16 +330,14 @@ public final void search(String field, float[] target, KnnCollector knnCollector
330330
}
331331

332332
int centroidOrdinal = centroidQueue.pop();
333-
if (priorVisitedCentroids.getAndSet(centroidOrdinal)) {
333+
int clusterOrdinal = centroidQueryScorer.getClusterOrdinal(centroidOrdinal);
334+
if (priorVisitedCentroids.getAndSet(clusterOrdinal)) {
334335
continue;
335336
}
336337
centroidsVisited++;
337338

338339
// TODO need direct access to the raw centroid???, this is used for quantizing, maybe hydrating and quantizing is enough?
339-
expectedDocs += scorer.resetPostingsScorer(
340-
centroidQueryScorer.getClusterOrdinal(centroidOrdinal),
341-
centroidQueryScorer.centroid(centroidOrdinal)
342-
);
340+
expectedDocs += scorer.resetPostingsScorer(clusterOrdinal, centroidQueryScorer.centroid(centroidOrdinal));
343341
actualDocs += scorer.visit(knnCollector);
344342
}
345343

0 commit comments

Comments
 (0)