This is an automated email from the ASF dual-hosted git repository.
ishan pushed a commit to branch ishan/upgrade-to-lucene-10
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/ishan/upgrade-to-lucene-10 by
this push:
new d94b22fd384 Deal with removal of TopFieldCollector.create()
d94b22fd384 is described below
commit d94b22fd384a0d78fb2a6526d3f4605fb8e6379b
Author: Ishan Chattopadhyaya <[email protected]>
AuthorDate: Thu Jan 16 03:40:32 2025 +0530
Deal with removal of TopFieldCollector.create()
---
.../solr/handler/component/ExpandComponent.java | 2 +-
.../src/java/org/apache/solr/search/Grouping.java | 20 ++++----------------
.../java/org/apache/solr/search/ReRankCollector.java | 2 +-
.../grouping/distributed/command/QueryCommand.java | 2 +-
.../test/org/apache/solr/BasicFunctionalityTest.java | 6 +++---
5 files changed, 10 insertions(+), 22 deletions(-)
diff --git
a/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
b/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
index 34e5e6f5087..8934e3ce46c 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
@@ -810,7 +810,7 @@ public class ExpandComponent extends SearchComponent
implements PluginInfoInitia
} else if (sort == null) {
collector = new TopScoreDocCollectorManager(limit,
Integer.MAX_VALUE).newCollector();
} else {
- collector = TopFieldCollector.create(sort, limit, Integer.MAX_VALUE);
+ collector = new TopFieldCollectorManager(sort, limit,
Integer.MAX_VALUE).newCollector();
}
return collector;
}
diff --git a/solr/core/src/java/org/apache/solr/search/Grouping.java
b/solr/core/src/java/org/apache/solr/search/Grouping.java
index f610ab04bb2..c925fc15b38 100644
--- a/solr/core/src/java/org/apache/solr/search/Grouping.java
+++ b/solr/core/src/java/org/apache/solr/search/Grouping.java
@@ -31,20 +31,8 @@ import org.apache.lucene.index.IndexableField;
import org.apache.lucene.queries.function.FunctionQuery;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.queries.function.valuesource.QueryValueSource;
-import org.apache.lucene.search.CachingCollector;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.MatchNoDocsQuery;
-import org.apache.lucene.search.MultiCollector;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.Sort;
+import org.apache.lucene.search.*;
import org.apache.lucene.search.TimeLimitingCollector;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.TopDocsCollector;
-import org.apache.lucene.search.TopFieldCollector;
-import org.apache.lucene.search.TopScoreDocCollector;
-import org.apache.lucene.search.TotalHitCountCollector;
-import org.apache.lucene.search.TotalHits;
import org.apache.lucene.search.grouping.AllGroupHeadsCollector;
import org.apache.lucene.search.grouping.AllGroupsCollector;
import org.apache.lucene.search.grouping.FirstPassGroupingCollector;
@@ -905,11 +893,11 @@ public class Grouping {
Collector subCollector;
if (withinGroupSort == null || withinGroupSort.equals(Sort.RELEVANCE)) {
subCollector =
- topCollector = TopScoreDocCollector.create(groupDocsToCollect,
Integer.MAX_VALUE);
+ topCollector = new TopScoreDocCollectorManager(groupDocsToCollect,
Integer.MAX_VALUE).newCollector();
} else {
topCollector =
- TopFieldCollector.create(
- searcher.weightSort(withinGroupSort), groupDocsToCollect,
Integer.MAX_VALUE);
+ new TopFieldCollectorManager(
+ searcher.weightSort(withinGroupSort), groupDocsToCollect,
Integer.MAX_VALUE).newCollector();
if (needScores) {
maxScoreCollector = new MaxScoreCollector();
subCollector = MultiCollector.wrap(topCollector, maxScoreCollector);
diff --git a/solr/core/src/java/org/apache/solr/search/ReRankCollector.java
b/solr/core/src/java/org/apache/solr/search/ReRankCollector.java
index cc37a9e08e9..9f38ba69819 100644
--- a/solr/core/src/java/org/apache/solr/search/ReRankCollector.java
+++ b/solr/core/src/java/org/apache/solr/search/ReRankCollector.java
@@ -81,7 +81,7 @@ public class ReRankCollector extends
TopDocsCollector<ScoreDoc> {
this.sort = sort = sort.rewrite(searcher);
// scores are needed for Rescorer (regardless of whether sort needs it)
this.mainCollector =
- TopFieldCollector.create(sort, Math.max(this.reRankDocs, length),
cmd.getMinExactCount());
+ new TopFieldCollectorManager(sort, Math.max(this.reRankDocs,
length), cmd.getMinExactCount()).newCollector();
}
this.searcher = searcher;
this.reRankQueryRescorer = reRankQueryRescorer;
diff --git
a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java
b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java
index 42ea22bdce4..4c4cf4a8a8d 100644
---
a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java
+++
b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/QueryCommand.java
@@ -161,7 +161,7 @@ public class QueryCommand implements
Command<QueryCommandResult> {
subCollector =
topDocsCollector = new TopScoreDocCollectorManager(docsToCollect,
Integer.MAX_VALUE).newCollector();
} else {
- topDocsCollector = TopFieldCollector.create(sort, docsToCollect,
Integer.MAX_VALUE);
+ topDocsCollector = new TopFieldCollectorManager(sort, docsToCollect,
Integer.MAX_VALUE).newCollector();
if (needScores) {
maxScoreCollector = new MaxScoreCollector();
subCollector = MultiCollector.wrap(topDocsCollector,
maxScoreCollector);
diff --git a/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
b/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
index c873b8979f8..16ed413bcfc 100644
--- a/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
+++ b/solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java
@@ -763,7 +763,7 @@ public class BasicFunctionalityTest extends SolrTestCaseJ4 {
core.execute(core.getRequestHandler(req.getParams().get(CommonParams.QT)),
req, rsp);
DocList dl = ((ResultContext) rsp.getResponse()).getDocList();
- Document d = req.getSearcher().doc(dl.iterator().nextDoc());
+ Document d =
req.getSearcher().storedFields().document(dl.iterator().nextDoc());
// ensure field in fl is not lazy
assertNotEquals("LazyField", ((Field)
d.getField("test_hlt")).getClass().getSimpleName());
assertNotEquals("LazyField", ((Field)
d.getField("title")).getClass().getSimpleName());
@@ -791,7 +791,7 @@ public class BasicFunctionalityTest extends SolrTestCaseJ4 {
DocList dl = ((ResultContext) rsp.getResponse()).getDocList();
DocIterator di = dl.iterator();
- Document d1 = req.getSearcher().doc(di.nextDoc());
+ Document d1 = req.getSearcher().storedFields().document(di.nextDoc());
IndexableField[] values1 = null;
// ensure fl field is non lazy, and non-fl field is lazy
@@ -813,7 +813,7 @@ public class BasicFunctionalityTest extends SolrTestCaseJ4 {
dl = ((ResultContext) rsp.getResponse()).getDocList();
di = dl.iterator();
- Document d2 = req.getSearcher().doc(di.nextDoc());
+ Document d2 = req.getSearcher().storedFields().document(di.nextDoc());
// ensure same doc, same lazy field now
assertSame("Doc was not cached", d1, d2);
IndexableField[] values2 = d2.getFields("test_hlt");