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