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:36 UTC

[couchdb] 06/07: change shaded lib goop

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 35e470d56b0dbdabea103f306f9fffe56ad04e5e
Author: Robert Newson <rn...@apache.org>
AuthorDate: Tue Jan 3 23:51:35 2023 +0000

    change shaded lib goop
---
 Makefile                                           | 16 ++---
 java/nouveau/Makefile                              | 14 ++++
 java/nouveau/pom.xml                               | 70 -------------------
 .../couchdb/nouveau/api/DocumentUpdateRequest.java |  2 +-
 .../org/apache/couchdb/nouveau/api/SearchHit.java  |  4 +-
 .../apache/couchdb/nouveau/api/SearchRequest.java  |  4 +-
 .../apache/couchdb/nouveau/api/SearchResults.java  |  2 +-
 .../apache/couchdb/nouveau/core/IndexManager.java  |  2 +-
 .../nouveau/core/Lucene9AnalyzerFactory.java       | 80 +++++++++++-----------
 .../apache/couchdb/nouveau/core/Lucene9Index.java  | 72 +++++++++----------
 .../couchdb/nouveau/core/Lucene9IndexFactory.java  |  4 +-
 .../core/Lucene9ParallelSearcherFactory.java       |  6 +-
 .../couchdb/nouveau/core/NouveauQueryParser.java   | 68 +++++++++---------
 .../nouveau/core/NumericRangeQueryProcessor.java   | 16 ++---
 .../apache/couchdb/nouveau/core/QueryParser.java   |  2 +-
 .../nouveau/core/ser/BytesRefDeserializer.java     |  2 +-
 .../nouveau/core/ser/BytesRefSerializer.java       |  2 +-
 .../nouveau/core/ser/DoubleRangeDeserializer.java  |  2 +-
 .../nouveau/core/ser/DoubleRangeSerializer.java    |  2 +-
 .../nouveau/core/ser/FieldDocDeserializer.java     |  4 +-
 .../nouveau/core/ser/FieldDocSerializer.java       |  4 +-
 .../core/ser/IndexableFieldDeserializer.java       | 40 +++++------
 .../nouveau/core/ser/IndexableFieldSerializer.java |  8 +--
 .../couchdb/nouveau/core/ser/LuceneModule.java     |  8 +--
 .../couchdb/nouveau/core/ser/SupportedType.java    | 36 +++++-----
 .../nouveau/core/ser/TotalHitsDeserializer.java    |  4 +-
 .../couchdb/nouveau/resources/AnalyzeResource.java |  6 +-
 .../apache/couchdb/nouveau/IntegrationTest.java    | 16 ++---
 .../nouveau/api/DocumentUpdateRequestTest.java     | 10 +--
 .../couchdb/nouveau/api/SearchRequestTest.java     |  2 +-
 .../nouveau/core/Lucene9AnalyzerFactoryTest.java   | 78 ++++++++++-----------
 .../couchdb/nouveau/core/ser/LuceneModuleTest.java | 14 ++--
 java/nouveau/shaded-lucene-4.6.1/pom.xml           | 12 ++--
 java/nouveau/shaded-lucene-9.x/pom.xml             | 12 ++--
 34 files changed, 288 insertions(+), 336 deletions(-)

diff --git a/Makefile b/Makefile
index 69c363935..93b61ce47 100644
--- a/Makefile
+++ b/Makefile
@@ -514,14 +514,14 @@ derived:
 # Nouveau
 ################################################################################
 
-.PHONY: nouveau
-nouveau:
-	@cd java/nouveau && mvn install
+.PHONY: nouveau-init
+nouveau-init:
+	@$(MAKE) -C java/nouveau install-shaded-libs
 
-.PHONY: nouveau-clean
-nouveau-clean:
-	@cd java/nouveau && mvn clean
+.PHONY: nouveau-test
+nouveau-test:
+	@$(MAKE) -C java/nouveau test
 
 .PHONY: nouveau-start
-nouveau-start: nouveau
-	@cd java/nouveau/server && mvn exec:exec -Dexec.executable="java"
+nouveau-start: nouveau-test
+	@$(MAKE) -C java/nouveau/server start
diff --git a/java/nouveau/Makefile b/java/nouveau/Makefile
new file mode 100644
index 000000000..0f9e6e6c3
--- /dev/null
+++ b/java/nouveau/Makefile
@@ -0,0 +1,14 @@
+test:
+	@cd server && mvn test
+
+run: test
+	@cd server && mvn exec:exec -Dexec.executable="java"
+
+install-shaded-libs:
+	@cd shaded-lucene-4.6.1 && mvn install
+	@cd shaded-lucene-9.x && mvn install
+
+
+
+
+
diff --git a/java/nouveau/pom.xml b/java/nouveau/pom.xml
deleted file mode 100644
index c6ccea749..000000000
--- a/java/nouveau/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.couchdb.nouveau</groupId>
-  <artifactId>parent</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <packaging>pom</packaging>
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-    <maven.compiler.source>11</maven.compiler.source>
-    <maven.compiler.target>11</maven.compiler.target>
-    <argLine>-Duser.language=en -Duser.region=US -Duser.timezone=UTC</argLine>
-  </properties>
-
-  <modules>
-    <module>shaded-lucene-9.x</module>
-    <module>shaded-lucene-4.6.1</module>
-    <module>server</module>
-  </modules>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-          <configuration>
-            <source>11</source>
-            <target>11</target>
-          </configuration>
-        </plugin>
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.22.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-jar-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-site-plugin</artifactId>
-          <version>3.7.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-project-info-reports-plugin</artifactId>
-          <version>3.0.0</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
-</project>
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java
index 653ce1685..92a8e2076 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java
@@ -21,7 +21,7 @@ import javax.validation.constraints.NotNull;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
-import l9x.org.apache.lucene.index.IndexableField;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
 
 import io.dropwizard.jackson.JsonSnakeCase;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchHit.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchHit.java
index 77a996485..f268def58 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchHit.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchHit.java
@@ -18,8 +18,8 @@ import java.util.Collection;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 
-import l9x.org.apache.lucene.index.IndexableField;
-import l9x.org.apache.lucene.search.FieldDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
+import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
 
 import io.dropwizard.jackson.JsonSnakeCase;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java
index 603b4112f..556adbd58 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java
@@ -23,8 +23,8 @@ import javax.validation.constraints.NotNull;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
-import l9x.org.apache.lucene.facet.range.DoubleRange;
-import l9x.org.apache.lucene.search.FieldDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
+import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
 
 import io.dropwizard.jackson.JsonSnakeCase;
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java
index 02d231c85..cb4d7a40c 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java
@@ -22,7 +22,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 
 import io.dropwizard.jackson.JsonSnakeCase;
 
-import l9x.org.apache.lucene.search.TotalHits;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TotalHits;
 
 @JsonSnakeCase
 public class SearchResults {
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 1d8085dfa..8fc60ce26 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,7 +27,7 @@ import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response.Status;
 
 import org.apache.couchdb.nouveau.api.IndexDefinition;
-import l9x.org.apache.lucene.util.IOUtils;
+import org.apache.couchdb.nouveau.l9x.lucene.util.IOUtils;
 import org.checkerframework.checker.nullness.qual.NonNull;
 import org.checkerframework.checker.nullness.qual.Nullable;
 import org.slf4j.Logger;
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/Lucene9AnalyzerFactory.java
index 2927ce398..507894348 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/Lucene9AnalyzerFactory.java
@@ -21,46 +21,46 @@ import javax.ws.rs.core.Response.Status;
 
 import org.apache.couchdb.nouveau.api.IndexDefinition;
 
-import l9x.org.apache.lucene.analysis.Analyzer;
-import l9x.org.apache.lucene.analysis.ar.ArabicAnalyzer;
-import l9x.org.apache.lucene.analysis.bg.BulgarianAnalyzer;
-import l9x.org.apache.lucene.analysis.ca.CatalanAnalyzer;
-import l9x.org.apache.lucene.analysis.cjk.CJKAnalyzer;
-import l9x.org.apache.lucene.analysis.classic.ClassicAnalyzer;
-import l9x.org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer;
-import l9x.org.apache.lucene.analysis.core.KeywordAnalyzer;
-import l9x.org.apache.lucene.analysis.core.SimpleAnalyzer;
-import l9x.org.apache.lucene.analysis.core.WhitespaceAnalyzer;
-import l9x.org.apache.lucene.analysis.cz.CzechAnalyzer;
-import l9x.org.apache.lucene.analysis.da.DanishAnalyzer;
-import l9x.org.apache.lucene.analysis.de.GermanAnalyzer;
-import l9x.org.apache.lucene.analysis.email.UAX29URLEmailAnalyzer;
-import l9x.org.apache.lucene.analysis.en.EnglishAnalyzer;
-import l9x.org.apache.lucene.analysis.es.SpanishAnalyzer;
-import l9x.org.apache.lucene.analysis.eu.BasqueAnalyzer;
-import l9x.org.apache.lucene.analysis.fa.PersianAnalyzer;
-import l9x.org.apache.lucene.analysis.fi.FinnishAnalyzer;
-import l9x.org.apache.lucene.analysis.fr.FrenchAnalyzer;
-import l9x.org.apache.lucene.analysis.ga.IrishAnalyzer;
-import l9x.org.apache.lucene.analysis.gl.GalicianAnalyzer;
-import l9x.org.apache.lucene.analysis.hi.HindiAnalyzer;
-import l9x.org.apache.lucene.analysis.hu.HungarianAnalyzer;
-import l9x.org.apache.lucene.analysis.hy.ArmenianAnalyzer;
-import l9x.org.apache.lucene.analysis.id.IndonesianAnalyzer;
-import l9x.org.apache.lucene.analysis.it.ItalianAnalyzer;
-import l9x.org.apache.lucene.analysis.ja.JapaneseAnalyzer;
-import l9x.org.apache.lucene.analysis.lv.LatvianAnalyzer;
-import l9x.org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
-import l9x.org.apache.lucene.analysis.nl.DutchAnalyzer;
-import l9x.org.apache.lucene.analysis.no.NorwegianAnalyzer;
-import l9x.org.apache.lucene.analysis.pl.PolishAnalyzer;
-import l9x.org.apache.lucene.analysis.pt.PortugueseAnalyzer;
-import l9x.org.apache.lucene.analysis.ro.RomanianAnalyzer;
-import l9x.org.apache.lucene.analysis.ru.RussianAnalyzer;
-import l9x.org.apache.lucene.analysis.standard.StandardAnalyzer;
-import l9x.org.apache.lucene.analysis.sv.SwedishAnalyzer;
-import l9x.org.apache.lucene.analysis.th.ThaiAnalyzer;
-import l9x.org.apache.lucene.analysis.tr.TurkishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ar.ArabicAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.bg.BulgarianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ca.CatalanAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.cjk.CJKAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.classic.ClassicAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.cn.smart.SmartChineseAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.core.KeywordAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.core.SimpleAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.core.WhitespaceAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.cz.CzechAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.da.DanishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.de.GermanAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.email.UAX29URLEmailAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.en.EnglishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.es.SpanishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.eu.BasqueAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.fa.PersianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.fi.FinnishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.fr.FrenchAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ga.IrishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.gl.GalicianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.hi.HindiAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.hu.HungarianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.hy.ArmenianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.id.IndonesianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.it.ItalianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ja.JapaneseAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.lv.LatvianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.nl.DutchAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.no.NorwegianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.pl.PolishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.pt.PortugueseAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ro.RomanianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ru.RussianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.standard.StandardAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.sv.SwedishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.th.ThaiAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.tr.TurkishAnalyzer;
 
 public final class Lucene9AnalyzerFactory {
 
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/Lucene9Index.java
index c9727fab1..2aa1e892c 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/Lucene9Index.java
@@ -32,39 +32,39 @@ 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 l9x.org.apache.lucene.analysis.Analyzer;
-import l9x.org.apache.lucene.document.Document;
-import l9x.org.apache.lucene.document.Field.Store;
-import l9x.org.apache.lucene.facet.FacetResult;
-import l9x.org.apache.lucene.facet.Facets;
-import l9x.org.apache.lucene.facet.FacetsCollector;
-import l9x.org.apache.lucene.facet.FacetsCollectorManager;
-import l9x.org.apache.lucene.facet.LabelAndValue;
-import l9x.org.apache.lucene.facet.StringDocValuesReaderState;
-import l9x.org.apache.lucene.facet.StringValueFacetCounts;
-import l9x.org.apache.lucene.facet.range.DoubleRange;
-import l9x.org.apache.lucene.facet.range.DoubleRangeFacetCounts;
-import l9x.org.apache.lucene.index.IndexWriter;
-import l9x.org.apache.lucene.index.IndexWriterConfig;
-import l9x.org.apache.lucene.index.IndexableField;
-import l9x.org.apache.lucene.index.Term;
-import l9x.org.apache.lucene.misc.store.DirectIODirectory;
-import l9x.org.apache.lucene.search.CollectorManager;
-import l9x.org.apache.lucene.search.FieldDoc;
-import l9x.org.apache.lucene.search.IndexSearcher;
-import l9x.org.apache.lucene.search.MultiCollectorManager;
-import l9x.org.apache.lucene.search.Query;
-import l9x.org.apache.lucene.search.ScoreDoc;
-import l9x.org.apache.lucene.search.SearcherFactory;
-import l9x.org.apache.lucene.search.SearcherManager;
-import l9x.org.apache.lucene.search.Sort;
-import l9x.org.apache.lucene.search.SortField;
-import l9x.org.apache.lucene.search.TermQuery;
-import l9x.org.apache.lucene.search.TopDocs;
-import l9x.org.apache.lucene.search.TopFieldCollector;
-import l9x.org.apache.lucene.store.Directory;
-import l9x.org.apache.lucene.store.FSDirectory;
-import l9x.org.apache.lucene.util.BytesRef;
+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;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.FacetResult;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.Facets;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.FacetsCollector;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.FacetsCollectorManager;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.LabelAndValue;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.StringDocValuesReaderState;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.StringValueFacetCounts;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRangeFacetCounts;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexWriter;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexWriterConfig;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
+import org.apache.couchdb.nouveau.l9x.lucene.index.Term;
+import org.apache.couchdb.nouveau.l9x.lucene.misc.store.DirectIODirectory;
+import org.apache.couchdb.nouveau.l9x.lucene.search.CollectorManager;
+import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.search.IndexSearcher;
+import org.apache.couchdb.nouveau.l9x.lucene.search.MultiCollectorManager;
+import org.apache.couchdb.nouveau.l9x.lucene.search.Query;
+import org.apache.couchdb.nouveau.l9x.lucene.search.ScoreDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.search.SearcherFactory;
+import org.apache.couchdb.nouveau.l9x.lucene.search.SearcherManager;
+import org.apache.couchdb.nouveau.l9x.lucene.search.Sort;
+import org.apache.couchdb.nouveau.l9x.lucene.search.SortField;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TermQuery;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TopDocs;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TopFieldCollector;
+import org.apache.couchdb.nouveau.l9x.lucene.store.Directory;
+import org.apache.couchdb.nouveau.l9x.lucene.store.FSDirectory;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 
 class Lucene9Index extends Index {
 
@@ -292,12 +292,12 @@ class Lucene9Index extends Index {
         final Document result = new Document();
 
         // id
-        result.add(new l9x.org.apache.lucene.document.StringField("_id", docId, Store.YES));
-        result.add(new l9x.org.apache.lucene.document.SortedDocValuesField("_id", new BytesRef(docId)));
+        result.add(new org.apache.couchdb.nouveau.l9x.lucene.document.StringField("_id", docId, Store.YES));
+        result.add(new org.apache.couchdb.nouveau.l9x.lucene.document.SortedDocValuesField("_id", new BytesRef(docId)));
 
         // partition (optional)
         if (request.hasPartition()) {
-            result.add(new l9x.org.apache.lucene.document.StringField("_partition", request.getPartition(), Store.NO));
+            result.add(new org.apache.couchdb.nouveau.l9x.lucene.document.StringField("_partition", request.getPartition(), Store.NO));
         }
 
         for (IndexableField field : request.getFields()) {
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/Lucene9IndexFactory.java
index a4f346eba..6bb737b41 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/Lucene9IndexFactory.java
@@ -17,8 +17,8 @@ import java.io.IOException;
 import java.nio.file.Path;
 
 import org.apache.couchdb.nouveau.api.IndexDefinition;
-import l9x.org.apache.lucene.analysis.Analyzer;
-import l9x.org.apache.lucene.search.SearcherFactory;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.search.SearcherFactory;
 
 public class Lucene9IndexFactory implements IndexFactory {
 
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/Lucene9ParallelSearcherFactory.java
index 20384e899..653fc0664 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/Lucene9ParallelSearcherFactory.java
@@ -16,9 +16,9 @@ package org.apache.couchdb.nouveau.core;
 import java.io.IOException;
 import java.util.concurrent.Executor;
 
-import l9x.org.apache.lucene.index.IndexReader;
-import l9x.org.apache.lucene.search.IndexSearcher;
-import l9x.org.apache.lucene.search.SearcherFactory;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexReader;
+import org.apache.couchdb.nouveau.l9x.lucene.search.IndexSearcher;
+import org.apache.couchdb.nouveau.l9x.lucene.search.SearcherFactory;
 
 public class Lucene9ParallelSearcherFactory extends SearcherFactory {
 
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/NouveauQueryParser.java
index af026019b..5e4ec4c3f 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/NouveauQueryParser.java
@@ -14,40 +14,40 @@
 package org.apache.couchdb.nouveau.core;
 
 import org.apache.couchdb.nouveau.api.SearchRequest;
-import l9x.org.apache.lucene.analysis.Analyzer;
-import l9x.org.apache.lucene.index.Term;
-import l9x.org.apache.lucene.queryparser.flexible.core.QueryNodeException;
-import l9x.org.apache.lucene.queryparser.flexible.core.QueryParserHelper;
-import l9x.org.apache.lucene.queryparser.flexible.core.config.QueryConfigHandler;
-import l9x.org.apache.lucene.queryparser.flexible.core.processors.NoChildOptimizationQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorPipeline;
-import l9x.org.apache.lucene.queryparser.flexible.core.processors.RemoveDeletedQueryNodesProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.builders.StandardQueryTreeBuilder;
-import l9x.org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler;
-import l9x.org.apache.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler.ConfigurationKeys;
-import l9x.org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.AnalyzerQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.BooleanQuery2ModifierNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.BooleanSingleChildOptimizationQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.BoostQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.DefaultPhraseSlopQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.FuzzyQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.IntervalQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.MatchAllDocsQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.MultiFieldQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.MultiTermRewriteMethodProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.OpenRangeQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.PhraseSlopQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.PointQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.RegexpQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.RemoveEmptyNonLeafQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.TermRangeQueryNodeProcessor;
-import l9x.org.apache.lucene.queryparser.flexible.standard.processors.WildcardQueryNodeProcessor;
-import l9x.org.apache.lucene.search.BooleanClause.Occur;
-import l9x.org.apache.lucene.search.BooleanQuery;
-import l9x.org.apache.lucene.search.Query;
-import l9x.org.apache.lucene.search.TermQuery;
+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;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.QueryParserHelper;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.config.QueryConfigHandler;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.processors.NoChildOptimizationQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.processors.QueryNodeProcessorPipeline;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.processors.RemoveDeletedQueryNodesProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.builders.StandardQueryTreeBuilder;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.config.StandardQueryConfigHandler.ConfigurationKeys;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.AllowLeadingWildcardProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.AnalyzerQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.BooleanQuery2ModifierNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.BooleanSingleChildOptimizationQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.BoostQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.DefaultPhraseSlopQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.FuzzyQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.IntervalQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.MatchAllDocsQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.MultiFieldQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.MultiTermRewriteMethodProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.OpenRangeQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.PhraseSlopQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.PointQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.RegexpQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.RemoveEmptyNonLeafQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.TermRangeQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.processors.WildcardQueryNodeProcessor;
+import org.apache.couchdb.nouveau.l9x.lucene.search.BooleanClause.Occur;
+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 {
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/NumericRangeQueryProcessor.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/NumericRangeQueryProcessor.java
index 707b1cd14..5b7b9032f 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/NumericRangeQueryProcessor.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/NumericRangeQueryProcessor.java
@@ -17,14 +17,14 @@ import java.text.NumberFormat;
 import java.text.ParsePosition;
 import java.util.List;
 
-import l9x.org.apache.lucene.queryparser.flexible.core.QueryNodeException;
-import l9x.org.apache.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
-import l9x.org.apache.lucene.queryparser.flexible.core.nodes.QueryNode;
-import l9x.org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl;
-import l9x.org.apache.lucene.queryparser.flexible.standard.config.PointsConfig;
-import l9x.org.apache.lucene.queryparser.flexible.standard.nodes.PointQueryNode;
-import l9x.org.apache.lucene.queryparser.flexible.standard.nodes.PointRangeQueryNode;
-import l9x.org.apache.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.QueryNodeException;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.nodes.FieldQueryNode;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.nodes.QueryNode;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.config.PointsConfig;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.nodes.PointQueryNode;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.nodes.PointRangeQueryNode;
+import org.apache.couchdb.nouveau.l9x.lucene.queryparser.flexible.standard.nodes.TermRangeQueryNode;
 
 public class NumericRangeQueryProcessor extends QueryNodeProcessorImpl {
 
diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/QueryParser.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/QueryParser.java
index a93ffd4b5..a0e415a13 100644
--- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/QueryParser.java
+++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/QueryParser.java
@@ -13,7 +13,7 @@
 
 package org.apache.couchdb.nouveau.core;
 
-import l9x.org.apache.lucene.search.Query;
+import org.apache.couchdb.nouveau.l9x.lucene.search.Query;
 
 import org.apache.couchdb.nouveau.api.SearchRequest;
 
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/ser/BytesRefDeserializer.java
index f2109364f..fea58a4c7 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/ser/BytesRefDeserializer.java
@@ -15,7 +15,7 @@ package org.apache.couchdb.nouveau.core.ser;
 
 import java.io.IOException;
 
-import l9x.org.apache.lucene.util.BytesRef;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonProcessingException;
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/ser/BytesRefSerializer.java
index 72ee34b7b..6669e84cf 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/ser/BytesRefSerializer.java
@@ -19,7 +19,7 @@ import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.ser.std.StdSerializer;
 
-import l9x.org.apache.lucene.util.BytesRef;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 
 public class BytesRefSerializer extends StdSerializer<BytesRef> {
 
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/ser/DoubleRangeDeserializer.java
index d9e6e2b97..9e23b041e 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/ser/DoubleRangeDeserializer.java
@@ -21,7 +21,7 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
 
-import l9x.org.apache.lucene.facet.range.DoubleRange;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
 
 class DoubleRangeDeserializer extends StdDeserializer<DoubleRange> {
 
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/ser/DoubleRangeSerializer.java
index 58fa90b88..210ab83e3 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/ser/DoubleRangeSerializer.java
@@ -19,7 +19,7 @@ import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.ser.std.StdSerializer;
 
-import l9x.org.apache.lucene.facet.range.DoubleRange;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
 
 class DoubleRangeSerializer extends StdSerializer<DoubleRange> {
 
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/ser/FieldDocDeserializer.java
index b8caf4c33..4418011ad 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/ser/FieldDocDeserializer.java
@@ -22,8 +22,8 @@ import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 
-import l9x.org.apache.lucene.search.FieldDoc;
-import l9x.org.apache.lucene.util.BytesRef;
+import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 
 public class FieldDocDeserializer extends StdDeserializer<FieldDoc> {
 
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/ser/FieldDocSerializer.java
index 0a917c5e9..3158710e0 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/ser/FieldDocSerializer.java
@@ -19,8 +19,8 @@ import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.ser.std.StdSerializer;
 
-import l9x.org.apache.lucene.search.FieldDoc;
-import l9x.org.apache.lucene.util.BytesRef;
+import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 
 public class FieldDocSerializer extends StdSerializer<FieldDoc> {
 
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/ser/IndexableFieldDeserializer.java
index 3cfd555ec..66ccd7978 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/ser/IndexableFieldDeserializer.java
@@ -21,26 +21,26 @@ import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
 
-import l9x.org.apache.lucene.document.BinaryDocValuesField;
-import l9x.org.apache.lucene.document.DoubleDocValuesField;
-import l9x.org.apache.lucene.document.DoublePoint;
-import l9x.org.apache.lucene.document.FloatDocValuesField;
-import l9x.org.apache.lucene.document.Field.Store;
-import l9x.org.apache.lucene.document.FloatPoint;
-import l9x.org.apache.lucene.document.IntPoint;
-import l9x.org.apache.lucene.document.LatLonDocValuesField;
-import l9x.org.apache.lucene.document.LatLonPoint;
-import l9x.org.apache.lucene.document.LongPoint;
-import l9x.org.apache.lucene.document.SortedDocValuesField;
-import l9x.org.apache.lucene.document.SortedNumericDocValuesField;
-import l9x.org.apache.lucene.document.SortedSetDocValuesField;
-import l9x.org.apache.lucene.document.StoredField;
-import l9x.org.apache.lucene.document.StringField;
-import l9x.org.apache.lucene.document.TextField;
-import l9x.org.apache.lucene.document.XYDocValuesField;
-import l9x.org.apache.lucene.document.XYPointField;
-import l9x.org.apache.lucene.index.IndexableField;
-import l9x.org.apache.lucene.util.BytesRef;
+import org.apache.couchdb.nouveau.l9x.lucene.document.BinaryDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.DoubleDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.DoublePoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.FloatDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.Field.Store;
+import org.apache.couchdb.nouveau.l9x.lucene.document.FloatPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.IntPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.LatLonDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.LatLonPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.LongPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.SortedDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.SortedNumericDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.SortedSetDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.StoredField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.StringField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.TextField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.XYDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.XYPointField;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 
 class IndexableFieldDeserializer extends StdDeserializer<IndexableField> {
 
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/ser/IndexableFieldSerializer.java
index f4e1e1ee9..202f61842 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/ser/IndexableFieldSerializer.java
@@ -6,10 +6,10 @@ import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.ser.std.StdSerializer;
 
-import l9x.org.apache.lucene.geo.GeoEncodingUtils;
-import l9x.org.apache.lucene.geo.XYEncodingUtils;
-import l9x.org.apache.lucene.index.IndexableField;
-import l9x.org.apache.lucene.util.BytesRef;
+import org.apache.couchdb.nouveau.l9x.lucene.geo.GeoEncodingUtils;
+import org.apache.couchdb.nouveau.l9x.lucene.geo.XYEncodingUtils;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 
 class IndexableFieldSerializer extends StdSerializer<IndexableField> {
 
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/ser/LuceneModule.java
index 20d13db75..470d7805b 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/ser/LuceneModule.java
@@ -16,10 +16,10 @@ package org.apache.couchdb.nouveau.core.ser;
 import com.fasterxml.jackson.core.Version;
 import com.fasterxml.jackson.databind.module.SimpleModule;
 
-import l9x.org.apache.lucene.facet.range.DoubleRange;
-import l9x.org.apache.lucene.index.IndexableField;
-import l9x.org.apache.lucene.search.FieldDoc;
-import l9x.org.apache.lucene.search.TotalHits;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
+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 {
 
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/ser/SupportedType.java
index a0f7bc43c..b52353750 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/ser/SupportedType.java
@@ -13,24 +13,24 @@
 
 package org.apache.couchdb.nouveau.core.ser;
 
-import l9x.org.apache.lucene.document.BinaryDocValuesField;
-import l9x.org.apache.lucene.document.DoubleDocValuesField;
-import l9x.org.apache.lucene.document.DoublePoint;
-import l9x.org.apache.lucene.document.FloatDocValuesField;
-import l9x.org.apache.lucene.document.FloatPoint;
-import l9x.org.apache.lucene.document.IntPoint;
-import l9x.org.apache.lucene.document.LatLonDocValuesField;
-import l9x.org.apache.lucene.document.LatLonPoint;
-import l9x.org.apache.lucene.document.LongPoint;
-import l9x.org.apache.lucene.document.SortedDocValuesField;
-import l9x.org.apache.lucene.document.SortedNumericDocValuesField;
-import l9x.org.apache.lucene.document.SortedSetDocValuesField;
-import l9x.org.apache.lucene.document.StoredField;
-import l9x.org.apache.lucene.document.StringField;
-import l9x.org.apache.lucene.document.TextField;
-import l9x.org.apache.lucene.document.XYDocValuesField;
-import l9x.org.apache.lucene.document.XYPointField;
-import l9x.org.apache.lucene.index.IndexableField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.BinaryDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.DoubleDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.DoublePoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.FloatDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.FloatPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.IntPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.LatLonDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.LatLonPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.LongPoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.SortedDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.SortedNumericDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.SortedSetDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.StoredField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.StringField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.TextField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.XYDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.XYPointField;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
 
 enum SupportedType {
 
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/ser/TotalHitsDeserializer.java
index 05374f3bb..d5572b396 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/ser/TotalHitsDeserializer.java
@@ -14,8 +14,8 @@ package org.apache.couchdb.nouveau.core.ser;
 
 import java.io.IOException;
 
-import l9x.org.apache.lucene.search.TotalHits;
-import l9x.org.apache.lucene.search.TotalHits.Relation;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TotalHits;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TotalHits.Relation;
 
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.core.JsonProcessingException;
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 aa1737de7..07a1cd914 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
@@ -32,9 +32,9 @@ import org.apache.couchdb.nouveau.api.AnalyzeResponse;
 import org.apache.couchdb.nouveau.core.Lucene9AnalyzerFactory;
 import com.codahale.metrics.annotation.Timed;
 
-import l9x.org.apache.lucene.analysis.Analyzer;
-import l9x.org.apache.lucene.analysis.TokenStream;
-import l9x.org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.TokenStream;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.tokenattributes.CharTermAttribute;
 
 @Path("/analyze")
 @Consumes(MediaType.APPLICATION_JSON)
diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/IntegrationTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/IntegrationTest.java
index c1698fa3d..4b9a851df 100644
--- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/IntegrationTest.java
+++ b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/IntegrationTest.java
@@ -28,14 +28,14 @@ import org.apache.couchdb.nouveau.api.DocumentUpdateRequest;
 import org.apache.couchdb.nouveau.api.IndexDefinition;
 import org.apache.couchdb.nouveau.api.SearchRequest;
 import org.apache.couchdb.nouveau.api.SearchResults;
-import l9x.org.apache.lucene.document.DoubleDocValuesField;
-import l9x.org.apache.lucene.document.DoublePoint;
-import l9x.org.apache.lucene.document.SortedSetDocValuesField;
-import l9x.org.apache.lucene.facet.range.DoubleRange;
-import l9x.org.apache.lucene.search.FieldDoc;
-import l9x.org.apache.lucene.search.TotalHits;
-import l9x.org.apache.lucene.search.TotalHits.Relation;
-import l9x.org.apache.lucene.util.BytesRef;
+import org.apache.couchdb.nouveau.l9x.lucene.document.DoubleDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.DoublePoint;
+import org.apache.couchdb.nouveau.l9x.lucene.document.SortedSetDocValuesField;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
+import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TotalHits;
+import org.apache.couchdb.nouveau.l9x.lucene.search.TotalHits.Relation;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 
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 b30e11def..29262a355 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
@@ -22,11 +22,11 @@ import java.util.List;
 import org.apache.couchdb.nouveau.core.ser.LuceneModule;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
-import l9x.org.apache.lucene.document.DoublePoint;
-import l9x.org.apache.lucene.document.Field.Store;
-import l9x.org.apache.lucene.document.StringField;
-import l9x.org.apache.lucene.document.TextField;
-import l9x.org.apache.lucene.index.IndexableField;
+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;
+import org.apache.couchdb.nouveau.l9x.lucene.document.TextField;
+import org.apache.couchdb.nouveau.l9x.lucene.index.IndexableField;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.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 44ff9ac05..9ab74eeb0 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
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.couchdb.nouveau.core.ser.LuceneModule;
-import l9x.org.apache.lucene.facet.range.DoubleRange;
+import org.apache.couchdb.nouveau.l9x.lucene.facet.range.DoubleRange;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
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/Lucene9AnalyzerFactoryTest.java
index 3dbff9752..3a26134f4 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/Lucene9AnalyzerFactoryTest.java
@@ -15,45 +15,45 @@ package org.apache.couchdb.nouveau.core;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import l9x.org.apache.lucene.analysis.Analyzer;
-import l9x.org.apache.lucene.analysis.ar.ArabicAnalyzer;
-import l9x.org.apache.lucene.analysis.bg.BulgarianAnalyzer;
-import l9x.org.apache.lucene.analysis.ca.CatalanAnalyzer;
-import l9x.org.apache.lucene.analysis.cjk.CJKAnalyzer;
-import l9x.org.apache.lucene.analysis.classic.ClassicAnalyzer;
-import l9x.org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer;
-import l9x.org.apache.lucene.analysis.core.KeywordAnalyzer;
-import l9x.org.apache.lucene.analysis.core.SimpleAnalyzer;
-import l9x.org.apache.lucene.analysis.core.WhitespaceAnalyzer;
-import l9x.org.apache.lucene.analysis.cz.CzechAnalyzer;
-import l9x.org.apache.lucene.analysis.da.DanishAnalyzer;
-import l9x.org.apache.lucene.analysis.de.GermanAnalyzer;
-import l9x.org.apache.lucene.analysis.email.UAX29URLEmailAnalyzer;
-import l9x.org.apache.lucene.analysis.en.EnglishAnalyzer;
-import l9x.org.apache.lucene.analysis.es.SpanishAnalyzer;
-import l9x.org.apache.lucene.analysis.eu.BasqueAnalyzer;
-import l9x.org.apache.lucene.analysis.fa.PersianAnalyzer;
-import l9x.org.apache.lucene.analysis.fi.FinnishAnalyzer;
-import l9x.org.apache.lucene.analysis.fr.FrenchAnalyzer;
-import l9x.org.apache.lucene.analysis.ga.IrishAnalyzer;
-import l9x.org.apache.lucene.analysis.gl.GalicianAnalyzer;
-import l9x.org.apache.lucene.analysis.hi.HindiAnalyzer;
-import l9x.org.apache.lucene.analysis.hu.HungarianAnalyzer;
-import l9x.org.apache.lucene.analysis.hy.ArmenianAnalyzer;
-import l9x.org.apache.lucene.analysis.id.IndonesianAnalyzer;
-import l9x.org.apache.lucene.analysis.it.ItalianAnalyzer;
-import l9x.org.apache.lucene.analysis.ja.JapaneseAnalyzer;
-import l9x.org.apache.lucene.analysis.lv.LatvianAnalyzer;
-import l9x.org.apache.lucene.analysis.nl.DutchAnalyzer;
-import l9x.org.apache.lucene.analysis.no.NorwegianAnalyzer;
-import l9x.org.apache.lucene.analysis.pl.PolishAnalyzer;
-import l9x.org.apache.lucene.analysis.pt.PortugueseAnalyzer;
-import l9x.org.apache.lucene.analysis.ro.RomanianAnalyzer;
-import l9x.org.apache.lucene.analysis.ru.RussianAnalyzer;
-import l9x.org.apache.lucene.analysis.standard.StandardAnalyzer;
-import l9x.org.apache.lucene.analysis.sv.SwedishAnalyzer;
-import l9x.org.apache.lucene.analysis.th.ThaiAnalyzer;
-import l9x.org.apache.lucene.analysis.tr.TurkishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.Analyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ar.ArabicAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.bg.BulgarianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ca.CatalanAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.cjk.CJKAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.classic.ClassicAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.cn.smart.SmartChineseAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.core.KeywordAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.core.SimpleAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.core.WhitespaceAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.cz.CzechAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.da.DanishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.de.GermanAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.email.UAX29URLEmailAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.en.EnglishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.es.SpanishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.eu.BasqueAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.fa.PersianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.fi.FinnishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.fr.FrenchAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ga.IrishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.gl.GalicianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.hi.HindiAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.hu.HungarianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.hy.ArmenianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.id.IndonesianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.it.ItalianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ja.JapaneseAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.lv.LatvianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.nl.DutchAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.no.NorwegianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.pl.PolishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.pt.PortugueseAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ro.RomanianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.ru.RussianAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.standard.StandardAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.sv.SwedishAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.th.ThaiAnalyzer;
+import org.apache.couchdb.nouveau.l9x.lucene.analysis.tr.TurkishAnalyzer;
 import org.junit.jupiter.api.Test;
 
 public class Lucene9AnalyzerFactoryTest {
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/ser/LuceneModuleTest.java
index 94ca72310..64e8844d8 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/ser/LuceneModuleTest.java
@@ -18,13 +18,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
-import l9x.org.apache.lucene.document.DoublePoint;
-import l9x.org.apache.lucene.document.Field.Store;
-import l9x.org.apache.lucene.document.StoredField;
-import l9x.org.apache.lucene.document.StringField;
-import l9x.org.apache.lucene.document.TextField;
-import l9x.org.apache.lucene.search.FieldDoc;
-import l9x.org.apache.lucene.util.BytesRef;
+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;
+import org.apache.couchdb.nouveau.l9x.lucene.document.StringField;
+import org.apache.couchdb.nouveau.l9x.lucene.document.TextField;
+import org.apache.couchdb.nouveau.l9x.lucene.search.FieldDoc;
+import org.apache.couchdb.nouveau.l9x.lucene.util.BytesRef;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
diff --git a/java/nouveau/shaded-lucene-4.6.1/pom.xml b/java/nouveau/shaded-lucene-4.6.1/pom.xml
index e6a608e64..f8845079a 100644
--- a/java/nouveau/shaded-lucene-4.6.1/pom.xml
+++ b/java/nouveau/shaded-lucene-4.6.1/pom.xml
@@ -98,12 +98,16 @@
               <shadeSourcesContent>true</shadeSourcesContent>
               <relocations>
                 <relocation>
-                  <pattern>org</pattern>
-                  <shadedPattern>l461.org</shadedPattern>
+                  <pattern>org.apache.lucene</pattern>
+                  <shadedPattern>org.apache.couchdb.nouveau.l461.lucene</shadedPattern>
                 </relocation>
                 <relocation>
-                  <pattern>com</pattern>
-                  <shadedPattern>l461.com</shadedPattern>
+                  <pattern>org.tartarus</pattern>
+                  <shadedPattern>org.apache.couchdb.nouveau.l461.tartarus</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.egothor</pattern>
+                  <shadedPattern>org.apache.couchdb.nouveau.l461.egothor</shadedPattern>
                 </relocation>
               </relocations>
               <transformers>
diff --git a/java/nouveau/shaded-lucene-9.x/pom.xml b/java/nouveau/shaded-lucene-9.x/pom.xml
index 5cd769a8d..318b71d16 100644
--- a/java/nouveau/shaded-lucene-9.x/pom.xml
+++ b/java/nouveau/shaded-lucene-9.x/pom.xml
@@ -102,12 +102,16 @@
               <shadeSourcesContent>true</shadeSourcesContent>
               <relocations>
                 <relocation>
-                  <pattern>org</pattern>
-                  <shadedPattern>l9x.org</shadedPattern>
+                  <pattern>org.apache.lucene</pattern>
+                  <shadedPattern>org.apache.couchdb.nouveau.l9x.lucene</shadedPattern>
                 </relocation>
                 <relocation>
-                  <pattern>com</pattern>
-                  <shadedPattern>l9x.com</shadedPattern>
+                  <pattern>org.tartarus</pattern>
+                  <shadedPattern>org.apache.couchdb.nouveau.l9x.tartarus</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.egothor</pattern>
+                  <shadedPattern>org.apache.couchdb.nouveau.l9x.egothor</shadedPattern>
                 </relocation>
               </relocations>
               <transformers>