Skip to content

Commit

Permalink
Fix AbstractStringFieldDataTestCase tests to account for TotalHits lo…
Browse files Browse the repository at this point in the history
…wer bound (#4270)

Fixes tests to account for TotalHits uncertainty as of Lucene 9.

Signed-off-by: Daniel Widdis <widdis@gmail.com>
(cherry picked from commit 4643620)
  • Loading branch information
dbwiddis authored and github-actions[bot] committed Oct 21, 2022
1 parent 4e0d0be commit b64ceaf
Showing 1 changed file with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopFieldDocs;
import org.apache.lucene.search.TotalHits;
import org.apache.lucene.search.join.QueryBitSetProducer;
import org.apache.lucene.search.join.ScoreMode;
import org.apache.lucene.search.join.ToParentBlockJoinQuery;
Expand Down Expand Up @@ -340,7 +341,13 @@ public void testSortMissing(boolean first, boolean reverse) throws IOException {
randomBoolean() ? numDocs : randomIntBetween(10, numDocs),
new Sort(sortField)
);
assertEquals(numDocs, topDocs.totalHits.value);
// As of Lucene 9.0.0, totalHits may be a lower bound
if (topDocs.totalHits.relation == TotalHits.Relation.EQUAL_TO) {
assertEquals(numDocs, topDocs.totalHits.value);
} else {
assertTrue(1000 <= topDocs.totalHits.value);
assertTrue(numDocs >= topDocs.totalHits.value);
}
BytesRef previousValue = first ? null : reverse ? UnicodeUtil.BIG_TERM : new BytesRef();
for (int i = 0; i < topDocs.scoreDocs.length; ++i) {
final String docValue = searcher.doc(topDocs.scoreDocs[i].doc).get("value");
Expand Down

0 comments on commit b64ceaf

Please sign in to comment.