We recently upgraded our Elasticsearch cluster from 5.3 to 5.4 and found a bug when we score nested documents.
I spent some time to check the code from Elasticsearch and Lucene and I found a problem in ToParentBlockJoinQuery.BlockJoinScorer.setScoreAndFreq.
In the switch statement for the scoreMode in the case "Max" the function Math.min is used and I guess it should be Math.max.
This would explain our problem in Elasticsearch because we see exactly the problem that instead of the maximum the minimum is returned.
Migrated from LUCENE-7833 by Bernhard Altendorfer (@baltendo), resolved May 19 2017
Attachments: LUCENE-7833.patch
Linked issues:
We recently upgraded our Elasticsearch cluster from 5.3 to 5.4 and found a bug when we score nested documents.
I spent some time to check the code from Elasticsearch and Lucene and I found a problem in ToParentBlockJoinQuery.BlockJoinScorer.setScoreAndFreq.
In the switch statement for the scoreMode in the case "Max" the function Math.min is used and I guess it should be Math.max.
This would explain our problem in Elasticsearch because we see exactly the problem that instead of the maximum the minimum is returned.
Migrated from LUCENE-7833 by Bernhard Altendorfer (@baltendo), resolved May 19 2017
Attachments: LUCENE-7833.patch
Linked issues: