Adrien Grand created LUCENE-8197:
------------------------------------

             Summary: Make top-k queries fast when static scoring signals are 
incorporated into the score
                 Key: LUCENE-8197
                 URL: https://issues.apache.org/jira/browse/LUCENE-8197
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Adrien Grand
             Fix For: master (8.0)


Block-max WAND (LUCENE-8135) and some earlier issues made Lucene faster at 
computing the top-k matches of boolean queries.

It is quite frequent that users want to improve ranking and end up scoring with 
a formula that could look like {{bm25_score + w * log(alpha + pagerank)}} (w 
and alpha being constants, and pagerank being a per-document field value). You 
could do this with doc values and {{FunctionScoreQuery}} but unfortunately this 
will remove the ability to optimize top-k queries since the scoring formula 
becomes opaque to Lucene.

I'd like to add a new field that allows to store such scoring signals as term 
frequencies, and new queries that could produce {{log(alpha + pagerank)}} as a 
score. Then implementing the above formula can be done by boosting this query 
with a boost equal to {{w}} and adding this boosted query as a SHOULD clause of 
a {{BooleanQuery}}. This would give Lucene the ability to compute top-k hits 
faster, especially but not only if the index is sorted by decreasing pagerank.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to