You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2023/01/05 22:58:37 UTC

[couchdb] 07/07: lucene9 package

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

rnewson pushed a commit to branch import-nouveau-reorg
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 3130cedee044e4b569cd0a171797e944d80d9007
Author: Robert Newson <rn...@apache.org>
AuthorDate: Thu Jan 5 22:52:04 2023 +0000

    lucene9 package
---
 .../java/org/apache/couchdb/nouveau/NouveauApplication.java    | 10 +++++-----
 .../java/org/apache/couchdb/nouveau/core/IndexManager.java     |  1 +
 .../nouveau/core/{ser => lucene9}/BytesRefDeserializer.java    |  2 +-
 .../nouveau/core/{ser => lucene9}/BytesRefSerializer.java      |  2 +-
 .../nouveau/core/{ser => lucene9}/DoubleRangeDeserializer.java |  2 +-
 .../nouveau/core/{ser => lucene9}/DoubleRangeSerializer.java   |  2 +-
 .../nouveau/core/{ser => lucene9}/FieldDocDeserializer.java    |  2 +-
 .../nouveau/core/{ser => lucene9}/FieldDocSerializer.java      |  2 +-
 .../core/{ser => lucene9}/IndexableFieldDeserializer.java      |  2 +-
 .../core/{ser => lucene9}/IndexableFieldSerializer.java        |  2 +-
 .../nouveau/core/{ => lucene9}/Lucene9AnalyzerFactory.java     |  2 +-
 .../couchdb/nouveau/core/{ => lucene9}/Lucene9Index.java       |  7 +++++--
 .../nouveau/core/{ => lucene9}/Lucene9IndexFactory.java        |  4 +++-
 .../core/{ser/LuceneModule.java => lucene9/Lucene9Module.java} |  6 +++---
 .../core/{ => lucene9}/Lucene9ParallelSearcherFactory.java     |  2 +-
 .../Lucene9QueryParser.java}                                   |  9 ++++++---
 .../couchdb/nouveau/core/{ser => lucene9}/SupportedType.java   |  2 +-
 .../nouveau/core/{ser => lucene9}/TotalHitsDeserializer.java   |  2 +-
 .../org/apache/couchdb/nouveau/resources/AnalyzeResource.java  |  2 +-
 .../apache/couchdb/nouveau/api/DocumentUpdateRequestTest.java  |  4 ++--
 .../java/org/apache/couchdb/nouveau/api/SearchRequestTest.java |  4 ++--
 .../java/org/apache/couchdb/nouveau/core/IndexManagerTest.java |  2 ++
 .../nouveau/core/{ => lucene9}/Lucene9AnalyzerFactoryTest.java |  2 +-
 .../LuceneModuleTest.java => lucene9/Lucene9ModuleTest.java}   |  7 ++++---
 24 files changed, 47 insertions(+), 35 deletions(-)

diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
index 7a64e89bd..05711ce96 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
@@ -14,11 +14,11 @@
 package org.apache.couchdb.nouveau;
 
 import org.apache.couchdb.nouveau.core.IndexManager;
-import org.apache.couchdb.nouveau.core.Lucene9AnalyzerFactory;
-import org.apache.couchdb.nouveau.core.Lucene9IndexFactory;
-import org.apache.couchdb.nouveau.core.Lucene9ParallelSearcherFactory;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9AnalyzerFactory;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9IndexFactory;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9ParallelSearcherFactory;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9Module;
 import org.apache.couchdb.nouveau.core.UpdatesOutOfOrderExceptionMapper;
-import org.apache.couchdb.nouveau.core.ser.LuceneModule;
 import org.apache.couchdb.nouveau.health.AnalyzeHealthCheck;
 import org.apache.couchdb.nouveau.health.IndexManagerHealthCheck;
 import org.apache.couchdb.nouveau.resources.AnalyzeResource;
@@ -58,7 +58,7 @@ public class NouveauApplication extends Application<NouveauApplicationConfigurat
         indexFactory.setSearcherFactory(searcherFactory);
 
         final ObjectMapper objectMapper = environment.getObjectMapper();
-        objectMapper.registerModule(new LuceneModule());
+        objectMapper.registerModule(new Lucene9Module());
 
         final IndexManager indexManager = new IndexManager();
         indexManager.setMetricRegistry(metricsRegistry);
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java
index 8fc60ce26..4b3c07a18 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java
@@ -27,6 +27,7 @@ import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response.Status;
 
 import org.apache.couchdb.nouveau.api.IndexDefinition;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9AnalyzerFactory;
 import org.apache.couchdb.nouveau.l9x.lucene.util.IOUtils;
 import org.checkerframework.checker.nullness.qual.NonNull;
 import org.checkerframework.checker.nullness.qual.Nullable;
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/BytesRefDeserializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/BytesRefDeserializer.java
similarity index 96%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/BytesRefDeserializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/BytesRefDeserializer.java
index fea58a4c7..5258543b2 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/BytesRefDeserializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/BytesRefDeserializer.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/BytesRefSerializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/BytesRefSerializer.java
similarity index 96%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/BytesRefSerializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/BytesRefSerializer.java
index 6669e84cf..2dab1642e 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/BytesRefSerializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/BytesRefSerializer.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleRangeDeserializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/DoubleRangeDeserializer.java
similarity index 97%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleRangeDeserializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/DoubleRangeDeserializer.java
index 9e23b041e..6efe13e1d 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleRangeDeserializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/DoubleRangeDeserializer.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleRangeSerializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/DoubleRangeSerializer.java
similarity index 96%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleRangeSerializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/DoubleRangeSerializer.java
index 210ab83e3..f276f3e82 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleRangeSerializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/DoubleRangeSerializer.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/FieldDocDeserializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/FieldDocDeserializer.java
similarity index 98%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/FieldDocDeserializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/FieldDocDeserializer.java
index 4418011ad..2e411bcdc 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/FieldDocDeserializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/FieldDocDeserializer.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/FieldDocSerializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/FieldDocSerializer.java
similarity index 98%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/FieldDocSerializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/FieldDocSerializer.java
index 3158710e0..817a717cb 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/FieldDocSerializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/FieldDocSerializer.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/IndexableFieldDeserializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/IndexableFieldDeserializer.java
similarity index 99%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/IndexableFieldDeserializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/IndexableFieldDeserializer.java
index 66ccd7978..25c0e5b28 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/IndexableFieldDeserializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/IndexableFieldDeserializer.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/IndexableFieldSerializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/IndexableFieldSerializer.java
similarity index 98%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/IndexableFieldSerializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/IndexableFieldSerializer.java
index 202f61842..f7db3bb64 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/IndexableFieldSerializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/IndexableFieldSerializer.java
@@ -1,4 +1,4 @@
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9AnalyzerFactory.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9AnalyzerFactory.java
similarity index 99%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9AnalyzerFactory.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9AnalyzerFactory.java
index 507894348..a4dae5881 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9AnalyzerFactory.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9AnalyzerFactory.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9Index.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9Index.java
similarity index 98%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9Index.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9Index.java
index 2aa1e892c..4e321b42a 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9Index.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9Index.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 import java.nio.file.Path;
@@ -32,6 +32,9 @@ import org.apache.couchdb.nouveau.api.DocumentUpdateRequest;
 import org.apache.couchdb.nouveau.api.SearchHit;
 import org.apache.couchdb.nouveau.api.SearchRequest;
 import org.apache.couchdb.nouveau.api.SearchResults;
+import org.apache.couchdb.nouveau.core.Index;
+import org.apache.couchdb.nouveau.core.QueryParser;
+import org.apache.couchdb.nouveau.core.QueryParserException;
 import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
 import org.apache.couchdb.nouveau.l9x.lucene.document.Document;
 import org.apache.couchdb.nouveau.l9x.lucene.document.Field.Store;
@@ -333,7 +336,7 @@ class Lucene9Index extends Index {
     }
 
     public QueryParser newQueryParser() {
-        return new NouveauQueryParser("default", analyzer);
+        return new Lucene9QueryParser("default", analyzer);
     }
 
 }
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9IndexFactory.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9IndexFactory.java
similarity index 91%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9IndexFactory.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9IndexFactory.java
index 6bb737b41..a1b50368f 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9IndexFactory.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9IndexFactory.java
@@ -11,12 +11,14 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 import java.nio.file.Path;
 
 import org.apache.couchdb.nouveau.api.IndexDefinition;
+import org.apache.couchdb.nouveau.core.Index;
+import org.apache.couchdb.nouveau.core.IndexFactory;
 import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
 import org.apache.couchdb.nouveau.l9x.lucene.search.SearcherFactory;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/LuceneModule.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9Module.java
similarity index 93%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/LuceneModule.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9Module.java
index 470d7805b..af4bd5d68 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/LuceneModule.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9Module.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import com.fasterxml.jackson.core.Version;
 import com.fasterxml.jackson.databind.module.SimpleModule;
@@ -21,9 +21,9 @@ import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
 import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
 import org.apache.couchdb.nouveau.l9x.lucene.search.TotalHits;
 
-public class LuceneModule extends SimpleModule {
+public class Lucene9Module extends SimpleModule {
 
-    public LuceneModule() {
+    public Lucene9Module() {
         super("lucene", Version.unknownVersion());
 
         // IndexableField
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9ParallelSearcherFactory.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9ParallelSearcherFactory.java
similarity index 96%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9ParallelSearcherFactory.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9ParallelSearcherFactory.java
index 653fc0664..6127d860d 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/Lucene9ParallelSearcherFactory.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9ParallelSearcherFactory.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 import java.util.concurrent.Executor;
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/NouveauQueryParser.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9QueryParser.java
similarity index 95%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/NouveauQueryParser.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9QueryParser.java
index 5e4ec4c3f..2c311cf23 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/NouveauQueryParser.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9QueryParser.java
@@ -11,9 +11,12 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import org.apache.couchdb.nouveau.api.SearchRequest;
+import org.apache.couchdb.nouveau.core.NumericRangeQueryProcessor;
+import org.apache.couchdb.nouveau.core.QueryParser;
+import org.apache.couchdb.nouveau.core.QueryParserException;
 import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
 import org.apache.couchdb.nouveau.l9x.lucene.index.Term;
 import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.QueryNodeException;
@@ -49,7 +52,7 @@ import org.apache.couchdb.nouveau.l9x.lucene.search.BooleanQuery;
 import org.apache.couchdb.nouveau.l9x.lucene.search.Query;
 import org.apache.couchdb.nouveau.l9x.lucene.search.TermQuery;
 
-public class NouveauQueryParser extends QueryParserHelper implements QueryParser {
+public class Lucene9QueryParser extends QueryParserHelper implements QueryParser {
 
     private static class NouveauQueryNodeProcessorPipeline extends QueryNodeProcessorPipeline {
 
@@ -83,7 +86,7 @@ public class NouveauQueryParser extends QueryParserHelper implements QueryParser
 
     private final String defaultField;
 
-    public NouveauQueryParser(final String defaultField, final Analyzer analyzer) {
+    public Lucene9QueryParser(final String defaultField, final Analyzer analyzer) {
         super(
                 new StandardQueryConfigHandler(),
                 new StandardSyntaxParser(),
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/SupportedType.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/SupportedType.java
similarity index 98%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/SupportedType.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/SupportedType.java
index b52353750..6a9465bd4 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/SupportedType.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/SupportedType.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import org.apache.couchdb.nouveau.l9x.lucene.document.BinaryDocValuesField;
 import org.apache.couchdb.nouveau.l9x.lucene.document.DoubleDocValuesField;
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/TotalHitsDeserializer.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/TotalHitsDeserializer.java
similarity index 97%
rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/TotalHitsDeserializer.java
rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/TotalHitsDeserializer.java
index d5572b396..2e3fa5d1a 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/ser/TotalHitsDeserializer.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene9/TotalHitsDeserializer.java
@@ -10,7 +10,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import java.io.IOException;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
index 07a1cd914..0bb8a4e5a 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
@@ -29,7 +29,7 @@ import javax.ws.rs.core.Response.Status;
 
 import org.apache.couchdb.nouveau.api.AnalyzeRequest;
 import org.apache.couchdb.nouveau.api.AnalyzeResponse;
-import org.apache.couchdb.nouveau.core.Lucene9AnalyzerFactory;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9AnalyzerFactory;
 import com.codahale.metrics.annotation.Timed;
 
 import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequestTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequestTest.java
index 29262a355..60470c5d1 100644
--- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequestTest.java
+++ b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequestTest.java
@@ -19,9 +19,9 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.couchdb.nouveau.core.ser.LuceneModule;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9Module;
 import org.apache.couchdb.nouveau.l9x.lucene.document.DoublePoint;
 import org.apache.couchdb.nouveau.l9x.lucene.document.Field.Store;
 import org.apache.couchdb.nouveau.l9x.lucene.document.StringField;
@@ -37,7 +37,7 @@ public class DocumentUpdateRequestTest {
     @BeforeAll
     public static void setupMapper() {
         mapper = new ObjectMapper();
-        mapper.registerModule(new LuceneModule());
+        mapper.registerModule(new Lucene9Module());
     }
 
     @Test
diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/SearchRequestTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/SearchRequestTest.java
index 9ab74eeb0..6cd4dfb41 100644
--- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/SearchRequestTest.java
+++ b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/api/SearchRequestTest.java
@@ -6,7 +6,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.couchdb.nouveau.core.ser.LuceneModule;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9Module;
 import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -20,7 +20,7 @@ public class SearchRequestTest {
     @BeforeAll
     public static void setupMapper() {
         mapper = new ObjectMapper();
-        mapper.registerModule(new LuceneModule());
+        mapper.registerModule(new Lucene9Module());
     }
 
     @Test
diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java
index 4487b69e3..4cbc68e4e 100644
--- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java
+++ b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java
@@ -16,6 +16,8 @@ package org.apache.couchdb.nouveau.core;
 import java.nio.file.Path;
 
 import org.apache.couchdb.nouveau.api.IndexDefinition;
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9AnalyzerFactory;
+
 import static org.apache.couchdb.nouveau.api.LuceneVersion.*;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/Lucene9AnalyzerFactoryTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9AnalyzerFactoryTest.java
similarity index 99%
rename from java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/Lucene9AnalyzerFactoryTest.java
rename to java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9AnalyzerFactoryTest.java
index 3a26134f4..72e081f50 100644
--- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/Lucene9AnalyzerFactoryTest.java
+++ b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9AnalyzerFactoryTest.java
@@ -11,7 +11,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/ser/LuceneModuleTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9ModuleTest.java
similarity index 96%
rename from java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/ser/LuceneModuleTest.java
rename to java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9ModuleTest.java
index 64e8844d8..2c8da841d 100644
--- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/ser/LuceneModuleTest.java
+++ b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/lucene9/Lucene9ModuleTest.java
@@ -11,13 +11,14 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.apache.couchdb.nouveau.core.ser;
+package org.apache.couchdb.nouveau.core.lucene9;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+import org.apache.couchdb.nouveau.core.lucene9.Lucene9Module;
 import org.apache.couchdb.nouveau.l9x.lucene.document.DoublePoint;
 import org.apache.couchdb.nouveau.l9x.lucene.document.Field.Store;
 import org.apache.couchdb.nouveau.l9x.lucene.document.StoredField;
@@ -28,14 +29,14 @@ import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
-public class LuceneModuleTest {
+public class Lucene9ModuleTest {
 
     private static ObjectMapper mapper;
 
     @BeforeAll
     public static void setupMapper() {
         mapper = new ObjectMapper();
-        mapper.registerModule(new LuceneModule());
+        mapper.registerModule(new Lucene9Module());
     }
 
     @Test