gsmiller opened a new issue, #12174:
URL: https://github.com/apache/lucene/issues/12174

   ### Description
   
   This rewrite method (implemented in 
`MultiTermQueryConstantScoreBlendedWrapper`) relies on `DefaultBulkScorer` when 
there are more than 16 terms (with 16 or fewer, a `BooleanQuery` gets created 
which has custom bulk scoring logic already). This is inefficient since the 
bulk scoring will require managing 17 postings on a heap. A simple improvement 
would be to always fully rewrite to a bitset filter when bulk scoring and wrap 
that with a `DefaultBulkScorer` (like `MultiTermQuery#CONSTANT_SCORE_REWRITE`). 
This can probably be done pretty simply in the abstract base class 
(`AbstractMultiTermQueryConstantScoreWrapper`).
   
   There may be other ways to do this—possibly relying on the logic already in 
`BooleanScorer` to make better use of memory—but we can probably start simple 
here as well. I'm not sure how frequently users would actually have a top-level 
term-in-set query they want to score, but it would be nice to make this better.


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