You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by md...@apache.org on 2022/08/18 14:23:13 UTC

[solr] branch main updated: SOLR-16303 Lucene 9.3 (#960)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new acc2205afa8 SOLR-16303 Lucene 9.3 (#960)
acc2205afa8 is described below

commit acc2205afa8f758c20096c85599f2e97924a449d
Author: Mike Drob <md...@apache.org>
AuthorDate: Thu Aug 18 09:23:07 2022 -0500

    SOLR-16303 Lucene 9.3 (#960)
---
 solr/CHANGES.txt                                   |  2 +
 .../org/apache/solr/core/SchemaCodecFactory.java   | 10 +--
 .../org/apache/solr/schema/DatePointField.java     | 92 ++++++++++++++++++++--
 .../org/apache/solr/schema/DenseVectorField.java   |  4 +-
 .../src/java/org/apache/solr/schema/TrieField.java | 90 +++++++++++++++++++--
 .../org/apache/solr/uninverting/DocTermOrds.java   | 25 +++++-
 .../org/apache/solr/core/TestCodecSupport.java     |  9 ++-
 .../solr/uninverting/TestUninvertingReader.java    |  3 +-
 .../licenses/lucene-analysis-common-9.1.0.jar.sha1 |  1 -
 .../licenses/lucene-analysis-common-9.3.0.jar.sha1 |  1 +
 solr/licenses/lucene-analysis-icu-9.1.0.jar.sha1   |  1 -
 solr/licenses/lucene-analysis-icu-9.3.0.jar.sha1   |  1 +
 .../lucene-analysis-kuromoji-9.1.0.jar.sha1        |  1 -
 .../lucene-analysis-kuromoji-9.3.0.jar.sha1        |  1 +
 .../lucene-analysis-morfologik-9.1.0.jar.sha1      |  1 -
 .../lucene-analysis-morfologik-9.3.0.jar.sha1      |  1 +
 solr/licenses/lucene-analysis-nori-9.1.0.jar.sha1  |  1 -
 solr/licenses/lucene-analysis-nori-9.3.0.jar.sha1  |  1 +
 .../lucene-analysis-opennlp-9.1.0.jar.sha1         |  1 -
 .../lucene-analysis-opennlp-9.3.0.jar.sha1         |  1 +
 .../lucene-analysis-phonetic-9.1.0.jar.sha1        |  1 -
 .../lucene-analysis-phonetic-9.3.0.jar.sha1        |  1 +
 .../lucene-analysis-smartcn-9.1.0.jar.sha1         |  1 -
 .../lucene-analysis-smartcn-9.3.0.jar.sha1         |  1 +
 .../lucene-analysis-stempel-9.1.0.jar.sha1         |  1 -
 .../lucene-analysis-stempel-9.3.0.jar.sha1         |  1 +
 .../licenses/lucene-backward-codecs-9.1.0.jar.sha1 |  1 -
 .../licenses/lucene-backward-codecs-9.3.0.jar.sha1 |  1 +
 solr/licenses/lucene-classification-9.1.0.jar.sha1 |  1 -
 solr/licenses/lucene-classification-9.3.0.jar.sha1 |  1 +
 solr/licenses/lucene-codecs-9.1.0.jar.sha1         |  1 -
 solr/licenses/lucene-codecs-9.3.0.jar.sha1         |  1 +
 solr/licenses/lucene-core-9.1.0.jar.sha1           |  1 -
 solr/licenses/lucene-core-9.3.0.jar.sha1           |  1 +
 solr/licenses/lucene-expressions-9.1.0.jar.sha1    |  1 -
 solr/licenses/lucene-expressions-9.3.0.jar.sha1    |  1 +
 solr/licenses/lucene-grouping-9.1.0.jar.sha1       |  1 -
 solr/licenses/lucene-grouping-9.3.0.jar.sha1       |  1 +
 solr/licenses/lucene-highlighter-9.1.0.jar.sha1    |  1 -
 solr/licenses/lucene-highlighter-9.3.0.jar.sha1    |  1 +
 solr/licenses/lucene-join-9.1.0.jar.sha1           |  1 -
 solr/licenses/lucene-join-9.3.0.jar.sha1           |  1 +
 solr/licenses/lucene-memory-9.1.0.jar.sha1         |  1 -
 solr/licenses/lucene-memory-9.3.0.jar.sha1         |  1 +
 solr/licenses/lucene-misc-9.1.0.jar.sha1           |  1 -
 solr/licenses/lucene-misc-9.3.0.jar.sha1           |  1 +
 solr/licenses/lucene-queries-9.1.0.jar.sha1        |  1 -
 solr/licenses/lucene-queries-9.3.0.jar.sha1        |  1 +
 solr/licenses/lucene-queryparser-9.1.0.jar.sha1    |  1 -
 solr/licenses/lucene-queryparser-9.3.0.jar.sha1    |  1 +
 solr/licenses/lucene-sandbox-9.1.0.jar.sha1        |  1 -
 solr/licenses/lucene-sandbox-9.3.0.jar.sha1        |  1 +
 solr/licenses/lucene-spatial-extras-9.1.0.jar.sha1 |  1 -
 solr/licenses/lucene-spatial-extras-9.3.0.jar.sha1 |  1 +
 solr/licenses/lucene-spatial3d-9.1.0.jar.sha1      |  1 -
 solr/licenses/lucene-spatial3d-9.3.0.jar.sha1      |  1 +
 solr/licenses/lucene-suggest-9.1.0.jar.sha1        |  1 -
 solr/licenses/lucene-suggest-9.3.0.jar.sha1        |  1 +
 solr/licenses/lucene-test-framework-9.1.0.jar.sha1 |  1 -
 solr/licenses/lucene-test-framework-9.3.0.jar.sha1 |  1 +
 solr/licenses/morfologik-fsa-2.1.8.jar.sha1        |  1 -
 solr/licenses/morfologik-fsa-2.1.9.jar.sha1        |  1 +
 solr/licenses/morfologik-polish-2.1.8.jar.sha1     |  1 -
 solr/licenses/morfologik-polish-2.1.9.jar.sha1     |  1 +
 solr/licenses/morfologik-stemming-2.1.8.jar.sha1   |  1 -
 solr/licenses/morfologik-stemming-2.1.9.jar.sha1   |  1 +
 .../randomizedtesting-runner-2.7.9.jar.sha1        |  1 -
 .../randomizedtesting-runner-2.8.0.jar.sha1        |  1 +
 .../solr/configsets/_default/conf/solrconfig.xml   |  2 +-
 .../conf/solrconfig.xml                            |  2 +-
 versions.lock                                      | 60 +++++++-------
 versions.props                                     |  2 +-
 72 files changed, 273 insertions(+), 88 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 4dde68eff48..8cd7861d43c 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -154,6 +154,8 @@ Build
 ---------------------
 * SOLR-16204: Change Lucene dependency to Lucene 9.1.0 (Elia Porciani via Alessandro Benedetti)
 
+* SOLR-16303: Change Lucene dependency to Lucene 9.3.0 (Mike Drob)
+
 * SOLR-16053: Upgrade scriptDepVersions (Kevin Risden)
 
 * SOLR-16050: Upgrade to errorprone 2.11.0 (Kevin Risden)
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 6c1b9eb4fa9..0b43275d617 100644
--- a/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/SchemaCodecFactory.java
@@ -23,9 +23,9 @@ import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.DocValuesFormat;
 import org.apache.lucene.codecs.KnnVectorsFormat;
 import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.lucene91.Lucene91Codec;
-import org.apache.lucene.codecs.lucene91.Lucene91Codec.Mode;
-import org.apache.lucene.codecs.lucene91.Lucene91HnswVectorsFormat;
+import org.apache.lucene.codecs.lucene92.Lucene92Codec;
+import org.apache.lucene.codecs.lucene92.Lucene92Codec.Mode;
+import org.apache.lucene.codecs.lucene92.Lucene92HnswVectorsFormat;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrException.ErrorCode;
 import org.apache.solr.common.util.NamedList;
@@ -92,7 +92,7 @@ public class SchemaCodecFactory extends CodecFactory implements SolrCoreAware {
       log.debug("Using default compressionMode: {}", compressionMode);
     }
     codec =
-        new Lucene91Codec(compressionMode) {
+        new Lucene92Codec(compressionMode) {
           @Override
           public PostingsFormat getPostingsFormatForField(String field) {
             final SchemaField schemaField = core.getLatestSchema().getFieldOrNull(field);
@@ -128,7 +128,7 @@ public class SchemaCodecFactory extends CodecFactory implements SolrCoreAware {
                 if (knnAlgorithm.equals(DenseVectorField.HNSW_ALGORITHM)) {
                   int maxConn = vectorType.getHnswMaxConn();
                   int beamWidth = vectorType.getHnswBeamWidth();
-                  return new Lucene91HnswVectorsFormat(maxConn, beamWidth);
+                  return new Lucene92HnswVectorsFormat(maxConn, beamWidth);
                 }
               } else {
                 throw new SolrException(
diff --git a/solr/core/src/java/org/apache/solr/schema/DatePointField.java b/solr/core/src/java/org/apache/solr/schema/DatePointField.java
index 5f375b6d31c..5e938e86131 100644
--- a/solr/core/src/java/org/apache/solr/schema/DatePointField.java
+++ b/solr/core/src/java/org/apache/solr/schema/DatePointField.java
@@ -17,13 +17,19 @@
 
 package org.apache.solr.schema;
 
+import java.io.IOException;
 import java.time.Instant;
 import java.util.Collection;
 import java.util.Date;
+import java.util.Map;
 import org.apache.lucene.document.LongPoint;
 import org.apache.lucene.document.StoredField;
 import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.LongDocValues;
 import org.apache.lucene.queries.function.valuesource.LongFieldSource;
 import org.apache.lucene.queries.function.valuesource.MultiValuedLongFieldSource;
 import org.apache.lucene.search.MatchNoDocsQuery;
@@ -31,8 +37,8 @@ import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortedNumericSelector;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
+import org.apache.lucene.util.mutable.MutableValue;
 import org.apache.lucene.util.mutable.MutableValueDate;
-import org.apache.lucene.util.mutable.MutableValueLong;
 import org.apache.solr.search.QParser;
 import org.apache.solr.uninverting.UninvertingReader;
 import org.apache.solr.update.processor.TimestampUpdateProcessorFactory;
@@ -228,11 +234,6 @@ public class DatePointField extends PointField implements DateValueFieldType {
       return "date(" + field + ')';
     }
 
-    @Override
-    protected MutableValueLong newMutableValueLong() {
-      return new MutableValueDate();
-    }
-
     @Override
     public Date longToObject(long val) {
       return new Date(val);
@@ -247,5 +248,84 @@ public class DatePointField extends PointField implements DateValueFieldType {
     public long externalToLong(String extVal) {
       return DateMathParser.parseMath(null, extVal).getTime();
     }
+
+    // Override this whole method, everything is copied from LongFieldSource except:
+    // -- externalToLong uses DPFS.externalToLong
+    // -- ValueFiller is changed to have MutableValueDate
+    @Override
+    public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext)
+        throws IOException {
+      final NumericDocValues arr = getNumericDocValues(context, readerContext);
+
+      return new LongDocValues(this) {
+        int lastDocID;
+
+        @Override
+        public long longVal(int doc) throws IOException {
+          if (exists(doc)) {
+            return arr.longValue();
+          } else {
+            return 0;
+          }
+        }
+
+        @Override
+        public boolean exists(int doc) throws IOException {
+          if (doc < lastDocID) {
+            throw new IllegalArgumentException(
+                "docs were sent out-of-order: lastDocID=" + lastDocID + " vs docID=" + doc);
+          }
+          lastDocID = doc;
+          int curDocID = arr.docID();
+          if (doc > curDocID) {
+            curDocID = arr.advance(doc);
+          }
+          return doc == curDocID;
+        }
+
+        @Override
+        public Object objectVal(int doc) throws IOException {
+          if (exists(doc)) {
+            long value = longVal(doc);
+            return longToObject(value);
+          } else {
+            return null;
+          }
+        }
+
+        @Override
+        public String strVal(int doc) throws IOException {
+          if (exists(doc)) {
+            long value = longVal(doc);
+            return longToString(value);
+          } else {
+            return null;
+          }
+        }
+
+        @Override
+        protected long externalToLong(String extVal) {
+          return DatePointFieldSource.this.externalToLong(extVal);
+        }
+
+        @Override
+        public ValueFiller getValueFiller() {
+          return new ValueFiller() {
+            private final MutableValueDate mval = new MutableValueDate();
+
+            @Override
+            public MutableValue getValue() {
+              return mval;
+            }
+
+            @Override
+            public void fillValue(int doc) throws IOException {
+              mval.value = longVal(doc);
+              mval.exists = exists(doc);
+            }
+          };
+        }
+      };
+    }
   }
 }
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 87aa70e7e4b..7210b8a4293 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.lucene91.Lucene91HnswVectorsFormat.DEFAULT_BEAM_WIDTH;
-import static org.apache.lucene.codecs.lucene91.Lucene91HnswVectorsFormat.DEFAULT_MAX_CONN;
+import static org.apache.lucene.codecs.lucene92.Lucene92HnswVectorsFormat.DEFAULT_BEAM_WIDTH;
+import static org.apache.lucene.codecs.lucene92.Lucene92HnswVectorsFormat.DEFAULT_MAX_CONN;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieField.java b/solr/core/src/java/org/apache/solr/schema/TrieField.java
index fd97d766b78..946af8c8eb9 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieField.java
@@ -29,7 +29,11 @@ import org.apache.lucene.document.NumericDocValuesField;
 import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.index.DocValuesType;
 import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.queries.function.FunctionValues;
 import org.apache.lucene.queries.function.ValueSource;
+import org.apache.lucene.queries.function.docvalues.LongDocValues;
 import org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
 import org.apache.lucene.queries.function.valuesource.FloatFieldSource;
 import org.apache.lucene.queries.function.valuesource.IntFieldSource;
@@ -42,8 +46,8 @@ import org.apache.lucene.util.BytesRefBuilder;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.CharsRefBuilder;
 import org.apache.lucene.util.NumericUtils;
+import org.apache.lucene.util.mutable.MutableValue;
 import org.apache.lucene.util.mutable.MutableValueDate;
-import org.apache.lucene.util.mutable.MutableValueLong;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.legacy.LegacyDoubleField;
 import org.apache.solr.legacy.LegacyFieldType;
@@ -725,11 +729,6 @@ class TrieDateFieldSource extends LongFieldSource {
     return "date(" + field + ')';
   }
 
-  @Override
-  protected MutableValueLong newMutableValueLong() {
-    return new MutableValueDate();
-  }
-
   @Override
   public Date longToObject(long val) {
     return new Date(val);
@@ -744,4 +743,83 @@ class TrieDateFieldSource extends LongFieldSource {
   public long externalToLong(String extVal) {
     return DateMathParser.parseMath(null, extVal).getTime();
   }
+
+  // Override this whole method, everything is copied from LongFieldSource except:
+  // -- externalToLong uses TDFS.externalToLong
+  // -- ValueFiller is changed to have MutableValueDate
+  @Override
+  public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext)
+      throws IOException {
+    final NumericDocValues arr = getNumericDocValues(context, readerContext);
+
+    return new LongDocValues(this) {
+      int lastDocID;
+
+      @Override
+      public long longVal(int doc) throws IOException {
+        if (exists(doc)) {
+          return arr.longValue();
+        } else {
+          return 0;
+        }
+      }
+
+      @Override
+      public boolean exists(int doc) throws IOException {
+        if (doc < lastDocID) {
+          throw new IllegalArgumentException(
+              "docs were sent out-of-order: lastDocID=" + lastDocID + " vs docID=" + doc);
+        }
+        lastDocID = doc;
+        int curDocID = arr.docID();
+        if (doc > curDocID) {
+          curDocID = arr.advance(doc);
+        }
+        return doc == curDocID;
+      }
+
+      @Override
+      public Object objectVal(int doc) throws IOException {
+        if (exists(doc)) {
+          long value = longVal(doc);
+          return longToObject(value);
+        } else {
+          return null;
+        }
+      }
+
+      @Override
+      public String strVal(int doc) throws IOException {
+        if (exists(doc)) {
+          long value = longVal(doc);
+          return longToString(value);
+        } else {
+          return null;
+        }
+      }
+
+      @Override
+      protected long externalToLong(String extVal) {
+        return TrieDateFieldSource.this.externalToLong(extVal);
+      }
+
+      @Override
+      public ValueFiller getValueFiller() {
+        return new ValueFiller() {
+          private final MutableValueDate mval = new MutableValueDate();
+
+          @Override
+          public MutableValue getValue() {
+            return mval;
+          }
+
+          @Override
+          public void fillValue(int doc) throws IOException {
+            mval.value = longVal(doc);
+            mval.exists = exists(doc);
+          }
+        };
+      }
+    };
+  }
 }
diff --git a/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java b/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java
index db012d1a4e1..d344e045284 100644
--- a/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java
+++ b/solr/core/src/java/org/apache/solr/uninverting/DocTermOrds.java
@@ -808,6 +808,29 @@ public class DocTermOrds implements Accountable {
       return buffer[bufferUpto++];
     }
 
+    @Override
+    public int docValueCount() {
+      if (arr == null) {
+        // This value was inlined, and then read into a single buffer
+        return bufferLength;
+      } else {
+        // scan logic taken from read()
+        int start = index[doc] & 0x7fffffff;
+        int cursor = start;
+        for (; ; ) {
+          int delta = 0;
+          for (; ; ) {
+            byte b = arr[cursor++];
+            delta = (delta << 7) | (b & 0x7f);
+            if ((b & 0x80) == 0) break;
+          }
+          if (delta == 0) break;
+        }
+
+        return cursor - start - 1;
+      }
+    }
+
     /**
      * Buffer must be at least 5 ints long. Returns number of term ords placed into buffer; if this
      * count is less than buffer.length then that is the end.
@@ -831,7 +854,7 @@ public class DocTermOrds implements Accountable {
           code >>>= 8;
         }
       } else {
-        // code is a pointer
+        // upto is a pointer into the array
         for (; ; ) {
           int delta = 0;
           for (; ; ) {
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 56ce4ce8deb..692eb76c3d2 100644
--- a/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
+++ b/solr/core/src/test/org/apache/solr/core/TestCodecSupport.java
@@ -16,11 +16,12 @@
  */
 package org.apache.solr.core;
 
+import static org.apache.lucene.codecs.lucene90.Lucene90StoredFieldsFormat.MODE_KEY;
+
 import java.io.IOException;
 import java.util.Map;
 import org.apache.lucene.codecs.Codec;
-import org.apache.lucene.codecs.lucene90.Lucene90StoredFieldsFormat;
-import org.apache.lucene.codecs.lucene91.Lucene91Codec.Mode;
+import org.apache.lucene.codecs.lucene92.Lucene92Codec.Mode;
 import org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat;
 import org.apache.lucene.codecs.perfield.PerFieldPostingsFormat;
 import org.apache.lucene.index.SegmentInfo;
@@ -139,7 +140,7 @@ public class TestCodecSupport extends SolrTestCaseJ4 {
                   "Expecting compression mode string to be "
                       + expectedModeString
                       + " but got: "
-                      + info.getAttribute(Lucene90StoredFieldsFormat.MODE_KEY)
+                      + info.getAttribute(MODE_KEY)
                       + "\n SegmentInfo: "
                       + info
                       + "\n SegmentInfos: "
@@ -147,7 +148,7 @@ public class TestCodecSupport extends SolrTestCaseJ4 {
                       + "\n Codec: "
                       + core.getCodec(),
                   expectedModeString,
-                  info.getAttribute(Lucene90StoredFieldsFormat.MODE_KEY));
+                  info.getAttribute(MODE_KEY));
               return null;
             });
   }
diff --git a/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java b/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java
index 9962e5ce4b3..972ebacde65 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java
@@ -264,7 +264,8 @@ public class TestUninvertingReader extends SolrTestCase {
         doc.add(new LegacyIntField("notrie_single", val, NO_TRIE_TYPE));
       }
       if (0 != TestUtil.nextInt(random(), 0, 9)) {
-        int numMulti = atLeast(1);
+        // Half of the documents will have >= 5 values, i.e. the non-inline path
+        int numMulti = TestUtil.nextInt(random(), 1, 10);
         while (0 < numMulti--) {
           int val = TestUtil.nextInt(random(), MIN, MAX);
           doc.add(new LegacyIntField("trie_multi", val, Field.Store.NO));
diff --git a/solr/licenses/lucene-analysis-common-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-common-9.1.0.jar.sha1
deleted file mode 100644
index cef5ddaba1c..00000000000
--- a/solr/licenses/lucene-analysis-common-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-240e3997fb139ff001e022124c89b686b5a8498d
diff --git a/solr/licenses/lucene-analysis-common-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-common-9.3.0.jar.sha1
new file mode 100644
index 00000000000..e3b37baf78b
--- /dev/null
+++ b/solr/licenses/lucene-analysis-common-9.3.0.jar.sha1
@@ -0,0 +1 @@
+03496708a19a8a55a0dc4f61f8aa2febc6e8977c
diff --git a/solr/licenses/lucene-analysis-icu-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-icu-9.1.0.jar.sha1
deleted file mode 100644
index 38c1b93e915..00000000000
--- a/solr/licenses/lucene-analysis-icu-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-e9b429da553560fa0c363ffc04c774f957c56e14
diff --git a/solr/licenses/lucene-analysis-icu-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-icu-9.3.0.jar.sha1
new file mode 100644
index 00000000000..53f2e3f3caa
--- /dev/null
+++ b/solr/licenses/lucene-analysis-icu-9.3.0.jar.sha1
@@ -0,0 +1 @@
+11dd9be0448fe594cf918f5260e193b3ab4e07a0
diff --git a/solr/licenses/lucene-analysis-kuromoji-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-kuromoji-9.1.0.jar.sha1
deleted file mode 100644
index 795f465405c..00000000000
--- a/solr/licenses/lucene-analysis-kuromoji-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-b247f8a877237b4663e4ab7d86fae21c68a58ea5
diff --git a/solr/licenses/lucene-analysis-kuromoji-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-kuromoji-9.3.0.jar.sha1
new file mode 100644
index 00000000000..721584d4e5f
--- /dev/null
+++ b/solr/licenses/lucene-analysis-kuromoji-9.3.0.jar.sha1
@@ -0,0 +1 @@
+87c1357612f2f483174d1a63ea8c6680a1696bac
diff --git a/solr/licenses/lucene-analysis-morfologik-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-morfologik-9.1.0.jar.sha1
deleted file mode 100644
index f6587784881..00000000000
--- a/solr/licenses/lucene-analysis-morfologik-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-575c458431396baa7f01a546173807f27b12a087
diff --git a/solr/licenses/lucene-analysis-morfologik-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-morfologik-9.3.0.jar.sha1
new file mode 100644
index 00000000000..30848e52766
--- /dev/null
+++ b/solr/licenses/lucene-analysis-morfologik-9.3.0.jar.sha1
@@ -0,0 +1 @@
+3c0e4177aa87a4be2826a360f656f3559ea3f997
diff --git a/solr/licenses/lucene-analysis-nori-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-nori-9.1.0.jar.sha1
deleted file mode 100644
index 6faef66e013..00000000000
--- a/solr/licenses/lucene-analysis-nori-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-30e24b42fb0440911e702a531f4373bf397eb8c6
diff --git a/solr/licenses/lucene-analysis-nori-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-nori-9.3.0.jar.sha1
new file mode 100644
index 00000000000..852e78340e1
--- /dev/null
+++ b/solr/licenses/lucene-analysis-nori-9.3.0.jar.sha1
@@ -0,0 +1 @@
+5d032dbeb3f4015741336a877dd4b0e62099246c
diff --git a/solr/licenses/lucene-analysis-opennlp-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-opennlp-9.1.0.jar.sha1
deleted file mode 100644
index 4afdda06f8e..00000000000
--- a/solr/licenses/lucene-analysis-opennlp-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-85bfb07f5b082cb372bd76fc9ab513b87bc2ea9a
diff --git a/solr/licenses/lucene-analysis-opennlp-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-opennlp-9.3.0.jar.sha1
new file mode 100644
index 00000000000..b54cd619816
--- /dev/null
+++ b/solr/licenses/lucene-analysis-opennlp-9.3.0.jar.sha1
@@ -0,0 +1 @@
+3f000442e14e12b30593e77f5c0edf0b2eb9b1da
diff --git a/solr/licenses/lucene-analysis-phonetic-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-phonetic-9.1.0.jar.sha1
deleted file mode 100644
index 8a4cadb7de2..00000000000
--- a/solr/licenses/lucene-analysis-phonetic-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-18a321d93836ea2856a5302d192e9dc99c647c6e
diff --git a/solr/licenses/lucene-analysis-phonetic-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-phonetic-9.3.0.jar.sha1
new file mode 100644
index 00000000000..c69abaf4555
--- /dev/null
+++ b/solr/licenses/lucene-analysis-phonetic-9.3.0.jar.sha1
@@ -0,0 +1 @@
+fe6ac8772b545e0abd0c755cd4bd07caad58edb9
diff --git a/solr/licenses/lucene-analysis-smartcn-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-smartcn-9.1.0.jar.sha1
deleted file mode 100644
index 86f56e99297..00000000000
--- a/solr/licenses/lucene-analysis-smartcn-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-41c847f39a15bb8495be8c9d8a098974be15f74b
diff --git a/solr/licenses/lucene-analysis-smartcn-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-smartcn-9.3.0.jar.sha1
new file mode 100644
index 00000000000..89e34278919
--- /dev/null
+++ b/solr/licenses/lucene-analysis-smartcn-9.3.0.jar.sha1
@@ -0,0 +1 @@
+288726e13b598c341e81aef8b5c9ce53f51889d0
diff --git a/solr/licenses/lucene-analysis-stempel-9.1.0.jar.sha1 b/solr/licenses/lucene-analysis-stempel-9.1.0.jar.sha1
deleted file mode 100644
index 6d241df264f..00000000000
--- a/solr/licenses/lucene-analysis-stempel-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ee7995231b181aa0a01f5aef8775562e269f5ef7
diff --git a/solr/licenses/lucene-analysis-stempel-9.3.0.jar.sha1 b/solr/licenses/lucene-analysis-stempel-9.3.0.jar.sha1
new file mode 100644
index 00000000000..b3c2b2bbcd8
--- /dev/null
+++ b/solr/licenses/lucene-analysis-stempel-9.3.0.jar.sha1
@@ -0,0 +1 @@
+166d02f7f98f18c6607335030a404fcad8f57cd6
diff --git a/solr/licenses/lucene-backward-codecs-9.1.0.jar.sha1 b/solr/licenses/lucene-backward-codecs-9.1.0.jar.sha1
deleted file mode 100644
index ccfd88a223c..00000000000
--- a/solr/licenses/lucene-backward-codecs-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-de23bdacb09e8b39cbe876ff79c7a5b2ecc1faa6
diff --git a/solr/licenses/lucene-backward-codecs-9.3.0.jar.sha1 b/solr/licenses/lucene-backward-codecs-9.3.0.jar.sha1
new file mode 100644
index 00000000000..808e2358c8c
--- /dev/null
+++ b/solr/licenses/lucene-backward-codecs-9.3.0.jar.sha1
@@ -0,0 +1 @@
+95ea01ee0d1e543e18e3cf58d8a6a27a587a7239
diff --git a/solr/licenses/lucene-classification-9.1.0.jar.sha1 b/solr/licenses/lucene-classification-9.1.0.jar.sha1
deleted file mode 100644
index 82b88f4a3c0..00000000000
--- a/solr/licenses/lucene-classification-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-5803942558e9c60d5307c2738cabfef8b530ac50
diff --git a/solr/licenses/lucene-classification-9.3.0.jar.sha1 b/solr/licenses/lucene-classification-9.3.0.jar.sha1
new file mode 100644
index 00000000000..675f62f95a8
--- /dev/null
+++ b/solr/licenses/lucene-classification-9.3.0.jar.sha1
@@ -0,0 +1 @@
+869e85fc63f762990bbd4de01f5db8bd88846a72
diff --git a/solr/licenses/lucene-codecs-9.1.0.jar.sha1 b/solr/licenses/lucene-codecs-9.1.0.jar.sha1
deleted file mode 100644
index 32c374bc020..00000000000
--- a/solr/licenses/lucene-codecs-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c9536bef0f66c70453e8b8f4c2aafb1aa70d1575
diff --git a/solr/licenses/lucene-codecs-9.3.0.jar.sha1 b/solr/licenses/lucene-codecs-9.3.0.jar.sha1
new file mode 100644
index 00000000000..43908225541
--- /dev/null
+++ b/solr/licenses/lucene-codecs-9.3.0.jar.sha1
@@ -0,0 +1 @@
+da4e2de2008a0e8c33da7177b85225604cb5200e
diff --git a/solr/licenses/lucene-core-9.1.0.jar.sha1 b/solr/licenses/lucene-core-9.1.0.jar.sha1
deleted file mode 100644
index 5b2b8051b7c..00000000000
--- a/solr/licenses/lucene-core-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-0375603f1dacd8266526404faf0088a2ac8ec2ff
diff --git a/solr/licenses/lucene-core-9.3.0.jar.sha1 b/solr/licenses/lucene-core-9.3.0.jar.sha1
new file mode 100644
index 00000000000..f34b9127acb
--- /dev/null
+++ b/solr/licenses/lucene-core-9.3.0.jar.sha1
@@ -0,0 +1 @@
+a030180999bc3f1a65f23f53b38098ca9daeee79
diff --git a/solr/licenses/lucene-expressions-9.1.0.jar.sha1 b/solr/licenses/lucene-expressions-9.1.0.jar.sha1
deleted file mode 100644
index 48f2a532d8d..00000000000
--- a/solr/licenses/lucene-expressions-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2711abb758d101fc738c35a6867ee7559da5308b
diff --git a/solr/licenses/lucene-expressions-9.3.0.jar.sha1 b/solr/licenses/lucene-expressions-9.3.0.jar.sha1
new file mode 100644
index 00000000000..af971b587c0
--- /dev/null
+++ b/solr/licenses/lucene-expressions-9.3.0.jar.sha1
@@ -0,0 +1 @@
+5583bcd3a24d3aae40b0a3152458021844ac09aa
diff --git a/solr/licenses/lucene-grouping-9.1.0.jar.sha1 b/solr/licenses/lucene-grouping-9.1.0.jar.sha1
deleted file mode 100644
index 96fe25e26ff..00000000000
--- a/solr/licenses/lucene-grouping-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-703308505e62fa7dcb0bf64fdb6d95d335941bdc
diff --git a/solr/licenses/lucene-grouping-9.3.0.jar.sha1 b/solr/licenses/lucene-grouping-9.3.0.jar.sha1
new file mode 100644
index 00000000000..52184d05136
--- /dev/null
+++ b/solr/licenses/lucene-grouping-9.3.0.jar.sha1
@@ -0,0 +1 @@
+883071196e53ec93d2a53dcc8211ee30be6c00dc
diff --git a/solr/licenses/lucene-highlighter-9.1.0.jar.sha1 b/solr/licenses/lucene-highlighter-9.1.0.jar.sha1
deleted file mode 100644
index 56f560e19ab..00000000000
--- a/solr/licenses/lucene-highlighter-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-7f1925f6ef985000399a277ca17b8f67d3056838
diff --git a/solr/licenses/lucene-highlighter-9.3.0.jar.sha1 b/solr/licenses/lucene-highlighter-9.3.0.jar.sha1
new file mode 100644
index 00000000000..e7a73f75199
--- /dev/null
+++ b/solr/licenses/lucene-highlighter-9.3.0.jar.sha1
@@ -0,0 +1 @@
+7e895c49b9991ea2ec08855c425b9eae44a08764
diff --git a/solr/licenses/lucene-join-9.1.0.jar.sha1 b/solr/licenses/lucene-join-9.1.0.jar.sha1
deleted file mode 100644
index d457ae7999e..00000000000
--- a/solr/licenses/lucene-join-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-e7d39da8e623c99ee8da8bcc0185b2d908aca4b3
diff --git a/solr/licenses/lucene-join-9.3.0.jar.sha1 b/solr/licenses/lucene-join-9.3.0.jar.sha1
new file mode 100644
index 00000000000..ebce870dff1
--- /dev/null
+++ b/solr/licenses/lucene-join-9.3.0.jar.sha1
@@ -0,0 +1 @@
+04baaae4ce4a35ae919150dd17cd1e63b0da9d24
diff --git a/solr/licenses/lucene-memory-9.1.0.jar.sha1 b/solr/licenses/lucene-memory-9.1.0.jar.sha1
deleted file mode 100644
index 6cad2e149d7..00000000000
--- a/solr/licenses/lucene-memory-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-209166fd48dae3261ccf26990fe600332b8fb373
diff --git a/solr/licenses/lucene-memory-9.3.0.jar.sha1 b/solr/licenses/lucene-memory-9.3.0.jar.sha1
new file mode 100644
index 00000000000..9acb9f5f01c
--- /dev/null
+++ b/solr/licenses/lucene-memory-9.3.0.jar.sha1
@@ -0,0 +1 @@
+1a2203b332edc1366b9789f5286296e109dbc8c4
diff --git a/solr/licenses/lucene-misc-9.1.0.jar.sha1 b/solr/licenses/lucene-misc-9.1.0.jar.sha1
deleted file mode 100644
index 4ebdd77135a..00000000000
--- a/solr/licenses/lucene-misc-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-905d93b6389060cf4b0cb464ffa8fa2db81b60e7
diff --git a/solr/licenses/lucene-misc-9.3.0.jar.sha1 b/solr/licenses/lucene-misc-9.3.0.jar.sha1
new file mode 100644
index 00000000000..86599542e82
--- /dev/null
+++ b/solr/licenses/lucene-misc-9.3.0.jar.sha1
@@ -0,0 +1 @@
+61b502c9557247b6803a346c0bab20c9dc89d125
diff --git a/solr/licenses/lucene-queries-9.1.0.jar.sha1 b/solr/licenses/lucene-queries-9.1.0.jar.sha1
deleted file mode 100644
index f710f04c1bc..00000000000
--- a/solr/licenses/lucene-queries-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-c50fc971573910ea239ee6f275e9257b6b6bdd48
diff --git a/solr/licenses/lucene-queries-9.3.0.jar.sha1 b/solr/licenses/lucene-queries-9.3.0.jar.sha1
new file mode 100644
index 00000000000..0526043edb1
--- /dev/null
+++ b/solr/licenses/lucene-queries-9.3.0.jar.sha1
@@ -0,0 +1 @@
+d8fe3bce3c05015c5fdb78279f36b9f1a75b98d8
diff --git a/solr/licenses/lucene-queryparser-9.1.0.jar.sha1 b/solr/licenses/lucene-queryparser-9.1.0.jar.sha1
deleted file mode 100644
index 6b867b2ce6c..00000000000
--- a/solr/licenses/lucene-queryparser-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-383eb69b12f9d9c98c44237155f50c870c9a34b9
diff --git a/solr/licenses/lucene-queryparser-9.3.0.jar.sha1 b/solr/licenses/lucene-queryparser-9.3.0.jar.sha1
new file mode 100644
index 00000000000..791f07b1c3c
--- /dev/null
+++ b/solr/licenses/lucene-queryparser-9.3.0.jar.sha1
@@ -0,0 +1 @@
+78f259a66d48f77a2d2b96a0a858efa08eba72dc
diff --git a/solr/licenses/lucene-sandbox-9.1.0.jar.sha1 b/solr/licenses/lucene-sandbox-9.1.0.jar.sha1
deleted file mode 100644
index d2e21b518c3..00000000000
--- a/solr/licenses/lucene-sandbox-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-0c728684e750a63f881998fbe27afd897f739762
diff --git a/solr/licenses/lucene-sandbox-9.3.0.jar.sha1 b/solr/licenses/lucene-sandbox-9.3.0.jar.sha1
new file mode 100644
index 00000000000..3cab8fb989b
--- /dev/null
+++ b/solr/licenses/lucene-sandbox-9.3.0.jar.sha1
@@ -0,0 +1 @@
+5ee318cf8e9a70c2c99e03e157465316a3d4a17a
diff --git a/solr/licenses/lucene-spatial-extras-9.1.0.jar.sha1 b/solr/licenses/lucene-spatial-extras-9.1.0.jar.sha1
deleted file mode 100644
index 4659e5ec9a5..00000000000
--- a/solr/licenses/lucene-spatial-extras-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-94d7d107c399cd11d407b94fa62f5677fe86f63b
diff --git a/solr/licenses/lucene-spatial-extras-9.3.0.jar.sha1 b/solr/licenses/lucene-spatial-extras-9.3.0.jar.sha1
new file mode 100644
index 00000000000..60d60b0d639
--- /dev/null
+++ b/solr/licenses/lucene-spatial-extras-9.3.0.jar.sha1
@@ -0,0 +1 @@
+c9b226b49ae987a4226791f023562187583eb9ad
diff --git a/solr/licenses/lucene-spatial3d-9.1.0.jar.sha1 b/solr/licenses/lucene-spatial3d-9.1.0.jar.sha1
deleted file mode 100644
index 3f81587eaac..00000000000
--- a/solr/licenses/lucene-spatial3d-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-7717b300bc14dfa9eb4b7d5970d8e25a60010e64
diff --git a/solr/licenses/lucene-spatial3d-9.3.0.jar.sha1 b/solr/licenses/lucene-spatial3d-9.3.0.jar.sha1
new file mode 100644
index 00000000000..9148377cb3b
--- /dev/null
+++ b/solr/licenses/lucene-spatial3d-9.3.0.jar.sha1
@@ -0,0 +1 @@
+201aa61856ae44fa494504591aed54fd9b75af16
diff --git a/solr/licenses/lucene-suggest-9.1.0.jar.sha1 b/solr/licenses/lucene-suggest-9.1.0.jar.sha1
deleted file mode 100644
index 08815229f23..00000000000
--- a/solr/licenses/lucene-suggest-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-957fca507eba94dbc3ef0d02377839be49bbe619
diff --git a/solr/licenses/lucene-suggest-9.3.0.jar.sha1 b/solr/licenses/lucene-suggest-9.3.0.jar.sha1
new file mode 100644
index 00000000000..341ccfb9844
--- /dev/null
+++ b/solr/licenses/lucene-suggest-9.3.0.jar.sha1
@@ -0,0 +1 @@
+fb5d7243ba67616edbda1ecf421c615dd595752d
diff --git a/solr/licenses/lucene-test-framework-9.1.0.jar.sha1 b/solr/licenses/lucene-test-framework-9.1.0.jar.sha1
deleted file mode 100644
index 14ef9adddc1..00000000000
--- a/solr/licenses/lucene-test-framework-9.1.0.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-6cdac8a65e00d4b587f8f7de0d041b53fc16c33f
diff --git a/solr/licenses/lucene-test-framework-9.3.0.jar.sha1 b/solr/licenses/lucene-test-framework-9.3.0.jar.sha1
new file mode 100644
index 00000000000..c546120df73
--- /dev/null
+++ b/solr/licenses/lucene-test-framework-9.3.0.jar.sha1
@@ -0,0 +1 @@
+8fa33b8df96e99233afa3475eb9de1d3b302cc4e
diff --git a/solr/licenses/morfologik-fsa-2.1.8.jar.sha1 b/solr/licenses/morfologik-fsa-2.1.8.jar.sha1
deleted file mode 100644
index 8e121e5971a..00000000000
--- a/solr/licenses/morfologik-fsa-2.1.8.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-68e23e2c57fe5699d511b3a7a2f202f90020e214
diff --git a/solr/licenses/morfologik-fsa-2.1.9.jar.sha1 b/solr/licenses/morfologik-fsa-2.1.9.jar.sha1
new file mode 100644
index 00000000000..9bc71a8a652
--- /dev/null
+++ b/solr/licenses/morfologik-fsa-2.1.9.jar.sha1
@@ -0,0 +1 @@
+a12005eacfbbbe256fd4d41f80f6e3675d7e314e
diff --git a/solr/licenses/morfologik-polish-2.1.8.jar.sha1 b/solr/licenses/morfologik-polish-2.1.8.jar.sha1
deleted file mode 100644
index 82e03b31945..00000000000
--- a/solr/licenses/morfologik-polish-2.1.8.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-f8fc4e6674395ffcb64c23ada9da74295b265bc5
diff --git a/solr/licenses/morfologik-polish-2.1.9.jar.sha1 b/solr/licenses/morfologik-polish-2.1.9.jar.sha1
new file mode 100644
index 00000000000..f492c902143
--- /dev/null
+++ b/solr/licenses/morfologik-polish-2.1.9.jar.sha1
@@ -0,0 +1 @@
+0a9f1d18c6ecbe4439cf7f92182f7d9ff451fc4d
diff --git a/solr/licenses/morfologik-stemming-2.1.8.jar.sha1 b/solr/licenses/morfologik-stemming-2.1.8.jar.sha1
deleted file mode 100644
index 4321357a5f0..00000000000
--- a/solr/licenses/morfologik-stemming-2.1.8.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-409fa92db4cfb0f90a33d303732a4882cee3d1e7
diff --git a/solr/licenses/morfologik-stemming-2.1.9.jar.sha1 b/solr/licenses/morfologik-stemming-2.1.9.jar.sha1
new file mode 100644
index 00000000000..14774cf47e9
--- /dev/null
+++ b/solr/licenses/morfologik-stemming-2.1.9.jar.sha1
@@ -0,0 +1 @@
+c3a590409efce30f84154044eaea49a4313535bd
diff --git a/solr/licenses/randomizedtesting-runner-2.7.9.jar.sha1 b/solr/licenses/randomizedtesting-runner-2.7.9.jar.sha1
deleted file mode 100644
index acca4f7c0db..00000000000
--- a/solr/licenses/randomizedtesting-runner-2.7.9.jar.sha1
+++ /dev/null
@@ -1 +0,0 @@
-98bf05d3892eddb520d66b28535c2031c5fee599
diff --git a/solr/licenses/randomizedtesting-runner-2.8.0.jar.sha1 b/solr/licenses/randomizedtesting-runner-2.8.0.jar.sha1
new file mode 100644
index 00000000000..a6b0aaa5121
--- /dev/null
+++ b/solr/licenses/randomizedtesting-runner-2.8.0.jar.sha1
@@ -0,0 +1 @@
+631ae08801457db4398d0b376305d0cdab357a60
diff --git a/solr/server/solr/configsets/_default/conf/solrconfig.xml b/solr/server/solr/configsets/_default/conf/solrconfig.xml
index 6648cc50206..3642233488e 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.1</luceneMatchVersion>
+  <luceneMatchVersion>9.3</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 034b0b194aa..c5ce421e7fe 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.1</luceneMatchVersion>
+  <luceneMatchVersion>9.3</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 f47035c16bf..7c493f11392 100644
--- a/versions.lock
+++ b/versions.lock
@@ -1,7 +1,7 @@
 # Run ./gradlew --write-locks to regenerate this file
 com.beust:jcommander:1.82 (2 constraints: 2b123714)
 com.carrotsearch:hppc:0.9.1 (2 constraints: ac0fc8a6)
-com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.7.9 (2 constraints: da1558e3)
+com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.8.0 (2 constraints: d51555e3)
 com.cybozu.labs:langdetect:1.1-20120112 (1 constraints: 5c066d5e)
 com.epam:parso:2.0.14 (1 constraints: 8e0c750e)
 com.esri.geometry:esri-geometry-api:2.2.0 (1 constraints: 5c0db22c)
@@ -153,32 +153,32 @@ org.apache.logging.log4j:log4j-core:2.17.1 (4 constraints: 8739df28)
 org.apache.logging.log4j:log4j-layout-template-json:2.17.1 (1 constraints: 3d05453b)
 org.apache.logging.log4j:log4j-slf4j-impl:2.17.1 (1 constraints: 3d05453b)
 org.apache.logging.log4j:log4j-web:2.17.1 (1 constraints: 3d05453b)
-org.apache.lucene:lucene-analysis-common:9.1.0 (10 constraints: b69e1c38)
-org.apache.lucene:lucene-analysis-icu:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-analysis-kuromoji:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-analysis-morfologik:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-analysis-nori:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-analysis-opennlp:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-analysis-phonetic:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-analysis-smartcn:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-analysis-stempel:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-backward-codecs:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-classification:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-codecs:9.1.0 (3 constraints: 9625b041)
-org.apache.lucene:lucene-core:9.1.0 (26 constraints: ad8f7e83)
-org.apache.lucene:lucene-expressions:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-grouping:9.1.0 (2 constraints: de154ce3)
-org.apache.lucene:lucene-highlighter:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-join:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-memory:9.1.0 (1 constraints: 960fa283)
-org.apache.lucene:lucene-misc:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-queries:9.1.0 (6 constraints: a251d26e)
-org.apache.lucene:lucene-queryparser:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-sandbox:9.1.0 (2 constraints: d51434a0)
-org.apache.lucene:lucene-spatial-extras:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-spatial3d:9.1.0 (1 constraints: b910aab9)
-org.apache.lucene:lucene-suggest:9.1.0 (1 constraints: 0c051b36)
-org.apache.lucene:lucene-test-framework:9.1.0 (1 constraints: 0c051b36)
+org.apache.lucene:lucene-analysis-common:9.3.0 (10 constraints: ca9e4c49)
+org.apache.lucene:lucene-analysis-icu:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-analysis-kuromoji:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-analysis-morfologik:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-analysis-nori:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-analysis-opennlp:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-analysis-phonetic:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-analysis-smartcn:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-analysis-stempel:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-backward-codecs:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-classification:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-codecs:9.3.0 (3 constraints: 9c25dc42)
+org.apache.lucene:lucene-core:9.3.0 (26 constraints: e18f18f4)
+org.apache.lucene:lucene-expressions:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-grouping:9.3.0 (2 constraints: e215b8e3)
+org.apache.lucene:lucene-highlighter:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-join:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-memory:9.3.0 (1 constraints: 980fa883)
+org.apache.lucene:lucene-misc:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-queries:9.3.0 (6 constraints: ae510e74)
+org.apache.lucene:lucene-queryparser:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-sandbox:9.3.0 (2 constraints: d9149aa0)
+org.apache.lucene:lucene-spatial-extras:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-spatial3d:9.3.0 (1 constraints: bb10b0b9)
+org.apache.lucene:lucene-suggest:9.3.0 (1 constraints: 0e052136)
+org.apache.lucene:lucene-test-framework:9.3.0 (1 constraints: 0e052136)
 org.apache.opennlp:opennlp-tools:1.9.4 (3 constraints: 0823a25b)
 org.apache.pdfbox:fontbox:2.0.25 (1 constraints: 170b71d8)
 org.apache.pdfbox:jbig2-imageio:3.0.3 (1 constraints: 5d0cee01)
@@ -211,9 +211,9 @@ org.bouncycastle:bcprov-jdk15on:1.70 (4 constraints: 1f34ee12)
 org.bouncycastle:bcutil-jdk15on:1.70 (2 constraints: 961ad454)
 org.brotli:dec:0.1.2 (1 constraints: 5a0ce101)
 org.carrot2:carrot2-core:4.4.2 (1 constraints: 0c050d36)
-org.carrot2:morfologik-fsa:2.1.8 (1 constraints: da0d9b36)
-org.carrot2:morfologik-polish:2.1.8 (1 constraints: d212531e)
-org.carrot2:morfologik-stemming:2.1.8 (2 constraints: d61f8b00)
+org.carrot2:morfologik-fsa:2.1.9 (1 constraints: db0d9c36)
+org.carrot2:morfologik-polish:2.1.9 (1 constraints: d312541e)
+org.carrot2:morfologik-stemming:2.1.9 (2 constraints: d81fb300)
 org.ccil.cowan.tagsoup:tagsoup:1.2.1 (1 constraints: 5b0ce801)
 org.checkerframework:checker-qual:3.20.0 (5 constraints: 514652ea)
 org.codehaus.janino:commons-compiler:3.0.11 (2 constraints: 81192719)
diff --git a/versions.props b/versions.props
index 3a4a1741d04..b888ae0ea88 100644
--- a/versions.props
+++ b/versions.props
@@ -48,7 +48,7 @@ org.apache.httpcomponents:httpcore=4.4.15
 org.apache.httpcomponents:httpmime=4.5.13
 org.apache.kerby:*=1.0.1
 org.apache.logging.log4j:*=2.17.1
-org.apache.lucene:*=9.1.0
+org.apache.lucene:*=9.3.0
 org.apache.opennlp:opennlp-tools=1.9.4
 org.apache.tika:*=1.28.1
 org.apache.zookeeper:*=3.7.0