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

Paul Elschot commented on LUCENE-6590:
--------------------------------------

The surround query language allows to add a boost value to sub queries of OR 
and of proximity. For OR boolean queries, the given boosts are passed to the 
generated boolean query clauses and they are used there as expected. For 
proximity and for OR within proximity, these boosts are passed to the generated 
span queries, but lucene ignores these boosts at the moment so there is no 
influence from the changes here.

This weighting is done in the SrndQuery.makeLuceneQueryField method which is 
nicely patched here.
However there are no tests for expected score values of surround queries.

> Explore different ways to apply boosts
> --------------------------------------
>
>                 Key: LUCENE-6590
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6590
>             Project: Lucene - Core
>          Issue Type: Wish
>            Reporter: Adrien Grand
>            Priority: Minor
>         Attachments: LUCENE-6590.patch, LUCENE-6590.patch, LUCENE-6590.patch
>
>
> Follow-up from LUCENE-6570: the fact that all queries are mutable in order to 
> allow for applying a boost raises issues since it makes queries bad cache 
> keys since their hashcode can change anytime. We could just document that 
> queries should never be modified after they have gone through IndexSearcher 
> but it would be even better if the API made queries impossible to mutate at 
> all.
> I think there are two main options:
>  - either replace "void setBoost(boost)" with something like "Query 
> withBoost(boost)" which would return a clone that has a different boost
>  - or move boost handling outside of Query, for instance we could have a 
> (immutable) query impl that would be dedicated to applying boosts, that 
> queries that need to change boosts at rewrite time (such as BooleanQuery) 
> would use as a wrapper.
> The latter idea is from Robert and I like it a lot given how often I either 
> introduced or found a bug which was due to the boost parameter being ignored. 
> Maybe there are other options, but I think this is worth exploring.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to