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 d4770a5c0c7 Changed rewrite method signature, added DV skip to 
FieldInfo constructor, more scorerSupplier() fixes
d4770a5c0c7 is described below

commit d4770a5c0c76fb42693815fc2d09b004b3296cad
Author: Ishan Chattopadhyaya <[email protected]>
AuthorDate: Thu Jan 16 02:38:30 2025 +0530

    Changed rewrite method signature, added DV skip to FieldInfo constructor, 
more scorerSupplier() fixes
---
 .../java/org/apache/solr/query/FilterQuery.java    |  4 +--
 .../solr/search/CollapsingQParserPlugin.java       | 14 ++-------
 .../java/org/apache/solr/search/DocSetQuery.java   | 14 ++-------
 .../solr/search/NumericHidingLeafReader.java       | 12 ++------
 .../org/apache/solr/search/TermsQParserPlugin.java | 35 +++++-----------------
 .../java/org/apache/solr/search/WrappedQuery.java  |  4 +--
 .../solr/search/join/ScoreJoinQParserPlugin.java   |  4 +--
 .../apache/solr/uninverting/UninvertingReader.java | 14 ++-------
 .../apache/solr/update/DeleteByQueryWrapper.java   | 18 ++++-------
 9 files changed, 30 insertions(+), 89 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/query/FilterQuery.java 
b/solr/core/src/java/org/apache/solr/query/FilterQuery.java
index 8af5a5a51ee..ec9601eec91 100644
--- a/solr/core/src/java/org/apache/solr/query/FilterQuery.java
+++ b/solr/core/src/java/org/apache/solr/query/FilterQuery.java
@@ -104,8 +104,8 @@ public class FilterQuery extends ExtendedQueryBase {
   }
 
   @Override
-  public Query rewrite(IndexReader reader) throws IOException {
-    Query newQ = q.rewrite(reader);
+  public Query rewrite(IndexSearcher searcher) throws IOException {
+    Query newQ = q.rewrite(searcher);
     if (!newQ.equals(q)) {
       return new FilterQuery(newQ);
     } else {
diff --git 
a/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java 
b/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
index 67a8a3ea1fa..05b50bba2a4 100644
--- a/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
@@ -36,18 +36,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.lucene.codecs.DocValuesProducer;
-import org.apache.lucene.index.DocValues;
-import org.apache.lucene.index.DocValuesType;
-import org.apache.lucene.index.EmptyDocValuesProducer;
-import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.FieldInfos;
-import org.apache.lucene.index.FilterLeafReader;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.MultiDocValues;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.OrdinalMap;
-import org.apache.lucene.index.SortedDocValues;
+import org.apache.lucene.index.*;
 import org.apache.lucene.queries.function.FunctionQuery;
 import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;
@@ -527,6 +516,7 @@ public class CollapsingQParserPlugin extends QParserPlugin {
                   fieldInfo.hasPayloads(),
                   fieldInfo.getIndexOptions(),
                   DocValuesType.NONE,
+                  DocValuesSkipIndexType.NONE,
                   fieldInfo.getDocValuesGen(),
                   fieldInfo.attributes(),
                   fieldInfo.getPointDimensionCount(),
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 d4122b211f0..623b2fc01a0 100644
--- a/solr/core/src/java/org/apache/solr/search/DocSetQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/DocSetQuery.java
@@ -19,15 +19,7 @@ package org.apache.solr.search;
 import java.io.IOException;
 import java.util.Objects;
 import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.search.ConstantScoreScorer;
-import org.apache.lucene.search.ConstantScoreWeight;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.QueryVisitor;
-import org.apache.lucene.search.ScoreMode;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Weight;
+import org.apache.lucene.search.*;
 
 /**
  * A Query based on a {@link DocSet}. The un-boosted score is always 1.
@@ -80,12 +72,12 @@ class DocSetQuery extends Query implements DocSetProducer {
       throws IOException {
     return new ConstantScoreWeight(this, boost) {
       @Override
-      public Scorer scorer(LeafReaderContext context) {
+      public ScorerSupplier scorerSupplier(LeafReaderContext context) {
         DocIdSetIterator disi = docSet.iterator(context);
         if (disi == null) {
           return null;
         }
-        return new ConstantScoreScorer(this, score(), scoreMode, disi);
+        return new DefaultScorerSupplier(new ConstantScoreScorer(score(), 
scoreMode, disi));
       }
 
       @Override
diff --git 
a/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java 
b/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java
index d0a72915fa3..82fd8ca2fda 100644
--- a/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java
+++ b/solr/core/src/java/org/apache/solr/search/NumericHidingLeafReader.java
@@ -19,15 +19,8 @@ package org.apache.solr.search;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
-import org.apache.lucene.index.BinaryDocValues;
-import org.apache.lucene.index.DocValuesType;
-import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.FieldInfos;
-import org.apache.lucene.index.FilterLeafReader;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.SortedDocValues;
-import org.apache.lucene.index.SortedSetDocValues;
+
+import org.apache.lucene.index.*;
 import org.apache.solr.uninverting.UninvertingReader;
 
 /**
@@ -68,6 +61,7 @@ public class NumericHidingLeafReader extends FilterLeafReader 
{
                 fi.hasPayloads(),
                 fi.getIndexOptions(),
                 DocValuesType.NONE,
+                DocValuesSkipIndexType.NONE,
                 -1,
                 Collections.emptyMap(),
                 fi.getPointDimensionCount(),
diff --git a/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java 
b/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
index 78297666f27..61ea5187179 100644
--- a/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
@@ -27,26 +27,8 @@ import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.PrefixCodedTerms;
 import org.apache.lucene.index.SortedSetDocValues;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.search.AutomatonQuery;
-import org.apache.lucene.search.BooleanClause;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.ConstantScoreScorer;
-import org.apache.lucene.search.ConstantScoreWeight;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.MatchNoDocsQuery;
-import org.apache.lucene.search.MultiTermQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreMode;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.TermInSetQuery;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TwoPhaseIterator;
-import org.apache.lucene.search.Weight;
-import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.BytesRefBuilder;
-import org.apache.lucene.util.LongBitSet;
+import org.apache.lucene.search.*;
+import org.apache.lucene.util.*;
 import org.apache.lucene.util.automaton.Automata;
 import org.apache.lucene.util.automaton.Automaton;
 import org.apache.solr.common.SolrException;
@@ -82,7 +64,7 @@ public class TermsQParserPlugin extends QParserPlugin {
     termsFilter {
       @Override
       Query makeFilter(String fname, BytesRef[] bytesRefs) {
-        return new TermInSetQuery(fname, bytesRefs); // constant scores
+        return new TermInSetQuery(fname, Arrays.asList(bytesRefs)); // 
constant scores
       }
     },
     booleanQuery {
@@ -198,7 +180,7 @@ public class TermsQParserPlugin extends QParserPlugin {
     private boolean matchesAtLeastOneTerm = false;
 
     public TopLevelDocValuesTermsQuery(String field, BytesRef... terms) {
-      super(MultiTermQuery.DOC_VALUES_REWRITE, field, terms);
+      super(MultiTermQuery.DOC_VALUES_REWRITE, field, Arrays.asList(terms));
       this.fieldName = field;
     }
 
@@ -215,7 +197,7 @@ public class TermsQParserPlugin extends QParserPlugin {
       topLevelDocValues =
           DocValues.getSortedSet(((SolrIndexSearcher) 
searcher).getSlowAtomicReader(), fieldName);
       topLevelTermOrdinals = new LongBitSet(topLevelDocValues.getValueCount());
-      PrefixCodedTerms.TermIterator iterator = getTermData().iterator();
+      BytesRefIterator iterator = getBytesRefIterator();
 
       long lastTermOrdFound = 0;
       for (BytesRef term = iterator.next(); term != null; term = 
iterator.next()) {
@@ -229,7 +211,7 @@ public class TermsQParserPlugin extends QParserPlugin {
 
       return new ConstantScoreWeight(this, boost) {
         @Override
-        public Scorer scorer(LeafReaderContext context) throws IOException {
+        public ScorerSupplier scorerSupplier(LeafReaderContext context) throws 
IOException {
           if (!matchesAtLeastOneTerm) {
             return null;
           }
@@ -240,8 +222,7 @@ public class TermsQParserPlugin extends QParserPlugin {
           }
 
           final int docBase = context.docBase;
-          return new ConstantScoreScorer(
-              this,
+          return new DefaultScorerSupplier(new ConstantScoreScorer(
               this.score(),
               scoreMode,
               new TwoPhaseIterator(segmentDocValues) {
@@ -263,7 +244,7 @@ public class TermsQParserPlugin extends QParserPlugin {
                 public float matchCost() {
                   return 10.0F;
                 }
-              });
+              }));
         }
 
         @Override
diff --git a/solr/core/src/java/org/apache/solr/search/WrappedQuery.java 
b/solr/core/src/java/org/apache/solr/search/WrappedQuery.java
index 812fec3c36b..58c1f420dc5 100644
--- a/solr/core/src/java/org/apache/solr/search/WrappedQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/WrappedQuery.java
@@ -47,9 +47,9 @@ public final class WrappedQuery extends ExtendedQueryBase {
   }
 
   @Override
-  public Query rewrite(IndexReader reader) throws IOException {
+  public Query rewrite(IndexSearcher searcher) throws IOException {
     // currently no need to continue wrapping at this point.
-    return q.rewrite(reader);
+    return q.rewrite(searcher);
   }
 
   @Override
diff --git 
a/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java 
b/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
index d61903440af..b8f3de40f23 100644
--- a/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
@@ -138,7 +138,7 @@ public class ScoreJoinQParserPlugin extends QParserPlugin {
         fromCore.close();
         fromHolder.decref();
       }
-      return 
joinQuery.rewrite(searcher.getIndexReader()).createWeight(searcher, scoreMode, 
boost);
+      return joinQuery.rewrite(searcher).createWeight(searcher, scoreMode, 
boost);
     }
 
     @Override
@@ -192,7 +192,7 @@ public class ScoreJoinQParserPlugin extends QParserPlugin {
       final Query jq =
           JoinUtil.createJoinQuery(
               fromField, true, toField, fromQuery, 
info.getReq().getSearcher(), this.scoreMode);
-      return jq.rewrite(searcher.getIndexReader()).createWeight(searcher, 
scoreMode, boost);
+      return jq.rewrite(searcher).createWeight(searcher, scoreMode, boost);
     }
 
     @Override
diff --git 
a/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java 
b/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java
index 55eb904cea0..972d6b16044 100644
--- a/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java
+++ b/solr/core/src/java/org/apache/solr/uninverting/UninvertingReader.java
@@ -25,18 +25,7 @@ import org.apache.lucene.document.NumericDocValuesField;
 import org.apache.lucene.document.SortedDocValuesField;
 import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.document.StringField;
-import org.apache.lucene.index.BinaryDocValues;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.DocValuesType;
-import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.FieldInfos;
-import org.apache.lucene.index.FilterDirectoryReader;
-import org.apache.lucene.index.FilterLeafReader;
-import org.apache.lucene.index.IndexOptions;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.SortedDocValues;
-import org.apache.lucene.index.SortedSetDocValues;
+import org.apache.lucene.index.*;
 import org.apache.lucene.util.RamUsageEstimator;
 import org.apache.solr.uninverting.FieldCache.CacheEntry;
 
@@ -290,6 +279,7 @@ public class UninvertingReader extends FilterLeafReader {
                 fi.hasPayloads(),
                 fi.getIndexOptions(),
                 type,
+                DocValuesSkipIndexType.NONE,
                 fi.getDocValuesGen(),
                 fi.attributes(),
                 fi.getPointDimensionCount(),
diff --git 
a/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java 
b/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
index ce6489f9083..fdefdfe0af6 100644
--- a/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
+++ b/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
@@ -21,13 +21,7 @@ import java.util.Objects;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.QueryVisitor;
-import org.apache.lucene.search.ScoreMode;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Weight;
+import org.apache.lucene.search.*;
 import org.apache.solr.schema.IndexSchema;
 import org.apache.solr.uninverting.UninvertingReader;
 
@@ -54,12 +48,12 @@ final class DeleteByQueryWrapper extends Query {
   // we try to be well-behaved, but we are not (and IW's applyQueryDeletes 
isn't much better...)
 
   @Override
-  public Query rewrite(IndexReader reader) throws IOException {
-    Query rewritten = in.rewrite(reader);
+  public Query rewrite(IndexSearcher searcher) throws IOException {
+    Query rewritten = in.rewrite(searcher);
     if (!rewritten.equals(in)) {
       return new DeleteByQueryWrapper(rewritten, schema);
     } else {
-      return super.rewrite(reader);
+      return super.rewrite(searcher);
     }
   }
 
@@ -77,8 +71,8 @@ final class DeleteByQueryWrapper extends Query {
       }
 
       @Override
-      public Scorer scorer(LeafReaderContext context) throws IOException {
-        return inner.scorer(privateContext.getIndexReader().leaves().get(0));
+      public ScorerSupplier scorerSupplier(LeafReaderContext context) throws 
IOException {
+        return new 
DefaultScorerSupplier(inner.scorer(privateContext.getIndexReader().leaves().get(0)));
       }
 
       @Override

Reply via email to