On 04.01.19, 09:11, "Thomas Aglassinger" <t.aglassin...@netconomy.net> wrote:
> When debugging a query using multiplicative boost based on the product() > function I noticed that the score computed in the explain section is correct > while the score in the actual result is wrong. We digged into this further and seem to have found the culprit. The last working version is Solr 7.2.1. Using git bisect we found out that the issue got introduced with LUCENE-8099 (a refactoring). There's two changes that break the scoring in different ways: LUCENE-8099: Deprecate CustomScoreQuery, BoostedQuery, BoostingQuery LUCENE-8099: Replace BoostQParserPlugin.boostQuery() with FunctionScoreQuery.boostByValue() Reverting parts of these changes to the previous version based on a deprecated class (which LUCENE-8099 clean up) seems to fix the issue. We created a Solr issue to document our current findings and changes: https://issues.apache.org/jira/browse/SOLR-13126 It contains a patch for our experimental fix (which currently is in a rough state) and a test case that can reproduce the issue starting with Solr 7.3 up to the current master. A proper fix of course would not revert to deprecated classes again but fix whatever went wrong during LUCENE-8099. Hopefully someone with a deeper understand of the mechanics behind can take a look into this. Best regards, Thomas.