You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by tf...@apache.org on 2023/06/09 21:25:34 UTC

[solr] branch branch_9x updated: SOLR-16799 upgrade Solr to use Lucene 9.6.0 (#1664)

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

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


The following commit(s) were added to refs/heads/branch_9x by this push:
     new d490bb27476 SOLR-16799 upgrade Solr to use Lucene 9.6.0 (#1664)
d490bb27476 is described below

commit d490bb274760d60f96055dd23f5a419f7471a8d9
Author: Alex <st...@apache.org>
AuthorDate: Fri Jun 9 13:00:46 2023 -0700

    SOLR-16799 upgrade Solr to use Lucene 9.6.0 (#1664)
---
 gradle/documentation/pull-lucene-javadocs.gradle   |  1 -
 solr/CHANGES.txt                                   |  2 +
 solr/core/build.gradle                             |  1 -
 .../java/org/apache/solr/schema/EnumFieldType.java |  6 +++
 .../apache/solr/search/SolrDocumentFetcher.java    | 12 +++++
 .../org/apache/solr/search/TermsQParserPlugin.java | 11 ++---
 .../solr/search/join/GraphEdgeCollector.java       | 10 ++---
 .../licenses/lucene-analysis-common-9.5.0.jar.sha1 |  1 -
 .../licenses/lucene-analysis-common-9.6.0.jar.sha1 |  1 +
 solr/licenses/lucene-analysis-icu-9.5.0.jar.sha1   |  1 -
 solr/licenses/lucene-analysis-icu-9.6.0.jar.sha1   |  1 +
 .../lucene-analysis-kuromoji-9.5.0.jar.sha1        |  1 -
 .../lucene-analysis-kuromoji-9.6.0.jar.sha1        |  1 +
 .../lucene-analysis-morfologik-9.5.0.jar.sha1      |  1 -
 .../lucene-analysis-morfologik-9.6.0.jar.sha1      |  1 +
 solr/licenses/lucene-analysis-nori-9.5.0.jar.sha1  |  1 -
 solr/licenses/lucene-analysis-nori-9.6.0.jar.sha1  |  1 +
 .../lucene-analysis-opennlp-9.5.0.jar.sha1         |  1 -
 .../lucene-analysis-opennlp-9.6.0.jar.sha1         |  1 +
 .../lucene-analysis-phonetic-9.5.0.jar.sha1        |  1 -
 .../lucene-analysis-phonetic-9.6.0.jar.sha1        |  1 +
 .../lucene-analysis-smartcn-9.5.0.jar.sha1         |  1 -
 .../lucene-analysis-smartcn-9.6.0.jar.sha1         |  1 +
 .../lucene-analysis-stempel-9.5.0.jar.sha1         |  1 -
 .../lucene-analysis-stempel-9.6.0.jar.sha1         |  1 +
 .../licenses/lucene-backward-codecs-9.5.0.jar.sha1 |  1 -
 .../licenses/lucene-backward-codecs-9.6.0.jar.sha1 |  1 +
 solr/licenses/lucene-classification-9.5.0.jar.sha1 |  1 -
 solr/licenses/lucene-classification-9.6.0.jar.sha1 |  1 +
 solr/licenses/lucene-codecs-9.5.0.jar.sha1         |  1 -
 solr/licenses/lucene-codecs-9.6.0.jar.sha1         |  1 +
 solr/licenses/lucene-core-9.5.0.jar.sha1           |  1 -
 solr/licenses/lucene-core-9.6.0.jar.sha1           |  1 +
 solr/licenses/lucene-expressions-9.5.0.jar.sha1    |  1 -
 solr/licenses/lucene-expressions-9.6.0.jar.sha1    |  1 +
 solr/licenses/lucene-grouping-9.5.0.jar.sha1       |  1 -
 solr/licenses/lucene-grouping-9.6.0.jar.sha1       |  1 +
 solr/licenses/lucene-highlighter-9.5.0.jar.sha1    |  1 -
 solr/licenses/lucene-highlighter-9.6.0.jar.sha1    |  1 +
 solr/licenses/lucene-join-9.5.0.jar.sha1           |  1 -
 solr/licenses/lucene-join-9.6.0.jar.sha1           |  1 +
 solr/licenses/lucene-memory-9.5.0.jar.sha1         |  1 -
 solr/licenses/lucene-memory-9.6.0.jar.sha1         |  1 +
 solr/licenses/lucene-misc-9.5.0.jar.sha1           |  1 -
 solr/licenses/lucene-misc-9.6.0.jar.sha1           |  1 +
 solr/licenses/lucene-queries-9.5.0.jar.sha1        |  1 -
 solr/licenses/lucene-queries-9.6.0.jar.sha1        |  1 +
 solr/licenses/lucene-queryparser-9.5.0.jar.sha1    |  1 -
 solr/licenses/lucene-queryparser-9.6.0.jar.sha1    |  1 +
 solr/licenses/lucene-sandbox-9.5.0.jar.sha1        |  1 -
 solr/licenses/lucene-sandbox-9.6.0.jar.sha1        |  1 +
 solr/licenses/lucene-spatial-extras-9.5.0.jar.sha1 |  1 -
 solr/licenses/lucene-spatial-extras-9.6.0.jar.sha1 |  1 +
 solr/licenses/lucene-spatial3d-9.5.0.jar.sha1      |  1 -
 solr/licenses/lucene-spatial3d-9.6.0.jar.sha1      |  1 +
 solr/licenses/lucene-suggest-9.5.0.jar.sha1        |  1 -
 solr/licenses/lucene-suggest-9.6.0.jar.sha1        |  1 +
 solr/licenses/lucene-test-framework-9.5.0.jar.sha1 |  1 -
 solr/licenses/lucene-test-framework-9.6.0.jar.sha1 |  1 +
 .../solr/configsets/_default/conf/solrconfig.xml   |  2 +-
 .../conf/solrconfig.xml                            |  2 +-
 versions.lock                                      | 52 +++++++++++-----------
 versions.props                                     |  2 +-
 63 files changed, 85 insertions(+), 68 deletions(-)

diff --git a/gradle/documentation/pull-lucene-javadocs.gradle b/gradle/documentation/pull-lucene-javadocs.gradle
index 1172fdf7f61..5fdc4a70040 100644
--- a/gradle/documentation/pull-lucene-javadocs.gradle
+++ b/gradle/documentation/pull-lucene-javadocs.gradle
@@ -49,7 +49,6 @@ configure(project(":solr:documentation")) {
     javadocs group: 'org.apache.lucene', name: 'lucene-analysis-common', classifier: 'javadoc'
     javadocs group: 'org.apache.lucene', name: 'lucene-analysis-stempel', classifier: 'javadoc'
     javadocs group: 'org.apache.lucene', name: 'lucene-queryparser', classifier: 'javadoc'
-    javadocs group: 'org.apache.lucene', name: 'lucene-sandbox', classifier: 'javadoc'
     javadocs group: 'org.apache.lucene', name: 'lucene-spatial-extras', classifier: 'javadoc'
   }
 
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 1a99ef812b6..5d1fa87757b 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -183,6 +183,8 @@ Dependency Upgrades
 
 * SOLR-16642: Upgrade to Lucene 9.5.0 (Vinayak Hegde, David Smiley)
 
+* SOLR-16799: upgrade Solr to use Lucene 9.6.0 (Alex Deparvu, Tomás Fernández Löbbe)
+
 Other Changes
 ---------------------
 
diff --git a/solr/core/build.gradle b/solr/core/build.gradle
index d06f79132ef..9c5775f44dd 100644
--- a/solr/core/build.gradle
+++ b/solr/core/build.gradle
@@ -96,7 +96,6 @@ dependencies {
   implementation "org.apache.lucene:lucene-join"
   implementation "org.apache.lucene:lucene-misc"
   implementation "org.apache.lucene:lucene-queryparser"
-  implementation "org.apache.lucene:lucene-sandbox"
   implementation "org.apache.lucene:lucene-spatial-extras"
   implementation "org.apache.lucene:lucene-suggest"
 
diff --git a/solr/core/src/java/org/apache/solr/schema/EnumFieldType.java b/solr/core/src/java/org/apache/solr/schema/EnumFieldType.java
index 3cf5a05798f..7e290a434f4 100644
--- a/solr/core/src/java/org/apache/solr/schema/EnumFieldType.java
+++ b/solr/core/src/java/org/apache/solr/schema/EnumFieldType.java
@@ -24,6 +24,7 @@ import java.util.Locale;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.NumericDocValuesField;
 import org.apache.lucene.document.SortedNumericDocValuesField;
+import org.apache.lucene.document.StoredValue;
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.queries.function.ValueSource;
 import org.apache.lucene.queries.function.valuesource.MultiValuedIntFieldSource;
@@ -181,6 +182,11 @@ public class EnumFieldType extends AbstractEnumField {
       public Number numericValue() {
         return NumericUtils.sortableBytesToInt(((BytesRef) fieldsData).bytes, 0);
       }
+
+      @Override
+      public StoredValue storedValue() {
+        return new StoredValue(NumericUtils.sortableBytesToInt(((BytesRef) fieldsData).bytes, 0));
+      }
     };
   }
 
diff --git a/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java b/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java
index d93c6acebfc..a975337f869 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrDocumentFetcher.java
@@ -37,7 +37,9 @@ import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.DocumentStoredFieldVisitor;
 import org.apache.lucene.document.FieldType;
+import org.apache.lucene.document.InvertableType;
 import org.apache.lucene.document.StoredField;
+import org.apache.lucene.document.StoredValue;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.BinaryDocValues;
 import org.apache.lucene.index.DirectoryReader;
@@ -539,6 +541,16 @@ public class SolrDocumentFetcher {
     public Number numericValue() {
       return null;
     }
+
+    @Override
+    public StoredValue storedValue() {
+      return new StoredValue(stringValue());
+    }
+
+    @Override
+    public InvertableType invertableType() {
+      return null;
+    }
   }
 
   /**
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 296f67ce411..d0f76aa80d7 100644
--- a/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/TermsQParserPlugin.java
@@ -21,12 +21,12 @@ import java.lang.invoke.MethodHandles;
 import java.util.Arrays;
 import java.util.Locale;
 import java.util.regex.Pattern;
+import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.index.DocValues;
 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.sandbox.search.DocValuesTermsQuery;
 import org.apache.lucene.search.AutomatonQuery;
 import org.apache.lucene.search.BooleanClause;
 import org.apache.lucene.search.BooleanQuery;
@@ -35,6 +35,7 @@ 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;
@@ -120,7 +121,7 @@ public class TermsQParserPlugin extends QParserPlugin {
     docValuesTermsFilterPerSegment {
       @Override
       Query makeFilter(String fname, BytesRef[] byteRefs) {
-        return disableCacheByDefault(new DocValuesTermsQuery(fname, byteRefs));
+        return disableCacheByDefault(SortedSetDocValuesField.newSlowSetQuery(fname, byteRefs));
       }
     };
 
@@ -189,14 +190,14 @@ public class TermsQParserPlugin extends QParserPlugin {
     };
   }
 
-  private static class TopLevelDocValuesTermsQuery extends DocValuesTermsQuery {
+  private static class TopLevelDocValuesTermsQuery extends TermInSetQuery {
     private final String fieldName;
     private SortedSetDocValues topLevelDocValues;
     private LongBitSet topLevelTermOrdinals;
     private boolean matchesAtLeastOneTerm = false;
 
     public TopLevelDocValuesTermsQuery(String field, BytesRef... terms) {
-      super(field, terms);
+      super(MultiTermQuery.DOC_VALUES_REWRITE, field, terms);
       this.fieldName = field;
     }
 
@@ -213,7 +214,7 @@ public class TermsQParserPlugin extends QParserPlugin {
       topLevelDocValues =
           DocValues.getSortedSet(((SolrIndexSearcher) searcher).getSlowAtomicReader(), fieldName);
       topLevelTermOrdinals = new LongBitSet(topLevelDocValues.getValueCount());
-      PrefixCodedTerms.TermIterator iterator = getTerms().iterator();
+      PrefixCodedTerms.TermIterator iterator = getTermData().iterator();
 
       long lastTermOrdFound = 0;
       for (BytesRef term = iterator.next(); term != null; term = iterator.next()) {
diff --git a/solr/core/src/java/org/apache/solr/search/join/GraphEdgeCollector.java b/solr/core/src/java/org/apache/solr/search/join/GraphEdgeCollector.java
index e745a65e543..a2a891bc0ba 100644
--- a/solr/core/src/java/org/apache/solr/search/join/GraphEdgeCollector.java
+++ b/solr/core/src/java/org/apache/solr/search/join/GraphEdgeCollector.java
@@ -17,14 +17,12 @@
 package org.apache.solr.search.join;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.TreeSet;
+import org.apache.lucene.document.SortedDocValuesField;
 import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.SortedSetDocValues;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.sandbox.search.DocValuesTermsQuery;
 import org.apache.lucene.search.AutomatonQuery;
 import org.apache.lucene.search.Collector;
 import org.apache.lucene.search.Query;
@@ -171,15 +169,15 @@ abstract class GraphEdgeCollector extends SimpleCollector implements Collector {
           AutomatonQuery autnQuery = new AutomatonQuery(new Term(matchField.getName()), autn);
           q = autnQuery;
         } else {
-          List<BytesRef> termList = new ArrayList<>(collectorTerms.size());
+          BytesRef[] termList = new BytesRef[collectorTerms.size()];
           for (int i = 0; i < collectorTerms.size(); i++) {
             BytesRef ref = new BytesRef();
             collectorTerms.get(i, ref);
-            termList.add(ref);
+            termList[i] = ref;
           }
           q =
               (matchField.hasDocValues() && !matchField.indexed())
-                  ? new DocValuesTermsQuery(matchField.getName(), termList)
+                  ? SortedDocValuesField.newSlowSetQuery(matchField.getName(), termList)
                   : new TermInSetQuery(matchField.getName(), termList);
         }
 
diff --git a/solr/licenses/lucene-analysis-common-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-common-9.5.0.jar.sha1
deleted file mode 100644
index 7b0a28badb7..00000000000
--- a/solr/licenses/lucene-analysis-common-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f68660102455a466f98cac0501723bed7e7c6407
diff --git a/solr/licenses/lucene-analysis-common-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-common-9.6.0.jar.sha1
new file mode 100644
index 00000000000..9f2de10fa7b
--- /dev/null
+++ b/solr/licenses/lucene-analysis-common-9.6.0.jar.sha1
@@ -0,0 +1 @@
+17a8b808bb7bf5f49fbfb9cbff821433e2908e22
diff --git a/solr/licenses/lucene-analysis-icu-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-icu-9.5.0.jar.sha1
deleted file mode 100644
index 70cb26d55f4..00000000000
--- a/solr/licenses/lucene-analysis-icu-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-11c816250e4ff106151fd8cb69e61ead4fb4a8dd
diff --git a/solr/licenses/lucene-analysis-icu-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-icu-9.6.0.jar.sha1
new file mode 100644
index 00000000000..9b8870f77e4
--- /dev/null
+++ b/solr/licenses/lucene-analysis-icu-9.6.0.jar.sha1
@@ -0,0 +1 @@
+560f0fcd2960aa8e4c2251b44ee81678545fb685
diff --git a/solr/licenses/lucene-analysis-kuromoji-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-kuromoji-9.5.0.jar.sha1
deleted file mode 100644
index ba22a97c499..00000000000
--- a/solr/licenses/lucene-analysis-kuromoji-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-4555fc64ce9d63c6c1f4983e816526f896606e9f
diff --git a/solr/licenses/lucene-analysis-kuromoji-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-kuromoji-9.6.0.jar.sha1
new file mode 100644
index 00000000000..6ba89bf7098
--- /dev/null
+++ b/solr/licenses/lucene-analysis-kuromoji-9.6.0.jar.sha1
@@ -0,0 +1 @@
+839a51ef7acbb89e7d0e7a02a03bda080b7ded38
diff --git a/solr/licenses/lucene-analysis-morfologik-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-morfologik-9.5.0.jar.sha1
deleted file mode 100644
index c7a4b22e692..00000000000
--- a/solr/licenses/lucene-analysis-morfologik-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-cb00cd193e2f927e6357cf33e0880034571ea528
diff --git a/solr/licenses/lucene-analysis-morfologik-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-morfologik-9.6.0.jar.sha1
new file mode 100644
index 00000000000..24e66633525
--- /dev/null
+++ b/solr/licenses/lucene-analysis-morfologik-9.6.0.jar.sha1
@@ -0,0 +1 @@
+8efe51c10d7b4bf22b6cd2e42c95b8665fb62038
diff --git a/solr/licenses/lucene-analysis-nori-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-nori-9.5.0.jar.sha1
deleted file mode 100644
index b395212c48d..00000000000
--- a/solr/licenses/lucene-analysis-nori-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2fd55607da8adf8234169d9f4120119c05a8175c
diff --git a/solr/licenses/lucene-analysis-nori-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-nori-9.6.0.jar.sha1
new file mode 100644
index 00000000000..095e1010e5c
--- /dev/null
+++ b/solr/licenses/lucene-analysis-nori-9.6.0.jar.sha1
@@ -0,0 +1 @@
+f8a1b2e4c8dae00995aea5bf8f2ad47a1ab1f624
diff --git a/solr/licenses/lucene-analysis-opennlp-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-opennlp-9.5.0.jar.sha1
deleted file mode 100644
index 8b3468a7e21..00000000000
--- a/solr/licenses/lucene-analysis-opennlp-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-e38f969b07b18c60a968b2a722388cb672d6bea9
diff --git a/solr/licenses/lucene-analysis-opennlp-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-opennlp-9.6.0.jar.sha1
new file mode 100644
index 00000000000..4fe72372676
--- /dev/null
+++ b/solr/licenses/lucene-analysis-opennlp-9.6.0.jar.sha1
@@ -0,0 +1 @@
+ac4e404198093339c46b489ae7dfbc4a15858e8f
diff --git a/solr/licenses/lucene-analysis-phonetic-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-phonetic-9.5.0.jar.sha1
deleted file mode 100644
index 6f94a49f99a..00000000000
--- a/solr/licenses/lucene-analysis-phonetic-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c97163035f1d46249505d15fbdc427b6ae03549a
diff --git a/solr/licenses/lucene-analysis-phonetic-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-phonetic-9.6.0.jar.sha1
new file mode 100644
index 00000000000..82d39ffade7
--- /dev/null
+++ b/solr/licenses/lucene-analysis-phonetic-9.6.0.jar.sha1
@@ -0,0 +1 @@
+47fc1c8246b2219769c3b28ee0af1c0c9b58922e
diff --git a/solr/licenses/lucene-analysis-smartcn-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-smartcn-9.5.0.jar.sha1
deleted file mode 100644
index b8d529ed0e9..00000000000
--- a/solr/licenses/lucene-analysis-smartcn-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a08ae3e2212837c98d5e1174cf1a293a5c8c0373
diff --git a/solr/licenses/lucene-analysis-smartcn-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-smartcn-9.6.0.jar.sha1
new file mode 100644
index 00000000000..f9c6946e79d
--- /dev/null
+++ b/solr/licenses/lucene-analysis-smartcn-9.6.0.jar.sha1
@@ -0,0 +1 @@
+7a31613d5d40276babb6ed927b498fd671f00c2d
diff --git a/solr/licenses/lucene-analysis-stempel-9.5.0.jar.sha1 b/solr/licenses/lucene-analysis-stempel-9.5.0.jar.sha1
deleted file mode 100644
index 7dd5cb89e2d..00000000000
--- a/solr/licenses/lucene-analysis-stempel-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-483906d2ebad0ff910d52382c2f027b511788b58
diff --git a/solr/licenses/lucene-analysis-stempel-9.6.0.jar.sha1 b/solr/licenses/lucene-analysis-stempel-9.6.0.jar.sha1
new file mode 100644
index 00000000000..d3c89f34fdc
--- /dev/null
+++ b/solr/licenses/lucene-analysis-stempel-9.6.0.jar.sha1
@@ -0,0 +1 @@
+3b030f7348ff866f5ac0fd0b98407e89ae86413f
diff --git a/solr/licenses/lucene-backward-codecs-9.5.0.jar.sha1 b/solr/licenses/lucene-backward-codecs-9.5.0.jar.sha1
deleted file mode 100644
index f02f7fabc96..00000000000
--- a/solr/licenses/lucene-backward-codecs-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-66be22239d5058b0b8a8aeba03dc047a276efafa
diff --git a/solr/licenses/lucene-backward-codecs-9.6.0.jar.sha1 b/solr/licenses/lucene-backward-codecs-9.6.0.jar.sha1
new file mode 100644
index 00000000000..1feb8aa1e72
--- /dev/null
+++ b/solr/licenses/lucene-backward-codecs-9.6.0.jar.sha1
@@ -0,0 +1 @@
+a4819ca127c46a2759fdf091f41512c56c441fa7
diff --git a/solr/licenses/lucene-classification-9.5.0.jar.sha1 b/solr/licenses/lucene-classification-9.5.0.jar.sha1
deleted file mode 100644
index 5e223998a57..00000000000
--- a/solr/licenses/lucene-classification-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5143516c82e0a0243c95eb17b456ab2dbd5bd99e
diff --git a/solr/licenses/lucene-classification-9.6.0.jar.sha1 b/solr/licenses/lucene-classification-9.6.0.jar.sha1
new file mode 100644
index 00000000000..2b9f5e709f5
--- /dev/null
+++ b/solr/licenses/lucene-classification-9.6.0.jar.sha1
@@ -0,0 +1 @@
+98c34a5aff34d4cca7b1e706b8963e125c6e66f5
diff --git a/solr/licenses/lucene-codecs-9.5.0.jar.sha1 b/solr/licenses/lucene-codecs-9.5.0.jar.sha1
deleted file mode 100644
index 234cbd161df..00000000000
--- a/solr/licenses/lucene-codecs-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-07daa241bd4a3fa4cc2e1c7810b9f8d631877adf
diff --git a/solr/licenses/lucene-codecs-9.6.0.jar.sha1 b/solr/licenses/lucene-codecs-9.6.0.jar.sha1
new file mode 100644
index 00000000000..09c8137bd7b
--- /dev/null
+++ b/solr/licenses/lucene-codecs-9.6.0.jar.sha1
@@ -0,0 +1 @@
+122bff36d2534dd200896f2f7c9bbfa5c513816a
diff --git a/solr/licenses/lucene-core-9.5.0.jar.sha1 b/solr/licenses/lucene-core-9.5.0.jar.sha1
deleted file mode 100644
index 185470fb60a..00000000000
--- a/solr/licenses/lucene-core-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-bba4ba5d30e71a5f0017e45e8469db8cff8ad102
diff --git a/solr/licenses/lucene-core-9.6.0.jar.sha1 b/solr/licenses/lucene-core-9.6.0.jar.sha1
new file mode 100644
index 00000000000..ebf6615bda0
--- /dev/null
+++ b/solr/licenses/lucene-core-9.6.0.jar.sha1
@@ -0,0 +1 @@
+2c08c7a491e9d033bb4806e0a45496e3a0667217
diff --git a/solr/licenses/lucene-expressions-9.5.0.jar.sha1 b/solr/licenses/lucene-expressions-9.5.0.jar.sha1
deleted file mode 100644
index f27ff319bf5..00000000000
--- a/solr/licenses/lucene-expressions-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-62f3d3630ecc14069d5c24b9693df5a2787f8202
diff --git a/solr/licenses/lucene-expressions-9.6.0.jar.sha1 b/solr/licenses/lucene-expressions-9.6.0.jar.sha1
new file mode 100644
index 00000000000..880d09d25f8
--- /dev/null
+++ b/solr/licenses/lucene-expressions-9.6.0.jar.sha1
@@ -0,0 +1 @@
+f2b28bb17fa6a1415233b1db98bd6fd371afc9b3
diff --git a/solr/licenses/lucene-grouping-9.5.0.jar.sha1 b/solr/licenses/lucene-grouping-9.5.0.jar.sha1
deleted file mode 100644
index 6a7885000d9..00000000000
--- a/solr/licenses/lucene-grouping-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b15fe0a55a82168c810d0447ec2e244d16d94f01
diff --git a/solr/licenses/lucene-grouping-9.6.0.jar.sha1 b/solr/licenses/lucene-grouping-9.6.0.jar.sha1
new file mode 100644
index 00000000000..06252992d12
--- /dev/null
+++ b/solr/licenses/lucene-grouping-9.6.0.jar.sha1
@@ -0,0 +1 @@
+b7c7d7c0ae0ae79b3dbdbb234c5fbe267d874412
diff --git a/solr/licenses/lucene-highlighter-9.5.0.jar.sha1 b/solr/licenses/lucene-highlighter-9.5.0.jar.sha1
deleted file mode 100644
index 7f7c0ad1f11..00000000000
--- a/solr/licenses/lucene-highlighter-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-8b5e3cea3370838bda1d730cf55176c24a763d2e
diff --git a/solr/licenses/lucene-highlighter-9.6.0.jar.sha1 b/solr/licenses/lucene-highlighter-9.6.0.jar.sha1
new file mode 100644
index 00000000000..a450920dddc
--- /dev/null
+++ b/solr/licenses/lucene-highlighter-9.6.0.jar.sha1
@@ -0,0 +1 @@
+b9e14451c73fa0bc8e71a2cfe12a442f37a53c69
diff --git a/solr/licenses/lucene-join-9.5.0.jar.sha1 b/solr/licenses/lucene-join-9.5.0.jar.sha1
deleted file mode 100644
index e23eeb7ca8b..00000000000
--- a/solr/licenses/lucene-join-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-85a4208614a5660297effce441883687b010073b
diff --git a/solr/licenses/lucene-join-9.6.0.jar.sha1 b/solr/licenses/lucene-join-9.6.0.jar.sha1
new file mode 100644
index 00000000000..d4a1b76507d
--- /dev/null
+++ b/solr/licenses/lucene-join-9.6.0.jar.sha1
@@ -0,0 +1 @@
+6596a994b7b35b9f3cfdb76592b2067e9c0a9c60
diff --git a/solr/licenses/lucene-memory-9.5.0.jar.sha1 b/solr/licenses/lucene-memory-9.5.0.jar.sha1
deleted file mode 100644
index b55d14ad1e2..00000000000
--- a/solr/licenses/lucene-memory-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-d632e63d08837be715046c8ccb4fb804acd3d7e4
diff --git a/solr/licenses/lucene-memory-9.6.0.jar.sha1 b/solr/licenses/lucene-memory-9.6.0.jar.sha1
new file mode 100644
index 00000000000..5a3d3f25a28
--- /dev/null
+++ b/solr/licenses/lucene-memory-9.6.0.jar.sha1
@@ -0,0 +1 @@
+d7f9f0857463bd846abd73de2281135c511a44ba
diff --git a/solr/licenses/lucene-misc-9.5.0.jar.sha1 b/solr/licenses/lucene-misc-9.5.0.jar.sha1
deleted file mode 100644
index ca449930409..00000000000
--- a/solr/licenses/lucene-misc-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-64773801b8ba8141f4256d22da598de40d6f3033
diff --git a/solr/licenses/lucene-misc-9.6.0.jar.sha1 b/solr/licenses/lucene-misc-9.6.0.jar.sha1
new file mode 100644
index 00000000000..e47c91872ee
--- /dev/null
+++ b/solr/licenses/lucene-misc-9.6.0.jar.sha1
@@ -0,0 +1 @@
+a8b498a061d63bfa4e91752219b41b2c654a8100
diff --git a/solr/licenses/lucene-queries-9.5.0.jar.sha1 b/solr/licenses/lucene-queries-9.5.0.jar.sha1
deleted file mode 100644
index b62bb16e390..00000000000
--- a/solr/licenses/lucene-queries-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ae7930fa0ea91198905d695a222ef7f09de1c2dd
diff --git a/solr/licenses/lucene-queries-9.6.0.jar.sha1 b/solr/licenses/lucene-queries-9.6.0.jar.sha1
new file mode 100644
index 00000000000..bf8708cdfe3
--- /dev/null
+++ b/solr/licenses/lucene-queries-9.6.0.jar.sha1
@@ -0,0 +1 @@
+aadf9fffd94006a397dbdb5ce49a3727ff7d8168
diff --git a/solr/licenses/lucene-queryparser-9.5.0.jar.sha1 b/solr/licenses/lucene-queryparser-9.5.0.jar.sha1
deleted file mode 100644
index e26349bd605..00000000000
--- a/solr/licenses/lucene-queryparser-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b3e3d9434bcfce242e242364c64eab0888d285e2
diff --git a/solr/licenses/lucene-queryparser-9.6.0.jar.sha1 b/solr/licenses/lucene-queryparser-9.6.0.jar.sha1
new file mode 100644
index 00000000000..d46f85781a4
--- /dev/null
+++ b/solr/licenses/lucene-queryparser-9.6.0.jar.sha1
@@ -0,0 +1 @@
+c2f9ef9b7336981495272e99a1df678a97966102
diff --git a/solr/licenses/lucene-sandbox-9.5.0.jar.sha1 b/solr/licenses/lucene-sandbox-9.5.0.jar.sha1
deleted file mode 100644
index c5966f8fadc..00000000000
--- a/solr/licenses/lucene-sandbox-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-408be287b0f421cf8afd655579a0cc65aba61b28
diff --git a/solr/licenses/lucene-sandbox-9.6.0.jar.sha1 b/solr/licenses/lucene-sandbox-9.6.0.jar.sha1
new file mode 100644
index 00000000000..9d742dc5777
--- /dev/null
+++ b/solr/licenses/lucene-sandbox-9.6.0.jar.sha1
@@ -0,0 +1 @@
+7d6a0f3ac5ced909a8d21a697f9241ddcbe662d9
diff --git a/solr/licenses/lucene-spatial-extras-9.5.0.jar.sha1 b/solr/licenses/lucene-spatial-extras-9.5.0.jar.sha1
deleted file mode 100644
index a63aae32e83..00000000000
--- a/solr/licenses/lucene-spatial-extras-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-4960c09365d20f024bf668f60d7c3b4e54f03750
diff --git a/solr/licenses/lucene-spatial-extras-9.6.0.jar.sha1 b/solr/licenses/lucene-spatial-extras-9.6.0.jar.sha1
new file mode 100644
index 00000000000..e596609197e
--- /dev/null
+++ b/solr/licenses/lucene-spatial-extras-9.6.0.jar.sha1
@@ -0,0 +1 @@
+7df1a3ff8b099c6952d546712126d9db7c789e2c
diff --git a/solr/licenses/lucene-spatial3d-9.5.0.jar.sha1 b/solr/licenses/lucene-spatial3d-9.5.0.jar.sha1
deleted file mode 100644
index 31ffb5638aa..00000000000
--- a/solr/licenses/lucene-spatial3d-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-01ed55dd384e654076b76d7083feee6ac3efe02b
diff --git a/solr/licenses/lucene-spatial3d-9.6.0.jar.sha1 b/solr/licenses/lucene-spatial3d-9.6.0.jar.sha1
new file mode 100644
index 00000000000..eda876b802a
--- /dev/null
+++ b/solr/licenses/lucene-spatial3d-9.6.0.jar.sha1
@@ -0,0 +1 @@
+f00857ec2b769dc65b78933ce93fa3133804f38e
diff --git a/solr/licenses/lucene-suggest-9.5.0.jar.sha1 b/solr/licenses/lucene-suggest-9.5.0.jar.sha1
deleted file mode 100644
index f575b77203f..00000000000
--- a/solr/licenses/lucene-suggest-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-195624eb3a09b3dc37cc5fa51ae2f7bd61553985
diff --git a/solr/licenses/lucene-suggest-9.6.0.jar.sha1 b/solr/licenses/lucene-suggest-9.6.0.jar.sha1
new file mode 100644
index 00000000000..1231da3afcf
--- /dev/null
+++ b/solr/licenses/lucene-suggest-9.6.0.jar.sha1
@@ -0,0 +1 @@
+269cd8d1cbe3ee2325b8fcaaf5f3c92eccc0cd14
diff --git a/solr/licenses/lucene-test-framework-9.5.0.jar.sha1 b/solr/licenses/lucene-test-framework-9.5.0.jar.sha1
deleted file mode 100644
index b8ed75e1df3..00000000000
--- a/solr/licenses/lucene-test-framework-9.5.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-586787143ce485f477e01a58834d9c8af907faf1
diff --git a/solr/licenses/lucene-test-framework-9.6.0.jar.sha1 b/solr/licenses/lucene-test-framework-9.6.0.jar.sha1
new file mode 100644
index 00000000000..364e6d35ac0
--- /dev/null
+++ b/solr/licenses/lucene-test-framework-9.6.0.jar.sha1
@@ -0,0 +1 @@
+4a007d6929fe6ce708218eadff8c068e6fba4dfc
diff --git a/solr/server/solr/configsets/_default/conf/solrconfig.xml b/solr/server/solr/configsets/_default/conf/solrconfig.xml
index 4af39219816..e9614cc7c8a 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.5</luceneMatchVersion>
+  <luceneMatchVersion>9.6</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 00d161978b1..81b045929dd 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.5</luceneMatchVersion>
+  <luceneMatchVersion>9.6</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/versions.lock b/versions.lock
index e5e48b27634..db8cb1826d1 100644
--- a/versions.lock
+++ b/versions.lock
@@ -209,32 +209,32 @@ org.apache.logging.log4j:log4j-core:2.20.0 (5 constraints: 82556aef)
 org.apache.logging.log4j:log4j-layout-template-json:2.20.0 (1 constraints: 3605333b)
 org.apache.logging.log4j:log4j-slf4j2-impl:2.20.0 (1 constraints: 3605333b)
 org.apache.logging.log4j:log4j-web:2.20.0 (1 constraints: 3605333b)
-org.apache.lucene:lucene-analysis-common:9.5.0 (10 constraints: de9e7c5a)
-org.apache.lucene:lucene-analysis-icu:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-analysis-kuromoji:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-analysis-morfologik:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-analysis-nori:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-analysis-opennlp:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-analysis-phonetic:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-analysis-smartcn:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-analysis-stempel:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-backward-codecs:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-classification:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-codecs:9.5.0 (3 constraints: a2250844)
-org.apache.lucene:lucene-core:9.5.0 (26 constraints: 1590c164)
-org.apache.lucene:lucene-expressions:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-grouping:9.5.0 (2 constraints: e61524e4)
-org.apache.lucene:lucene-highlighter:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-join:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-memory:9.5.0 (1 constraints: 9a0fae83)
-org.apache.lucene:lucene-misc:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-queries:9.5.0 (6 constraints: ba514a79)
-org.apache.lucene:lucene-queryparser:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-sandbox:9.5.0 (2 constraints: dd1400a1)
-org.apache.lucene:lucene-spatial-extras:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-spatial3d:9.5.0 (1 constraints: bd10b6b9)
-org.apache.lucene:lucene-suggest:9.5.0 (1 constraints: 10052736)
-org.apache.lucene:lucene-test-framework:9.5.0 (1 constraints: 10052736)
+org.apache.lucene:lucene-analysis-common:9.6.0 (10 constraints: e89e1463)
+org.apache.lucene:lucene-analysis-icu:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-analysis-kuromoji:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-analysis-morfologik:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-analysis-nori:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-analysis-opennlp:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-analysis-phonetic:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-analysis-smartcn:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-analysis-stempel:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-backward-codecs:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-classification:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-codecs:9.6.0 (3 constraints: a5259e44)
+org.apache.lucene:lucene-core:9.6.0 (26 constraints: 2f900e9d)
+org.apache.lucene:lucene-expressions:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-grouping:9.6.0 (2 constraints: e8155ae4)
+org.apache.lucene:lucene-highlighter:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-join:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-memory:9.6.0 (1 constraints: 9b0fb183)
+org.apache.lucene:lucene-misc:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-queries:9.6.0 (6 constraints: c051e87b)
+org.apache.lucene:lucene-queryparser:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-sandbox:9.6.0 (1 constraints: cf0f2a87)
+org.apache.lucene:lucene-spatial-extras:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-spatial3d:9.6.0 (1 constraints: be10b9b9)
+org.apache.lucene:lucene-suggest:9.6.0 (1 constraints: 11052a36)
+org.apache.lucene:lucene-test-framework:9.6.0 (1 constraints: 11052a36)
 org.apache.opennlp:opennlp-tools:1.9.4 (2 constraints: f91d5c6d)
 org.apache.pdfbox:fontbox:2.0.26 (1 constraints: 180b72d8)
 org.apache.pdfbox:jbig2-imageio:3.0.4 (1 constraints: 5e0cef01)
diff --git a/versions.props b/versions.props
index 608f455a5b0..0f93f491563 100644
--- a/versions.props
+++ b/versions.props
@@ -51,7 +51,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.20.0
-org.apache.lucene:*=9.5.0
+org.apache.lucene:*=9.6.0
 org.apache.tika:*=1.28.5
 org.apache.tomcat:annotations-api=6.0.53
 org.apache.zookeeper:*=3.8.1