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