[ 
https://issues.apache.org/jira/browse/SOLR-18542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SOLR-18542:
----------------------------------
    Labels: pull-request-available  (was: )

> Support weighted RRF in combined queries
> ----------------------------------------
>
>                 Key: SOLR-18542
>                 URL: https://issues.apache.org/jira/browse/SOLR-18542
>             Project: Solr
>          Issue Type: Improvement
>    Affects Versions: main(11.0)
>            Reporter: Puneet Ahuja
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Combined Query RRF gives every query list equal weight, so a caller can't 
> favor one list. For example, they can't keep an exact lexical match above a 
> loosely similar vector match. Elasticsearch and OpenSearch both support 
> per-list weights.
> Additionally, {{ReciprocalRankFusion.getRanks}} iterates 
> {{queriesDocMap.values()}} (a {{{}HashMap{}}}) but labels the rank array with 
> {{combiner.query}} keys in request order. When the HashMap iteration order 
> differs from the request order, the debug explain mislabels which rank 
> belongs to which query.
> Solution:
>  * Add {{{}combiner.rrf.weight.<queryName>{}}}, a non-negative multiplier on 
> that query's reciprocal rank contribution that defaults to {{{}1.0{}}}. 
> Requests without it behave exactly as today.
>  * Reject negative weights, and weights for names that aren't in 
> {{{}combiner.query{}}}.
>  * Make {{getRanks}} iterate in {{combiner.query}} order, so each rank and 
> weight in the explain lines up with the right query.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to