jpountz opened a new pull request, #12593:
URL: https://github.com/apache/lucene/pull/12593

   MaxScoreBulkScorer computes windows based on the set of clauses that were 
essential in the *previous* window. This usually works well as the set of 
essential clauses tends to be stable over time, but there are cases when 
clauses get swapped between essential and non-essential clauses, and computing 
windows based on the previous window can lead to suboptimal choices.
   
   This PR creates a first proposal for the next score window using essential 
clauses from the previous window, and then creates a second proposal once 
scorers have been partitioned and their max scores have been updated. If this 
second proposal results in a smaller window, it gets used.
   
   On one particular query (`the incredibles`) and a reordered index with BP 
(which increases chances that scorers move from essential to non-essential or 
vice-versa), this change yielded a 2.3x speedup.


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