You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2018/03/08 17:52:00 UTC

[jira] [Commented] (LUCENE-8197) Make top-k queries fast when static scoring signals are incorporated into the score

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

Robert Muir commented on LUCENE-8197:
-------------------------------------

Great! nit on the naming: I think we should avoid abbreviations like SigmQuery myself in apis. Better to spell it out.

How does the user pass in the idf weight {{w}}? I agree the user can wrap the query with some boost, but thats not necessarily intuitive, shouldn't the field's static methods take it explicitly as a parameter? I think it would help since e.g. in the log case you'd have both relevant parameters in one place which makes it easier to approach.

> 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
>
>
> 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org