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");

Reply via email to