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