You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Mikhail Khludnev <mk...@apache.org> on 2019/02/14 09:12:21 UTC

Re: Multiplicative Boosts broken since 7.3 (LUCENE-8099)

Here's the fix proposal is attached
https://issues.apache.org/jira/browse/SOLR-13126 appreciate reviews and
opinions.
I can push it quite soon if there's no veto.

On Wed, Feb 13, 2019 at 9:59 PM Burgmans, Tom <
Tom.Burgmans@wolterskluwer.com> wrote:

> I like to bump this issue up, since this is a showstopper for us to
> upgrade from Solr 6. In https://issues.apache.org/jira/browse/SOLR-13126
> I described a couple of more use cases in which this bug appears. We see
> different scores in the EXPLAIN compared to the actual scores and our
> analysis is that the EXPLAIN in fact is correct. It happens when a
> multiplicative boost is used (via the "boost" parameter) in combination
> with some function queries, like "query" and "field".
>
> One example (tested on Solr 7.5.0), when running:
>
> http://localhost:8983/solr/test/select?defType=edismax&fl=id,score,[explain
> style=text]&q=*:*&boost=sum(field(price),4)
>
> then the expectation is that a document that doesn't have the price field
> gets a score of 4. The result however is:
>
> {
>     "id": "docid123576",
>     "score": 1.0,
>     "[explain]": "4.0 = product of:\n  1.0 = boost\n  4.0 = product of:\n
>   1.0 = *:*\n    4.0 = sum(float(price)=0.0,const(4))\n"
> }
>
> EXPLAIN and score are not consistent.
>
> Best regards Tom
>
>
> -----Original Message-----
> From: Tobias Ibounig [mailto:t.ibounig@netconomy.net]
> Sent: dinsdag 22 januari 2019 10:14
> To: solr-user@lucene.apache.org
> Subject: Multiplicative Boosts broken since 7.3 (LUCENE-8099)
>
> Hello,
>
> As described in
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FSOLR-13126&amp;data=02%7C01%7Ctom.burgmans%40wolterskluwer.com%7C82b7f7923bd74285295e08d68049f3da%7C8ac76c91e7f141ffa89c3553b2da2c17%7C0%7C0%7C636837452448856240&amp;sdata=paFEStnQwxcKQQ9mM1MfPXQm%2BrStTaqQnYFH2LolVl8%3D&amp;reserved=0
> multiplicative boots (in certain conditions) seem to be broken since 7.3.
> The error seems to be introduced in
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FLUCENE-8099&amp;data=02%7C01%7Ctom.burgmans%40wolterskluwer.com%7C82b7f7923bd74285295e08d68049f3da%7C8ac76c91e7f141ffa89c3553b2da2c17%7C0%7C0%7C636837452448856240&amp;sdata=Gs1EzQ%2FCSO8ryZJv0EGx2etxmDA7HkW8Crj5H6mE%2FvE%3D&amp;reserved=0.
> Reverting the SOLR parts to the now deprecated BoostingQuery again fixes
> the issue.
> The filed issue contains a test case and a patch with the revert (for
> testing purposes, not really a clean fix).
> We sadly couldn't find the actual issue, which seems to lie with the use
> of "FunctionScoreQuery" for boosting.
>
> We were able to patch our 7.5 installation with the patch. As others might
> be affected as well, we hope this can be helpful in resolving this bug.
>
> To all SOLR/Lucene developers, thank you for your work. Looking trough the
> code base gave me a new appreciation of your work.
>
> Best Regards,
> Tobias
>
> PS: This issue was already posted by a colleague, "Inconsistent debugQuery
> score with multiplicative boost", but I wanted to create a new post with a
> clearer title.
>
>

-- 
Sincerely yours
Mikhail Khludnev