jpountz commented on a change in pull request #413:
URL: https://github.com/apache/lucene/pull/413#discussion_r736218409
##########
File path: lucene/core/src/java/org/apache/lucene/search/KnnVectorQuery.java
##########
@@ -60,7 +60,8 @@ public KnnVectorQuery(String field, float[] target, int k) {
public Query rewrite(IndexReader reader) throws IOException {
TopDocs[] perLeafResults = new TopDocs[reader.leaves().size()];
for (LeafReaderContext ctx : reader.leaves()) {
- perLeafResults[ctx.ord] = searchLeaf(ctx, Math.min(k, reader.numDocs()));
+ int numDocs = ctx.reader().numDocs();
+ perLeafResults[ctx.ord] = numDocs > 0 ? searchLeaf(ctx, Math.min(k,
numDocs)) : NO_RESULTS;
Review comment:
I was thinking of passing `k` here, and moving the logic to avoid
oversizing the heap to Lucene90HnswVectorsReader by doing `k = min(k, size())`
(where `size()` is the number of docs that have a vector).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]