You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ge...@apache.org on 2024/01/30 14:17:33 UTC

(solr) branch branch_9_5 updated: SOLR-17097: Upgrade Solr to use Lucene 9.9.2 (#2176)

This is an automated email from the ASF dual-hosted git repository.

gerlowskija pushed a commit to branch branch_9_5
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_9_5 by this push:
     new 2eed968d74b SOLR-17097: Upgrade Solr to use Lucene 9.9.2 (#2176)
2eed968d74b is described below

commit 2eed968d74bff7d896c51f710160b8c8713a341f
Author: Nazerke Seidan <se...@gmail.com>
AuthorDate: Tue Jan 30 19:57:43 2024 +0600

    SOLR-17097: Upgrade Solr to use Lucene 9.9.2 (#2176)
    
    
    Co-authored-by: Nazerke Seidan <ns...@Nazerkes-MacBook-Pro.local>
    Co-authored-by: Christine Poerschke <cp...@apache.org>
---
 solr/CHANGES.txt                                   |  2 +
 .../org/apache/solr/core/SchemaCodecFactory.java   | 10 ++--
 .../solr/handler/component/QueryComponent.java     |  8 +++-
 .../handler/component/QueryElevationComponent.java |  3 +-
 .../component/ShardFieldSortedHitQueue.java        |  5 +-
 .../solr/index/SlowCompositeReaderWrapper.java     | 12 +++--
 .../org/apache/solr/schema/DenseVectorField.java   |  4 +-
 .../solr/schema/LatLonPointSpatialField.java       |  3 +-
 .../org/apache/solr/schema/RandomSortField.java    |  3 +-
 .../solr/search/CollapsingQParserPlugin.java       |  9 +++-
 .../search/join/ChildFieldValueSourceParser.java   |  5 +-
 .../solr/collection1/conf/schema_codec.xml         |  2 +-
 .../org/apache/solr/core/TestCodecSupport.java     |  2 +-
 .../apache/solr/search/RankQueryTestPlugin.java    |  3 +-
 .../test/org/apache/solr/search/TestDocSet.java    |  2 +-
 .../apache/solr/search/TestSolrQueryParser.java    | 11 ++++-
 .../licenses/lucene-analysis-common-9.8.0.jar.sha1 |  1 -
 .../licenses/lucene-analysis-common-9.9.2.jar.sha1 |  1 +
 solr/licenses/lucene-analysis-icu-9.8.0.jar.sha1   |  1 -
 solr/licenses/lucene-analysis-icu-9.9.2.jar.sha1   |  1 +
 .../lucene-analysis-kuromoji-9.8.0.jar.sha1        |  1 -
 .../lucene-analysis-kuromoji-9.9.2.jar.sha1        |  1 +
 .../lucene-analysis-morfologik-9.8.0.jar.sha1      |  1 -
 .../lucene-analysis-morfologik-9.9.2.jar.sha1      |  1 +
 solr/licenses/lucene-analysis-nori-9.8.0.jar.sha1  |  1 -
 solr/licenses/lucene-analysis-nori-9.9.2.jar.sha1  |  1 +
 .../lucene-analysis-opennlp-9.8.0.jar.sha1         |  1 -
 .../lucene-analysis-opennlp-9.9.2.jar.sha1         |  1 +
 .../lucene-analysis-phonetic-9.8.0.jar.sha1        |  1 -
 .../lucene-analysis-phonetic-9.9.2.jar.sha1        |  1 +
 .../lucene-analysis-smartcn-9.8.0.jar.sha1         |  1 -
 .../lucene-analysis-smartcn-9.9.2.jar.sha1         |  1 +
 .../lucene-analysis-stempel-9.8.0.jar.sha1         |  1 -
 .../lucene-analysis-stempel-9.9.2.jar.sha1         |  1 +
 .../licenses/lucene-backward-codecs-9.8.0.jar.sha1 |  1 -
 .../licenses/lucene-backward-codecs-9.9.2.jar.sha1 |  1 +
 solr/licenses/lucene-classification-9.8.0.jar.sha1 |  1 -
 solr/licenses/lucene-classification-9.9.2.jar.sha1 |  1 +
 solr/licenses/lucene-codecs-9.8.0.jar.sha1         |  1 -
 solr/licenses/lucene-codecs-9.9.2.jar.sha1         |  1 +
 solr/licenses/lucene-core-9.8.0.jar.sha1           |  1 -
 solr/licenses/lucene-core-9.9.2.jar.sha1           |  1 +
 solr/licenses/lucene-expressions-9.8.0.jar.sha1    |  1 -
 solr/licenses/lucene-expressions-9.9.2.jar.sha1    |  1 +
 solr/licenses/lucene-grouping-9.8.0.jar.sha1       |  1 -
 solr/licenses/lucene-grouping-9.9.2.jar.sha1       |  1 +
 solr/licenses/lucene-highlighter-9.8.0.jar.sha1    |  1 -
 solr/licenses/lucene-highlighter-9.9.2.jar.sha1    |  1 +
 solr/licenses/lucene-join-9.8.0.jar.sha1           |  1 -
 solr/licenses/lucene-join-9.9.2.jar.sha1           |  1 +
 solr/licenses/lucene-memory-9.8.0.jar.sha1         |  1 -
 solr/licenses/lucene-memory-9.9.2.jar.sha1         |  1 +
 solr/licenses/lucene-misc-9.8.0.jar.sha1           |  1 -
 solr/licenses/lucene-misc-9.9.2.jar.sha1           |  1 +
 solr/licenses/lucene-queries-9.8.0.jar.sha1        |  1 -
 solr/licenses/lucene-queries-9.9.2.jar.sha1        |  1 +
 solr/licenses/lucene-queryparser-9.8.0.jar.sha1    |  1 -
 solr/licenses/lucene-queryparser-9.9.2.jar.sha1    |  1 +
 solr/licenses/lucene-sandbox-9.8.0.jar.sha1        |  1 -
 solr/licenses/lucene-sandbox-9.9.2.jar.sha1        |  1 +
 solr/licenses/lucene-spatial-extras-9.8.0.jar.sha1 |  1 -
 solr/licenses/lucene-spatial-extras-9.9.2.jar.sha1 |  1 +
 solr/licenses/lucene-spatial3d-9.8.0.jar.sha1      |  1 -
 solr/licenses/lucene-spatial3d-9.9.2.jar.sha1      |  1 +
 solr/licenses/lucene-suggest-9.8.0.jar.sha1        |  1 -
 solr/licenses/lucene-suggest-9.9.2.jar.sha1        |  1 +
 solr/licenses/lucene-test-framework-9.8.0.jar.sha1 |  1 -
 solr/licenses/lucene-test-framework-9.9.2.jar.sha1 |  1 +
 .../solr/configsets/_default/conf/solrconfig.xml   |  2 +-
 .../conf/solrconfig.xml                            |  2 +-
 .../apache/solr/schema/SortableBinaryField.java    |  5 +-
 versions.lock                                      | 54 +++++++++++-----------
 versions.props                                     |  2 +-
 73 files changed, 118 insertions(+), 83 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 38643ce33a9..4c445dcac70 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -156,6 +156,8 @@ Dependency Upgrades
 
 * SOLR-17089: Upgrade Jersey to 3.1.5 (Jason Gerlowski)
 
+* SOLR-17097: Upgrade Lucene to 9.9.2 (Nazerke Seidan, Christine Poerschke, Pierre Salagnac)
+
 Other Changes
 ---------------------
 * SOLR-17024: Remove support for the long-defunct "collectionDefaults" clusterprops key (Jason Gerlowski)
diff --git a/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java b/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
index 0197a6b4b81..4fb38b860dd 100644
--- a/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
@@ -26,9 +26,9 @@ import org.apache.lucene.codecs.KnnVectorsFormat;
 import org.apache.lucene.codecs.KnnVectorsReader;
 import org.apache.lucene.codecs.KnnVectorsWriter;
 import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.lucene95.Lucene95Codec;
-import org.apache.lucene.codecs.lucene95.Lucene95Codec.Mode;
-import org.apache.lucene.codecs.lucene95.Lucene95HnswVectorsFormat;
+import org.apache.lucene.codecs.lucene99.Lucene99Codec;
+import org.apache.lucene.codecs.lucene99.Lucene99Codec.Mode;
+import org.apache.lucene.codecs.lucene99.Lucene99HnswVectorsFormat;
 import org.apache.lucene.index.SegmentReadState;
 import org.apache.lucene.index.SegmentWriteState;
 import org.apache.solr.common.SolrException;
@@ -97,7 +97,7 @@ public class SchemaCodecFactory extends CodecFactory implements SolrCoreAware {
       log.debug("Using default compressionMode: {}", compressionMode);
     }
     codec =
-        new Lucene95Codec(compressionMode) {
+        new Lucene99Codec(compressionMode) {
           @Override
           public PostingsFormat getPostingsFormatForField(String field) {
             final SchemaField schemaField = core.getLatestSchema().getFieldOrNull(field);
@@ -132,7 +132,7 @@ public class SchemaCodecFactory extends CodecFactory implements SolrCoreAware {
               if (DenseVectorField.HNSW_ALGORITHM.equals(knnAlgorithm)) {
                 int maxConn = vectorType.getHnswMaxConn();
                 int beamWidth = vectorType.getHnswBeamWidth();
-                var delegate = new Lucene95HnswVectorsFormat(maxConn, beamWidth);
+                var delegate = new Lucene99HnswVectorsFormat(maxConn, beamWidth);
                 return new SolrDelegatingKnnVectorsFormat(delegate, vectorType.getDimension());
               } else {
                 throw new SolrException(
diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
index e8457df3e08..dc74c4d8491 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
@@ -42,6 +42,7 @@ import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.FuzzyTermsEnum;
 import org.apache.lucene.search.LeafFieldComparator;
 import org.apache.lucene.search.MatchNoDocsQuery;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.Scorable;
 import org.apache.lucene.search.Sort;
@@ -497,7 +498,12 @@ public class QueryComponent extends SearchComponent {
           // :TODO: would be simpler to always serialize every position of SortField[]
           if (type == SortField.Type.SCORE || type == SortField.Type.DOC) continue;
 
-          FieldComparator<?> comparator = sortField.getComparator(1, true);
+          FieldComparator<?> comparator =
+              sortField.getComparator(
+                  1,
+                  schemaFields.size() > 1
+                      ? Pruning.GREATER_THAN
+                      : Pruning.GREATER_THAN_OR_EQUAL_TO);
           LeafFieldComparator leafComparator = null;
           Object[] vals = new Object[nDocs];
 
diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
index 8407b452f7d..c7bef72294c 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
@@ -55,6 +55,7 @@ import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.BoostQuery;
 import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.FieldComparatorSource;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SimpleFieldComparator;
 import org.apache.lucene.search.Sort;
@@ -1350,7 +1351,7 @@ public class QueryElevationComponent extends SearchComponent implements SolrCore
 
     @Override
     public FieldComparator<Integer> newComparator(
-        String fieldName, final int numHits, boolean enableSkipping, boolean reversed) {
+        String fieldName, final int numHits, Pruning pruning, boolean reversed) {
       return new SimpleFieldComparator<>() {
         final int[] values = new int[numHits];
         int bottomVal;
diff --git a/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java b/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java
index 1a8991a91ee..d06e71d7d5c 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Objects;
 import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.util.PriorityQueue;
 import org.apache.solr.common.SolrException;
@@ -156,7 +157,9 @@ public class ShardFieldSortedHitQueue extends PriorityQueue<ShardDoc> {
 
   Comparator<ShardDoc> comparatorFieldComparator(SortField sortField) {
     @SuppressWarnings({"rawtypes"})
-    final FieldComparator fieldComparator = sortField.getComparator(0, true);
+    final FieldComparator fieldComparator =
+        sortField.getComparator(
+            0, fieldNames.size() > 1 ? Pruning.GREATER_THAN : Pruning.GREATER_THAN_OR_EQUAL_TO);
     return new ShardComparator(sortField) {
       // Since the PriorityQueue keeps the biggest elements by default,
       // we need to reverse the field compare ordering so that the
diff --git a/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java b/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java
index 85084f5887b..f8fffe9bce8 100644
--- a/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java
+++ b/solr/core/src/java/org/apache/solr/index/SlowCompositeReaderWrapper.java
@@ -97,7 +97,7 @@ public final class SlowCompositeReaderWrapper extends LeafReader {
     in = reader;
     in.registerParentReader(this);
     if (reader.leaves().isEmpty()) {
-      metaData = new LeafMetaData(Version.LATEST.major, Version.LATEST, null);
+      metaData = new LeafMetaData(Version.LATEST.major, Version.LATEST, null, false);
     } else {
       Version minVersion = Version.LATEST;
       for (LeafReaderContext leafReaderContext : reader.leaves()) {
@@ -109,9 +109,13 @@ public final class SlowCompositeReaderWrapper extends LeafReader {
           minVersion = leafVersion;
         }
       }
-      int createdVersionMajor =
-          reader.leaves().get(0).reader().getMetaData().getCreatedVersionMajor();
-      metaData = new LeafMetaData(createdVersionMajor, minVersion, null);
+      LeafMetaData leafMetaData = reader.leaves().get(0).reader().getMetaData();
+      metaData =
+          new LeafMetaData(
+              leafMetaData.getCreatedVersionMajor(),
+              minVersion,
+              leafMetaData.getSort(),
+              leafMetaData.hasBlocks());
     }
     fieldInfos = FieldInfos.getMergedFieldInfos(in);
   }
diff --git a/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java b/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java
index 9581d105601..5d5994ad10c 100644
--- a/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java
+++ b/solr/core/src/java/org/apache/solr/schema/DenseVectorField.java
@@ -17,8 +17,8 @@
 package org.apache.solr.schema;
 
 import static java.util.Optional.ofNullable;
-import static org.apache.lucene.codecs.lucene95.Lucene95HnswVectorsFormat.DEFAULT_BEAM_WIDTH;
-import static org.apache.lucene.codecs.lucene95.Lucene95HnswVectorsFormat.DEFAULT_MAX_CONN;
+import static org.apache.lucene.codecs.lucene99.Lucene99HnswVectorsFormat.DEFAULT_BEAM_WIDTH;
+import static org.apache.lucene.codecs.lucene99.Lucene99HnswVectorsFormat.DEFAULT_MAX_CONN;
 
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
diff --git a/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java b/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java
index b6e3193111a..11e2d730b2f 100644
--- a/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java
+++ b/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java
@@ -37,6 +37,7 @@ import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.IndexOrDocValuesQuery;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.LeafFieldComparator;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.spatial.SpatialStrategy;
@@ -270,7 +271,7 @@ public class LatLonPointSpatialField
 
           @SuppressWarnings("unchecked")
           final FieldComparator<Double> comparator =
-              (FieldComparator<Double>) getSortField(false).getComparator(1, false);
+              (FieldComparator<Double>) getSortField(false).getComparator(1, Pruning.NONE);
 
           final LeafFieldComparator leafComparator = comparator.getLeafComparator(ctx);
           final double mult = multiplier; // so it's a local field
diff --git a/solr/core/src/java/org/apache/solr/schema/RandomSortField.java b/solr/core/src/java/org/apache/solr/schema/RandomSortField.java
index 517b34d6744..1330832676e 100644
--- a/solr/core/src/java/org/apache/solr/schema/RandomSortField.java
+++ b/solr/core/src/java/org/apache/solr/schema/RandomSortField.java
@@ -27,6 +27,7 @@ import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.docvalues.IntDocValues;
 import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.FieldComparatorSource;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.SimpleFieldComparator;
 import org.apache.lucene.search.SortField;
 import org.apache.solr.response.TextResponseWriter;
@@ -112,7 +113,7 @@ public class RandomSortField extends FieldType {
       new FieldComparatorSource() {
         @Override
         public FieldComparator<Integer> newComparator(
-            final String fieldname, final int numHits, boolean enableSkipping, boolean reversed) {
+            final String fieldname, final int numHits, Pruning pruning, boolean reversed) {
           return new SimpleFieldComparator<>() {
             int seed;
             private final int[] values = new int[numHits];
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 c64bd4bf9fc..9a3b199de51 100644
--- a/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
@@ -55,6 +55,7 @@ import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.LeafFieldComparator;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.QueryVisitor;
 import org.apache.lucene.search.Scorable;
@@ -3583,7 +3584,13 @@ public class CollapsingQParserPlugin extends QParserPlugin {
       for (int clause = 0; clause < numClauses; clause++) {
         SortField sf = sorts[clause];
         // we only need one slot for every comparator
-        fieldComparators[clause] = sf.getComparator(1, clause == 0);
+        fieldComparators[clause] =
+            sf.getComparator(
+                1,
+                clause == 0
+                    ? (numClauses > 1 ? Pruning.GREATER_THAN : Pruning.GREATER_THAN_OR_EQUAL_TO)
+                    : Pruning.NONE);
+
         reverseMul[clause] = sf.getReverse() ? -1 : 1;
       }
       groupHeadValues = new Object[initNumGroups][];
diff --git a/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java b/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java
index e4af1ad0d9e..24d252041ba 100644
--- a/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java
+++ b/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java
@@ -25,6 +25,7 @@ import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.LeafFieldComparator;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.SortField.Type;
@@ -124,8 +125,8 @@ public class ChildFieldValueSourceParser extends ValueSourceParser {
           childField.getName(), type, reverse, parentFilter, childFilter) {
         @SuppressWarnings("unchecked")
         @Override
-        public FieldComparator<?> getComparator(int numHits, boolean enableSkipping) {
-          final FieldComparator<?> comparator = super.getComparator(numHits, enableSkipping);
+        public FieldComparator<?> getComparator(int numHits, Pruning pruning) {
+          final FieldComparator<?> comparator = super.getComparator(numHits, pruning);
           return type == Type.STRING
               ? new BytesToStringComparator((FieldComparator<BytesRef>) comparator)
               : comparator;
diff --git a/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml b/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
index 6f2f04a2003..a6d0a8e7658 100644
--- a/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
+++ b/solr/core/src/test-files/solr/collection1/conf/schema_codec.xml
@@ -20,7 +20,7 @@
        as a way to vet that the configuration actually matters.
   -->
   <fieldType name="string_direct" class="solr.StrField" postingsFormat="Direct" docValuesFormat="Asserting" />
-  <fieldType name="string_standard" class="solr.StrField" postingsFormat="Lucene90"/>
+  <fieldType name="string_standard" class="solr.StrField" postingsFormat="Lucene99"/>
 
   <fieldType name="string_disk" class="solr.StrField" />
 
diff --git a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
index 6681af15c12..8fd60619122 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
@@ -21,7 +21,7 @@ import static org.apache.lucene.codecs.lucene90.Lucene90StoredFieldsFormat.MODE_
 import java.io.IOException;
 import java.util.Map;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.codecs.lucene95.Lucene95Codec.Mode;
+import org.apache.lucene.codecs.lucene99.Lucene99Codec.Mode;
 import org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat;
 import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat;
 import org.apache.lucene.index.SegmentInfo;
diff --git a/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java b/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
index 7b3f77456cc..b11728e0283 100644
--- a/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
@@ -34,6 +34,7 @@ import org.apache.lucene.search.FieldComparator;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.LeafCollector;
 import org.apache.lucene.search.LeafFieldComparator;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.QueryVisitor;
 import org.apache.lucene.search.Scorable;
@@ -447,7 +448,7 @@ public class RankQueryTestPlugin extends QParserPlugin {
             }
 
             if (comparator == null) {
-              comparator = sortField.getComparator(1, true);
+              comparator = sortField.getComparator(1, Pruning.NONE);
               leafComparator = comparator.getLeafComparator(currentLeaf);
             }
 
diff --git a/solr/core/src/test/org/apache/solr/search/TestDocSet.java b/solr/core/src/test/org/apache/solr/search/TestDocSet.java
index 60a3d8c91e3..901a188fedd 100644
--- a/solr/core/src/test/org/apache/solr/search/TestDocSet.java
+++ b/solr/core/src/test/org/apache/solr/search/TestDocSet.java
@@ -401,7 +401,7 @@ public class TestDocSet extends SolrTestCase {
 
       @Override
       public LeafMetaData getMetaData() {
-        return new LeafMetaData(Version.LATEST.major, Version.LATEST, null);
+        return new LeafMetaData(Version.LATEST.major, Version.LATEST, null, true);
       }
 
       @Override
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
index 9dfd8557e99..56b6566f37d 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
@@ -247,9 +247,16 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
       SchemaField foo_dt = h.getCore().getLatestSchema().getField("foo_dt");
       String expected = "foo_dt:2013-09-11T00:00:00Z";
       if (foo_dt.getType().isPointField()) {
-        expected = "(foo_dt:[1378857600000 TO 1378857600000])";
+        expected = "foo_dt:[1378857600000 TO 1378857600000]";
         if (foo_dt.hasDocValues() && foo_dt.indexed()) {
-          expected = "IndexOrDocValuesQuery" + expected;
+          expected =
+              "IndexOrDocValuesQuery(IndexOrDocValuesQuery(indexQuery="
+                  + expected
+                  + ", dvQuery="
+                  + expected
+                  + "))";
+        } else {
+          expected = "(" + expected + ")";
         }
       }
       assertJQ(
diff --git a/solr/licenses/lucene-analysis-common-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-common-9.8.0.jar.sha1
deleted file mode 100644
index 6b9555a1364..00000000000
--- a/solr/licenses/lucene-analysis-common-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-36f0363325ca7bf62c180160d1ed5165c7c37795
diff --git a/solr/licenses/lucene-analysis-common-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-common-9.9.2.jar.sha1
new file mode 100644
index 00000000000..7534070c4d8
--- /dev/null
+++ b/solr/licenses/lucene-analysis-common-9.9.2.jar.sha1
@@ -0,0 +1 @@
+2a4712ee9d87e0f9942a81195dbd5223dbeaa541
diff --git a/solr/licenses/lucene-analysis-icu-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-icu-9.8.0.jar.sha1
deleted file mode 100644
index 512bf46865e..00000000000
--- a/solr/licenses/lucene-analysis-icu-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-7133d34e92770f59eb28686f4d511b9f3f32e970
diff --git a/solr/licenses/lucene-analysis-icu-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-icu-9.9.2.jar.sha1
new file mode 100644
index 00000000000..cfa86d66b06
--- /dev/null
+++ b/solr/licenses/lucene-analysis-icu-9.9.2.jar.sha1
@@ -0,0 +1 @@
+f7e549fdac07140f4cd379a0f517c38434165e95
diff --git a/solr/licenses/lucene-analysis-kuromoji-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-kuromoji-9.8.0.jar.sha1
deleted file mode 100644
index 4d7de125029..00000000000
--- a/solr/licenses/lucene-analysis-kuromoji-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-be44282e1f6b91a0650fcceb558053d6bdd4863d
diff --git a/solr/licenses/lucene-analysis-kuromoji-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-kuromoji-9.9.2.jar.sha1
new file mode 100644
index 00000000000..0b00dab8d5a
--- /dev/null
+++ b/solr/licenses/lucene-analysis-kuromoji-9.9.2.jar.sha1
@@ -0,0 +1 @@
+eb19738fd3ca85071fef96978a056a7c94d8e793
diff --git a/solr/licenses/lucene-analysis-morfologik-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-morfologik-9.8.0.jar.sha1
deleted file mode 100644
index db1649319c3..00000000000
--- a/solr/licenses/lucene-analysis-morfologik-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b054f2c7b11fc7c5601b4c3cdf18aa7508612898
diff --git a/solr/licenses/lucene-analysis-morfologik-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-morfologik-9.9.2.jar.sha1
new file mode 100644
index 00000000000..cb0a692c3e4
--- /dev/null
+++ b/solr/licenses/lucene-analysis-morfologik-9.9.2.jar.sha1
@@ -0,0 +1 @@
+9958d813d4cfdd890b4611c679ed36775480fa0d
diff --git a/solr/licenses/lucene-analysis-nori-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-nori-9.8.0.jar.sha1
deleted file mode 100644
index cb1a7f78e51..00000000000
--- a/solr/licenses/lucene-analysis-nori-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-bd1f80d33346f7e588685484ef29a304db5190e4
diff --git a/solr/licenses/lucene-analysis-nori-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-nori-9.9.2.jar.sha1
new file mode 100644
index 00000000000..924982f4938
--- /dev/null
+++ b/solr/licenses/lucene-analysis-nori-9.9.2.jar.sha1
@@ -0,0 +1 @@
+7e83a83741155ececf9193a4f967e570e170236d
diff --git a/solr/licenses/lucene-analysis-opennlp-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-opennlp-9.8.0.jar.sha1
deleted file mode 100644
index 92c8bd6d8a0..00000000000
--- a/solr/licenses/lucene-analysis-opennlp-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f878344c9742c33a42dd06b51a0a2e73cb49f16c
diff --git a/solr/licenses/lucene-analysis-opennlp-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-opennlp-9.9.2.jar.sha1
new file mode 100644
index 00000000000..2d311733bd6
--- /dev/null
+++ b/solr/licenses/lucene-analysis-opennlp-9.9.2.jar.sha1
@@ -0,0 +1 @@
+1b8bd6cfa7f6c4562a48ff53d6aef0bbc13cd232
diff --git a/solr/licenses/lucene-analysis-phonetic-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-phonetic-9.8.0.jar.sha1
deleted file mode 100644
index 8aa6dd91877..00000000000
--- a/solr/licenses/lucene-analysis-phonetic-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b9ffdc7a52d2087ecb03318ec06305b480cdfe82
diff --git a/solr/licenses/lucene-analysis-phonetic-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-phonetic-9.9.2.jar.sha1
new file mode 100644
index 00000000000..ee774015d07
--- /dev/null
+++ b/solr/licenses/lucene-analysis-phonetic-9.9.2.jar.sha1
@@ -0,0 +1 @@
+dabdea96c7a6d00363b0093a580e7d783efa69a4
diff --git a/solr/licenses/lucene-analysis-smartcn-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-smartcn-9.8.0.jar.sha1
deleted file mode 100644
index 40c216271ed..00000000000
--- a/solr/licenses/lucene-analysis-smartcn-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f73e2007b133fb699e517ef13b4952844f0150d8
diff --git a/solr/licenses/lucene-analysis-smartcn-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-smartcn-9.9.2.jar.sha1
new file mode 100644
index 00000000000..243aa7bac7d
--- /dev/null
+++ b/solr/licenses/lucene-analysis-smartcn-9.9.2.jar.sha1
@@ -0,0 +1 @@
+fb551d9ae6a1bf12bc90a4d26dd8fa3eefac8cb9
diff --git a/solr/licenses/lucene-analysis-stempel-9.8.0.jar.sha1 b/solr/licenses/lucene-analysis-stempel-9.8.0.jar.sha1
deleted file mode 100644
index 08c368f78ac..00000000000
--- a/solr/licenses/lucene-analysis-stempel-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2c09cbc021a8f81a01600a1d2a999361e70f7aed
diff --git a/solr/licenses/lucene-analysis-stempel-9.9.2.jar.sha1 b/solr/licenses/lucene-analysis-stempel-9.9.2.jar.sha1
new file mode 100644
index 00000000000..0ff52ebcbe7
--- /dev/null
+++ b/solr/licenses/lucene-analysis-stempel-9.9.2.jar.sha1
@@ -0,0 +1 @@
+0d495b478861b2d29e0a58d273ca0e6e755292e9
diff --git a/solr/licenses/lucene-backward-codecs-9.8.0.jar.sha1 b/solr/licenses/lucene-backward-codecs-9.8.0.jar.sha1
deleted file mode 100644
index bd8949e70af..00000000000
--- a/solr/licenses/lucene-backward-codecs-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-e98fb408028f40170e6d87c16422bfdc0bb2e392
diff --git a/solr/licenses/lucene-backward-codecs-9.9.2.jar.sha1 b/solr/licenses/lucene-backward-codecs-9.9.2.jar.sha1
new file mode 100644
index 00000000000..75737688688
--- /dev/null
+++ b/solr/licenses/lucene-backward-codecs-9.9.2.jar.sha1
@@ -0,0 +1 @@
+b53707366cf2891bb301f85a44c5108fc2d5d1b5
diff --git a/solr/licenses/lucene-classification-9.8.0.jar.sha1 b/solr/licenses/lucene-classification-9.8.0.jar.sha1
deleted file mode 100644
index 60037652b8f..00000000000
--- a/solr/licenses/lucene-classification-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a9ba5a08bb0e34aba034b9411c33a5a977e5a571
diff --git a/solr/licenses/lucene-classification-9.9.2.jar.sha1 b/solr/licenses/lucene-classification-9.9.2.jar.sha1
new file mode 100644
index 00000000000..ab25a33745a
--- /dev/null
+++ b/solr/licenses/lucene-classification-9.9.2.jar.sha1
@@ -0,0 +1 @@
+7a46981131fdd014dfdb935e0155f69d13717a4c
diff --git a/solr/licenses/lucene-codecs-9.8.0.jar.sha1 b/solr/licenses/lucene-codecs-9.8.0.jar.sha1
deleted file mode 100644
index c01ff967edd..00000000000
--- a/solr/licenses/lucene-codecs-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5661a90424b164551302a14d946e5cf35d90be72
diff --git a/solr/licenses/lucene-codecs-9.9.2.jar.sha1 b/solr/licenses/lucene-codecs-9.9.2.jar.sha1
new file mode 100644
index 00000000000..f98d06444a7
--- /dev/null
+++ b/solr/licenses/lucene-codecs-9.9.2.jar.sha1
@@ -0,0 +1 @@
+c97222927eebbdcc191a094c1881708eda4ffd83
diff --git a/solr/licenses/lucene-core-9.8.0.jar.sha1 b/solr/licenses/lucene-core-9.8.0.jar.sha1
deleted file mode 100644
index 1c357709b86..00000000000
--- a/solr/licenses/lucene-core-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5e8421c5f8573bcf22e9265fc7e19469545a775a
diff --git a/solr/licenses/lucene-core-9.9.2.jar.sha1 b/solr/licenses/lucene-core-9.9.2.jar.sha1
new file mode 100644
index 00000000000..0a4072dae8a
--- /dev/null
+++ b/solr/licenses/lucene-core-9.9.2.jar.sha1
@@ -0,0 +1 @@
+7699f80220fc80b08413902560904623b88beb9f
diff --git a/solr/licenses/lucene-expressions-9.8.0.jar.sha1 b/solr/licenses/lucene-expressions-9.8.0.jar.sha1
deleted file mode 100644
index 2b13fab40dc..00000000000
--- a/solr/licenses/lucene-expressions-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-7725476acfcb9bdfeff1b813ce15c39c6b857dc2
diff --git a/solr/licenses/lucene-expressions-9.9.2.jar.sha1 b/solr/licenses/lucene-expressions-9.9.2.jar.sha1
new file mode 100644
index 00000000000..eeaf8f4166a
--- /dev/null
+++ b/solr/licenses/lucene-expressions-9.9.2.jar.sha1
@@ -0,0 +1 @@
+045df3828b6460c032a6551040e31ea432b0aad6
diff --git a/solr/licenses/lucene-grouping-9.8.0.jar.sha1 b/solr/licenses/lucene-grouping-9.8.0.jar.sha1
deleted file mode 100644
index c67fb0ff341..00000000000
--- a/solr/licenses/lucene-grouping-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d39184518351178c404ed9669fc6cb6111f2288d
diff --git a/solr/licenses/lucene-grouping-9.9.2.jar.sha1 b/solr/licenses/lucene-grouping-9.9.2.jar.sha1
new file mode 100644
index 00000000000..7081c91772c
--- /dev/null
+++ b/solr/licenses/lucene-grouping-9.9.2.jar.sha1
@@ -0,0 +1 @@
+72b6c47fd80933d259859d38325e3e020c8e017b
diff --git a/solr/licenses/lucene-highlighter-9.8.0.jar.sha1 b/solr/licenses/lucene-highlighter-9.8.0.jar.sha1
deleted file mode 100644
index c1a7f60dc79..00000000000
--- a/solr/licenses/lucene-highlighter-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-1ac38c8278dbd63dfab30744a41dd955a415a31c
diff --git a/solr/licenses/lucene-highlighter-9.9.2.jar.sha1 b/solr/licenses/lucene-highlighter-9.9.2.jar.sha1
new file mode 100644
index 00000000000..8568e0f9e58
--- /dev/null
+++ b/solr/licenses/lucene-highlighter-9.9.2.jar.sha1
@@ -0,0 +1 @@
+0968d74d6794af65798819304f10ceb947080332
diff --git a/solr/licenses/lucene-join-9.8.0.jar.sha1 b/solr/licenses/lucene-join-9.8.0.jar.sha1
deleted file mode 100644
index 842065e6321..00000000000
--- a/solr/licenses/lucene-join-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-3d64fc57bb6e718d906413a9f73c713e6d4d8bb0
diff --git a/solr/licenses/lucene-join-9.9.2.jar.sha1 b/solr/licenses/lucene-join-9.9.2.jar.sha1
new file mode 100644
index 00000000000..34667dadfc6
--- /dev/null
+++ b/solr/licenses/lucene-join-9.9.2.jar.sha1
@@ -0,0 +1 @@
+902e4b65686e29c1489a7cdf43ed2ce3b7fe8ace
diff --git a/solr/licenses/lucene-memory-9.8.0.jar.sha1 b/solr/licenses/lucene-memory-9.8.0.jar.sha1
deleted file mode 100644
index 375f8028682..00000000000
--- a/solr/licenses/lucene-memory-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5283ac71d6ccecb5e00c7b52df2faec012f2625a
diff --git a/solr/licenses/lucene-memory-9.9.2.jar.sha1 b/solr/licenses/lucene-memory-9.9.2.jar.sha1
new file mode 100644
index 00000000000..46e380d1835
--- /dev/null
+++ b/solr/licenses/lucene-memory-9.9.2.jar.sha1
@@ -0,0 +1 @@
+08175beb4135c23e6918c822381cd51cd2e118a8
diff --git a/solr/licenses/lucene-misc-9.8.0.jar.sha1 b/solr/licenses/lucene-misc-9.8.0.jar.sha1
deleted file mode 100644
index 3e2022b60e4..00000000000
--- a/solr/licenses/lucene-misc-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-9a57b049cf51a5e9c9c1909c420f645f1b6f9a54
diff --git a/solr/licenses/lucene-misc-9.9.2.jar.sha1 b/solr/licenses/lucene-misc-9.9.2.jar.sha1
new file mode 100644
index 00000000000..67fc5f8f455
--- /dev/null
+++ b/solr/licenses/lucene-misc-9.9.2.jar.sha1
@@ -0,0 +1 @@
+39b015aa603db42b55f0833193bdfc75d38842ba
diff --git a/solr/licenses/lucene-queries-9.8.0.jar.sha1 b/solr/licenses/lucene-queries-9.8.0.jar.sha1
deleted file mode 100644
index 75cdfee9f96..00000000000
--- a/solr/licenses/lucene-queries-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-628db4ef46f1c6a05145bdac1d1bc4ace6341b13
diff --git a/solr/licenses/lucene-queries-9.9.2.jar.sha1 b/solr/licenses/lucene-queries-9.9.2.jar.sha1
new file mode 100644
index 00000000000..be6fff50835
--- /dev/null
+++ b/solr/licenses/lucene-queries-9.9.2.jar.sha1
@@ -0,0 +1 @@
+671252594e15280818f56d4b369bc48c0ab00dac
diff --git a/solr/licenses/lucene-queryparser-9.8.0.jar.sha1 b/solr/licenses/lucene-queryparser-9.8.0.jar.sha1
deleted file mode 100644
index 865bd1783cd..00000000000
--- a/solr/licenses/lucene-queryparser-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-982faf2bfa55542bf57fbadef54c19ac00f57cae
diff --git a/solr/licenses/lucene-queryparser-9.9.2.jar.sha1 b/solr/licenses/lucene-queryparser-9.9.2.jar.sha1
new file mode 100644
index 00000000000..8b0136eba92
--- /dev/null
+++ b/solr/licenses/lucene-queryparser-9.9.2.jar.sha1
@@ -0,0 +1 @@
+7cf8dea63ab511ea9a322916198c3abd0402c8b2
diff --git a/solr/licenses/lucene-sandbox-9.8.0.jar.sha1 b/solr/licenses/lucene-sandbox-9.8.0.jar.sha1
deleted file mode 100644
index 5e95a9d52e1..00000000000
--- a/solr/licenses/lucene-sandbox-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-06493dbd14d02537716822254866a94458f4d842
diff --git a/solr/licenses/lucene-sandbox-9.9.2.jar.sha1 b/solr/licenses/lucene-sandbox-9.9.2.jar.sha1
new file mode 100644
index 00000000000..9bdac742e6b
--- /dev/null
+++ b/solr/licenses/lucene-sandbox-9.9.2.jar.sha1
@@ -0,0 +1 @@
+4e2bdc6a5b65dd15b78477cf2c49cf7b707ba757
diff --git a/solr/licenses/lucene-spatial-extras-9.8.0.jar.sha1 b/solr/licenses/lucene-spatial-extras-9.8.0.jar.sha1
deleted file mode 100644
index 54f649ad950..00000000000
--- a/solr/licenses/lucene-spatial-extras-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-9d9a731822ad6eefa1ba288a0c158d478522f165
diff --git a/solr/licenses/lucene-spatial-extras-9.9.2.jar.sha1 b/solr/licenses/lucene-spatial-extras-9.9.2.jar.sha1
new file mode 100644
index 00000000000..6ff99ed6cb8
--- /dev/null
+++ b/solr/licenses/lucene-spatial-extras-9.9.2.jar.sha1
@@ -0,0 +1 @@
+2693d4d4d3b9a0bf5b632ccbb01132eade1c4e14
diff --git a/solr/licenses/lucene-spatial3d-9.8.0.jar.sha1 b/solr/licenses/lucene-spatial3d-9.8.0.jar.sha1
deleted file mode 100644
index f29a79e5e9f..00000000000
--- a/solr/licenses/lucene-spatial3d-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ce752a52b2d4eac90633c7df7982e29504f99e76
diff --git a/solr/licenses/lucene-spatial3d-9.9.2.jar.sha1 b/solr/licenses/lucene-spatial3d-9.9.2.jar.sha1
new file mode 100644
index 00000000000..3e18cb044eb
--- /dev/null
+++ b/solr/licenses/lucene-spatial3d-9.9.2.jar.sha1
@@ -0,0 +1 @@
+61866a44eafce499ebbc20bcb75c8b8a60a5449b
diff --git a/solr/licenses/lucene-suggest-9.8.0.jar.sha1 b/solr/licenses/lucene-suggest-9.8.0.jar.sha1
deleted file mode 100644
index 25ba9a373ad..00000000000
--- a/solr/licenses/lucene-suggest-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f977f96f2093b7fddea6b67caa2e1c5b10edebf6
diff --git a/solr/licenses/lucene-suggest-9.9.2.jar.sha1 b/solr/licenses/lucene-suggest-9.9.2.jar.sha1
new file mode 100644
index 00000000000..8489707618c
--- /dev/null
+++ b/solr/licenses/lucene-suggest-9.9.2.jar.sha1
@@ -0,0 +1 @@
+352ad5296f48a482e2b65bb7d5d6ba2977bb035e
diff --git a/solr/licenses/lucene-test-framework-9.8.0.jar.sha1 b/solr/licenses/lucene-test-framework-9.8.0.jar.sha1
deleted file mode 100644
index 29315f64529..00000000000
--- a/solr/licenses/lucene-test-framework-9.8.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-44903631a74e9cf5551452f905ab8a5b0652f1a5
diff --git a/solr/licenses/lucene-test-framework-9.9.2.jar.sha1 b/solr/licenses/lucene-test-framework-9.9.2.jar.sha1
new file mode 100644
index 00000000000..947884ee5a0
--- /dev/null
+++ b/solr/licenses/lucene-test-framework-9.9.2.jar.sha1
@@ -0,0 +1 @@
+447d9a4b48af97d1bf9086ea463d5fec28bdd0de
diff --git a/solr/server/solr/configsets/_default/conf/solrconfig.xml b/solr/server/solr/configsets/_default/conf/solrconfig.xml
index a74f283ed68..6b5c3254bc6 100644
--- a/solr/server/solr/configsets/_default/conf/solrconfig.xml
+++ b/solr/server/solr/configsets/_default/conf/solrconfig.xml
@@ -35,7 +35,7 @@
        that you fully re-index after changing this setting as it can
        affect both how text is indexed and queried.
   -->
-  <luceneMatchVersion>9.8</luceneMatchVersion>
+  <luceneMatchVersion>9.9</luceneMatchVersion>
 
   <!-- <lib/> directives can be used to instruct Solr to load any Jars
        identified and use them to resolve any "plugins" specified in
diff --git a/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml b/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
index 9c0aa25d52c..f652e0243f5 100644
--- a/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
+++ b/solr/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml
@@ -35,7 +35,7 @@
        that you fully re-index after changing this setting as it can
        affect both how text is indexed and queried.
   -->
-  <luceneMatchVersion>9.8</luceneMatchVersion>
+  <luceneMatchVersion>9.9</luceneMatchVersion>
 
   <!-- <lib/> directives can be used to instruct Solr to load any Jars
        identified and use them to resolve any "plugins" specified in
diff --git a/solr/test-framework/src/java/org/apache/solr/schema/SortableBinaryField.java b/solr/test-framework/src/java/org/apache/solr/schema/SortableBinaryField.java
index 30589f02343..b8969616d01 100644
--- a/solr/test-framework/src/java/org/apache/solr/schema/SortableBinaryField.java
+++ b/solr/test-framework/src/java/org/apache/solr/schema/SortableBinaryField.java
@@ -24,6 +24,7 @@ import org.apache.lucene.document.SortedDocValuesField;
 import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.search.FieldComparatorSource;
+import org.apache.lucene.search.Pruning;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.comparators.TermOrdValComparator;
 import org.apache.lucene.util.BytesRef;
@@ -73,11 +74,11 @@ public class SortableBinaryField extends BinaryField {
             public TermOrdValComparator newComparator(
                 final String fieldname,
                 final int numHits,
-                final boolean enableSkipping,
+                final Pruning pruning,
                 final boolean reversed) {
               final boolean sortMissingLast = false;
               return new TermOrdValComparator(
-                  numHits, fieldname, sortMissingLast, reversed, enableSkipping);
+                  numHits, fieldname, sortMissingLast, reversed, pruning);
             }
           },
           reverse);
diff --git a/versions.lock b/versions.lock
index 6faa27e5ec9..8ee20a57c1e 100644
--- a/versions.lock
+++ b/versions.lock
@@ -215,33 +215,33 @@ org.apache.logging.log4j:log4j-jul:2.21.0 (1 constraints: 3705363b)
 org.apache.logging.log4j:log4j-layout-template-json:2.21.0 (1 constraints: 3705363b)
 org.apache.logging.log4j:log4j-slf4j2-impl:2.21.0 (1 constraints: 3705363b)
 org.apache.logging.log4j:log4j-web:2.21.0 (1 constraints: 3705363b)
-org.apache.lucene:lucene-analysis-common:9.8.0 (10 constraints: fc9e4474)
-org.apache.lucene:lucene-analysis-icu:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-analysis-kuromoji:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-analysis-morfologik:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-analysis-nori:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-analysis-opennlp:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-analysis-phonetic:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-analysis-smartcn:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-analysis-stempel:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-backward-codecs:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-classification:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-codecs:9.8.0 (3 constraints: ab25ca45)
-org.apache.lucene:lucene-core:9.8.0 (26 constraints: 6390b70d)
-org.apache.lucene:lucene-expressions:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-grouping:9.8.0 (2 constraints: ec15c6e4)
-org.apache.lucene:lucene-highlighter:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-join:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-memory:9.8.0 (1 constraints: 9d0fb783)
-org.apache.lucene:lucene-misc:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-queries:9.8.0 (6 constraints: cc512481)
-org.apache.lucene:lucene-queryparser:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-sandbox:9.8.0 (1 constraints: d10f3087)
-org.apache.lucene:lucene-spatial-extras:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-spatial3d:9.8.0 (1 constraints: c010bfb9)
-org.apache.lucene:lucene-suggest:9.8.0 (1 constraints: 13053036)
-org.apache.lucene:lucene-test-framework:9.8.0 (1 constraints: 13053036)
-org.apache.opennlp:opennlp-tools:1.9.4 (2 constraints: f91d5c6d)
+org.apache.lucene:lucene-analysis-common:9.9.2 (10 constraints: 1a9fe48d)
+org.apache.lucene:lucene-analysis-icu:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-analysis-kuromoji:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-analysis-morfologik:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-analysis-nori:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-analysis-opennlp:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-analysis-phonetic:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-analysis-smartcn:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-analysis-stempel:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-backward-codecs:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-classification:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-codecs:9.9.2 (3 constraints: b4258047)
+org.apache.lucene:lucene-core:9.9.2 (26 constraints: b19036b6)
+org.apache.lucene:lucene-expressions:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-grouping:9.9.2 (2 constraints: f21560e5)
+org.apache.lucene:lucene-highlighter:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-join:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-memory:9.9.2 (1 constraints: a00fbc83)
+org.apache.lucene:lucene-misc:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-queries:9.9.2 (6 constraints: de51e688)
+org.apache.lucene:lucene-queryparser:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-sandbox:9.9.2 (1 constraints: d40f3587)
+org.apache.lucene:lucene-spatial-extras:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-spatial3d:9.9.2 (1 constraints: c310c4b9)
+org.apache.lucene:lucene-suggest:9.9.2 (1 constraints: 16053536)
+org.apache.lucene:lucene-test-framework:9.9.2 (1 constraints: 16053536)
+org.apache.opennlp:opennlp-tools:1.9.4 (2 constraints: fc1dce6d)
 org.apache.pdfbox:fontbox:2.0.26 (1 constraints: 180b72d8)
 org.apache.pdfbox:jbig2-imageio:3.0.4 (1 constraints: 5e0cef01)
 org.apache.pdfbox:jempbox:1.8.16 (1 constraints: 970c910e)
diff --git a/versions.props b/versions.props
index 838649267fa..f7540764223 100644
--- a/versions.props
+++ b/versions.props
@@ -50,7 +50,7 @@ org.apache.httpcomponents:httpcore=4.4.16
 org.apache.httpcomponents:httpmime=4.5.14
 org.apache.kerby:*=1.0.1
 org.apache.logging.log4j:*=2.21.0
-org.apache.lucene:*=9.8.0
+org.apache.lucene:*=9.9.2
 org.apache.tika:*=1.28.5
 org.apache.tomcat:annotations-api=6.0.53
 org.apache.zookeeper:*=3.9.1