[ 
https://issues.apache.org/jira/browse/LUCENE-8197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16392579#comment-16392579
 ] 

Dawid Weiss commented on LUCENE-8197:
-------------------------------------

Nice Adrien.  I looked at the patch a bit late and one thing caught my 
attention - hashCode uses class's hashCode in the mix. If there are any 
associative containers those objects are stored in then this will cause 
non-repeatable ordering in those containers from run to run (Class.hashCode 
just goes up to Object.hashCode). If making class part of the hash is required 
then getClass().getName().hashCode() is constant from run to run. Or omit it 
entirely?

> 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
>            Priority: Minor
>             Fix For: master (8.0)
>
>         Attachments: LUCENE-8197.patch, LUCENE-8197.patch
>
>
> 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