[
https://issues.apache.org/jira/browse/LUCENE-4935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Muir updated LUCENE-4935:
--------------------------------
Attachment: LUCENE-4935.patch
Here is an updated patch thats more correct in my opinion (but the first one
fixes the bug).
In my opinion this query should not 'distribute' any boosts down to subQuery,
because an arbitrary function will be executed on that score that might not
adhere to the distributive law.
So if someone has a BooleanQuery(CustomScoreQuery(TermQuery)))^5, but their
CustomScoreProvider scores with log(subQueryScore) + valSrcScore, they might
wonder what happened to their boost of 5 on the outer booleanquery.
This is more of a corner case, but i think it simplifies the thing so it acts
more like ConstantScoreQuery.
> CustomScoreQuery has broken boosting
> ------------------------------------
>
> Key: LUCENE-4935
> URL: https://issues.apache.org/jira/browse/LUCENE-4935
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/query/scoring
> Reporter: Robert Muir
> Attachments: LUCENE-4935.patch, LUCENE-4935.patch
>
>
> CustomScoreQuery wrongly applies boost^2 instead of boost.
> It wrongly incorporates its boost into the normalization factor passed down
> to subquery (like booleanquery does) and *also* multiplies it directly in its
> scorer.
> The only reason the test passes today is because it compares raw score
> magnitudes when querynorm is on, which normalizes this away.
> Changing the test to use newSearcher() demonstrates the brokenness.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]