msokolov commented on code in PR #932:
URL: https://github.com/apache/lucene/pull/932#discussion_r885693494


##########
lucene/core/src/java/org/apache/lucene/search/KnnVectorQuery.java:
##########
@@ -225,6 +225,11 @@ public BitSetIterator getIterator(int contextOrd) {
       return new BitSetIterator(bitSets[contextOrd], cost[contextOrd]);
     }
 
+    public void setBitSet(BitSet bitSet, int cost) {
+      bitSets[ord] = bitSet;

Review Comment:
   So .. this relies on the fact that `BitSetCollector.doSetNextReader` will 
have been called prior to this, setting the appropriate `ord`. This is very 
clever, but it relies heavily on knowledge of internal implementation details 
that aren't really part of the published API, and this will tie us to this 
BitSetCollector implementation. I wonder if we could create a new 
KnnVectorQuery constructor that would accept a Function<Integer, 
BitSetIterator>, rather than a Query, that would be responsible for returning a 
BitSetIterator for a given ord?



-- 
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: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to