gf2121 commented on code in PR #14739:
URL: https://github.com/apache/lucene/pull/14739#discussion_r2119549265


##########
lucene/core/src/java/org/apache/lucene/search/BlockMaxConjunctionBulkScorer.java:
##########
@@ -87,18 +87,64 @@ public int score(LeafCollector collector, Bits acceptDocs, 
int min, int max) thr
       // NOTE: windowMax is inclusive
       int windowMax = Math.min(scorers[0].advanceShallow(windowMin), max - 1);
 
-      float maxWindowScore = Float.POSITIVE_INFINITY;
       if (0 < scorable.minCompetitiveScore) {
-        maxWindowScore = computeMaxScore(windowMin, windowMax);
+        float maxWindowScore = computeMaxScore(windowMin, windowMax);
+        scoreWindowScoreFirst(collector, acceptDocs, windowMin, windowMax + 1, 
maxWindowScore);
+      } else {
+        scoreWindowDocFirst(collector, acceptDocs, windowMin, windowMax + 1);

Review Comment:
   > I believe we've always had this problem?
   
   I agree that the previous version could not skip windows, but within window, 
it only needs to do conjunction with the competitive docs, while this PR could 
evaluate more.
   
   I'm not sure how much this will affect though. `FilteredAndHighHigh` tasks 
should provide similar case and numbers not look bad. Let's move on.



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