benwtrent commented on code in PR #14523:
URL: https://github.com/apache/lucene/pull/14523#discussion_r2050892141


##########
lucene/core/src/java/org/apache/lucene/search/DenseConjunctionBulkScorer.java:
##########
@@ -236,10 +236,13 @@ private void scoreWindowUsingBitSet(
       windowMatches.set(0, windowMax - windowBase);
     } else {
       DocIdSetIterator lead = iterators.get(0);
+      int intoBitSetBase = windowBase;
       if (lead.docID() < windowBase) {
-        lead.advance(windowBase);
+        intoBitSetBase = lead.advance(windowBase);
+      }
+      if (intoBitSetBase < windowMax) {
+        lead.intoBitSet(windowMax, windowMatches, intoBitSetBase);

Review Comment:
   @gf2121 Ah, I see, ok, my other change (which adjusts a loop where the same 
baseline is used for multiple iterators), definitely breaks that. 
   
   I am not sure the change here actually breaks that. `intoBitSet` will only 
set bits for docs that match the iterator, so adjusting `offset` to the first 
valid value for a given iterator seems ok.
   
   But I agree, this shouldn't change the offset used for ALL iterators in a 
given query. Let me see about the other change I made (in disjunction).



-- 
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