Skip to content

Commit a363163

Browse files
committed
addressing pr comments, etc.
1 parent 235ab87 commit a363163

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ public final void search(String field, float[] target, KnnCollector knnCollector
286286
// Note, numCollected is doing the bare minimum here.
287287
// TODO do we need to handle nested doc counts similarly to how we handle
288288
// filtering? E.g. keep exploring until we hit an expected number of parent documents vs. child vectors?
289-
while (centroidQueue.size() > 0 && centroidsVisited < nProbe && knnCollectorImpl.numCollected() < knnCollector.k()) {
289+
while (centroidQueue.size() > 0 && (centroidsVisited < nProbe || knnCollectorImpl.numCollected() < knnCollector.k())) {
290290
++centroidsVisited;
291291
// todo do we actually need to know the score???
292292
int centroidOrdinal = centroidQueue.pop();

server/src/main/java/org/elasticsearch/search/vectors/IVFKnnFloatVectorQuery.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,12 @@ protected TopDocs approximateSearch(
8080
KnnCollectorManager knnCollectorManager
8181
) throws IOException {
8282
KnnCollector knnCollector = knnCollectorManager.newCollector(visitedLimit, searchStrategy, context);
83+
if (knnCollector == null) {
84+
return NO_RESULTS;
85+
}
8386
LeafReader reader = context.reader();
8487
FloatVectorValues floatVectorValues = reader.getFloatVectorValues(field);
85-
if (floatVectorValues == null || knnCollector == null) {
88+
if (floatVectorValues == null) {
8689
FloatVectorValues.checkField(reader, field);
8790
return NO_RESULTS;
8891
}

server/src/test/java/org/elasticsearch/search/vectors/AbstractDiversifyingChildrenIVFKnnVectorQueryTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ static Document makeParent(int[] children) {
9393
@Before
9494
public void setUp() throws Exception {
9595
super.setUp();
96-
format = new IVFVectorsFormat(128);
96+
format = new IVFVectorsFormat(random().nextInt(IVFVectorsFormat.MIN_VECTORS_PER_CLUSTER, IVFVectorsFormat.MAX_VECTORS_PER_CLUSTER));
9797
}
9898

9999
abstract Query getDiversifyingChildrenKnnQuery(

0 commit comments

Comments
 (0)