This is an automated email from the ASF dual-hosted git repository.
mdrob pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new 34f7f24 Implement check for null scorer in DocSetQuery to simplify
TestFilteredDocIdSet.testNullDocIdSet (#658)
34f7f24 is described below
commit 34f7f2422f666f74fc17c31e8c4d32b7bbf0e9f3
Author: Collins Abanda <[email protected]>
AuthorDate: Mon Feb 28 10:04:24 2022 -0600
Implement check for null scorer in DocSetQuery to simplify
TestFilteredDocIdSet.testNullDocIdSet (#658)
---
.../java/org/apache/solr/search/DocSetQuery.java | 4 +-
.../apache/solr/search/TestFilteredDocIdSet.java | 49 +++-------------------
2 files changed, 7 insertions(+), 46 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/search/DocSetQuery.java
b/solr/core/src/java/org/apache/solr/search/DocSetQuery.java
index d5086bd..8b1d8d4 100644
--- a/solr/core/src/java/org/apache/solr/search/DocSetQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/DocSetQuery.java
@@ -40,7 +40,7 @@ class DocSetQuery extends Query implements DocSetProducer{
private final DocSet docSet;
DocSetQuery(DocSet docSet) {
- this.docSet = docSet;
+ this.docSet = Objects.requireNonNull(docSet);
}
@Override
@@ -64,7 +64,7 @@ class DocSetQuery extends Query implements DocSetProducer{
@Override
public int hashCode() {
- return classHash() * 31 + (docSet != null ? docSet.hashCode() : 0);
+ return classHash() * 31 + docSet.hashCode();
}
/**
diff --git
a/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java
b/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java
index ceac7ee..068d603 100644
--- a/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java
+++ b/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java
@@ -131,46 +131,7 @@ public class TestFilteredDocIdSet extends SolrTestCase {
Assert.assertEquals(1, searcher.search(new MatchAllDocsQuery(),
10).totalHits.value);
// Now search w/ a Query which returns a null Scorer
- DocSetQuery f = new DocSetQuery(null) {
- @Override
- public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode,
float boost) {
- return new Weight(this) {
-
- @Override
- public Explanation explain(LeafReaderContext context, int doc) {
- return Explanation.match(0f, "No match on id " + doc);
- }
-
- @Override
- public Scorer scorer(LeafReaderContext leafReaderContext) {
- return null;
- }
-
- @Override
- public boolean isCacheable(LeafReaderContext ctx) {
- return false;
- }
- };
- }
-
- @Override
- public String toString(String s) {
- return "nullDocIdSetFilter";
- }
-
- @Override
- public void visit(QueryVisitor queryVisitor) {}
-
- @Override
- public boolean equals(Object o) {
- return o == this;
- }
-
- @Override
- public int hashCode() {
- return System.identityHashCode(this);
- }
- };
+ DocSetQuery f = new DocSetQuery(DocSet.empty());
Query filtered = new BooleanQuery.Builder()
.add(new MatchAllDocsQuery(), Occur.MUST)
@@ -189,11 +150,11 @@ public class TestFilteredDocIdSet extends SolrTestCase {
writer.addDocument(doc);
IndexReader reader = writer.getReader();
writer.close();
-
+
// First verify the document is searchable.
IndexSearcher searcher = newSearcher(reader);
Assert.assertEquals(1, searcher.search(new MatchAllDocsQuery(),
10).totalHits.value);
-
+
// Now search w/ a Query which returns a null Scorer
Query f = new Query() {
@Override
@@ -229,13 +190,13 @@ public class TestFilteredDocIdSet extends SolrTestCase {
public boolean equals(Object other) {
return other == this;
}
-
+
@Override
public int hashCode() {
return System.identityHashCode(this);
}
};
-
+
Query filtered = new BooleanQuery.Builder()
.add(new MatchAllDocsQuery(), Occur.MUST)
.add(f, Occur.FILTER)