-
Notifications
You must be signed in to change notification settings - Fork 982
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change the MAXSCORE scorer to a bulk scorer. #12361
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jpountz for the PR! I had the thought before to compare your approach again after mine was merged, but somehow lost track of it. The changes look good to me, although I'm wondering if some of the utility methods like list re-partitioning can potentially be shared among two scorer implementations. But we can take those as future improvements.
Your comment helped me remember that I had planned to remove the scorer (as opposed to bulk scorer) implementation of block-max maxscore. I just pushed a commit that does it, does it make sense to you? |
We currently use block-max maxscore for top-level disjunctions, implemented as
a scorer. Since we only use it for top-level disjunctions, we could actually
implement it as a bulk scorer, which helps save some overhead. luceneutil
reports the following numbers on wikimedium10m:
OrHighHigh, OrHighMed and orHighLow all get a speedup with this change.