Revert "LUCENE-8996: maxScore was sometimes missing from distributed grouped responses."

This reverts commit 5289fce4bf.
This commit is contained in:
Christine Poerschke 2019-10-23 18:13:18 +01:00
parent 5289fce4bf
commit 3a3df47840
3 changed files with 6 additions and 18 deletions

View File

@ -227,9 +227,6 @@ Bug Fixes
subclauses, and then pull SHOULD, MUST_NOT and FILTER visitors from it rather than from
the parent. (Alan Woodward)
* LUCENE-8996: maxScore was sometimes missing from distributed grouped responses.
(Julien Massenet, Diego Ceccarelli, Christine Poerschke)
Other
* LUCENE-8778 LUCENE-8911 LUCENE-8957: Define analyzer SPI names as static final fields and document the names in Javadocs.

View File

@ -80,19 +80,6 @@ public class TopGroups<T> {
Avg,
}
/**
* If either value is NaN then return the other value, otherwise
* return the greater of the two values by calling Math.max.
* @param a - one value
* @param b - another value
* @return ignoring any NaN return the greater of a and b
*/
private static float nonNANmax(float a, float b) {
if (Float.isNaN(a)) return b;
if (Float.isNaN(b)) return a;
return Math.max(a, b);
}
/** Merges an array of TopGroups, for example obtained
* from the second-pass collector across multiple
* shards. Each TopGroups must have been sorted by the
@ -187,7 +174,7 @@ public class TopGroups<T> {
shardTopDocs[shardIDX].scoreDocs[i].shardIndex = shardIDX;
}
maxScore = nonNANmax(maxScore, shardGroupDocs.maxScore);
maxScore = Math.max(maxScore, shardGroupDocs.maxScore);
assert shardGroupDocs.totalHits.relation == Relation.EQUAL_TO;
totalHits += shardGroupDocs.totalHits.value;
scoreSum += shardGroupDocs.score;
@ -241,7 +228,7 @@ public class TopGroups<T> {
mergedScoreDocs,
groupValue,
shardGroups[0].groups[groupIDX].groupSortValues);
totalMaxScore = nonNANmax(totalMaxScore, maxScore);
totalMaxScore = Math.max(totalMaxScore, maxScore);
}
if (totalGroupCount != null) {

View File

@ -21,12 +21,16 @@ import org.apache.lucene.search.Sort;
import org.apache.lucene.search.TotalHits;
import org.apache.lucene.util.LuceneTestCase;
import org.junit.Ignore;
public class TopGroupsTest extends LuceneTestCase {
@Ignore // https://issues.apache.org/jira/browse/LUCENE-8996
public void testAllGroupsEmptyInSecondPass() {
narrativeMergeTestImplementation(false, false, false, false);
}
@Ignore // https://issues.apache.org/jira/browse/LUCENE-8996
public void testSomeGroupsEmptyInSecondPass() {
narrativeMergeTestImplementation(false, false, false, true);
narrativeMergeTestImplementation(false, false, true, false);