diff --git a/lucene/build.xml b/lucene/build.xml
index 7b666c6695c..6751ce0f43e 100644
--- a/lucene/build.xml
+++ b/lucene/build.xml
@@ -191,8 +191,7 @@
-
-
+
diff --git a/lucene/demo/build.xml b/lucene/demo/build.xml
index 3137643850b..b1cd4b48410 100644
--- a/lucene/demo/build.xml
+++ b/lucene/demo/build.xml
@@ -33,20 +33,22 @@
+
-
+
+
-
+
@@ -63,6 +65,7 @@
+
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/ExampleResult.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/ExampleResult.java
similarity index 97%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/ExampleResult.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/ExampleResult.java
index fe0f053d9e3..0f08353db0e 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/ExampleResult.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/ExampleResult.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example;
+package org.apache.lucene.demo.facet;
import java.util.List;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/ExampleUtils.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/ExampleUtils.java
similarity index 96%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/ExampleUtils.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/ExampleUtils.java
index a58f80c4357..4f788956b05 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/ExampleUtils.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/ExampleUtils.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example;
+package org.apache.lucene.demo.facet;
import org.apache.lucene.util.Version;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveMain.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/AdaptiveMain.java
similarity index 88%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveMain.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/AdaptiveMain.java
index c0abd6f1c29..75704ea1a76 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveMain.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/AdaptiveMain.java
@@ -1,14 +1,14 @@
-package org.apache.lucene.facet.example.adaptive;
+package org.apache.lucene.demo.facet.adaptive;
import java.util.List;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.facet.example.ExampleResult;
-import org.apache.lucene.facet.example.ExampleUtils;
-import org.apache.lucene.facet.example.simple.SimpleIndexer;
-import org.apache.lucene.facet.example.simple.SimpleSearcher;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.ExampleUtils;
+import org.apache.lucene.demo.facet.simple.SimpleIndexer;
+import org.apache.lucene.demo.facet.simple.SimpleSearcher;
import org.apache.lucene.facet.search.AdaptiveFacetsAccumulator;
import org.apache.lucene.facet.search.results.FacetResult;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveSearcher.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/AdaptiveSearcher.java
similarity index 96%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveSearcher.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/AdaptiveSearcher.java
index c88ab5299eb..7f79192e091 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/adaptive/AdaptiveSearcher.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/AdaptiveSearcher.java
@@ -1,9 +1,9 @@
-package org.apache.lucene.facet.example.adaptive;
+package org.apache.lucene.demo.facet.adaptive;
import java.util.List;
-import org.apache.lucene.facet.example.ExampleUtils;
-import org.apache.lucene.facet.example.simple.SimpleUtils;
+import org.apache.lucene.demo.facet.ExampleUtils;
+import org.apache.lucene.demo.facet.simple.SimpleUtils;
import org.apache.lucene.facet.search.AdaptiveFacetsAccumulator;
import org.apache.lucene.facet.search.ScoredDocIdCollector;
import org.apache.lucene.facet.search.params.CountFacetRequest;
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/package.html b/lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/package.html
new file mode 100644
index 00000000000..a580d7e3e3f
--- /dev/null
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/adaptive/package.html
@@ -0,0 +1,22 @@
+
+
+
+
+Facets example code for using AdaptiveFacetsAccumulator.
+
+
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsIndexer.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsIndexer.java
similarity index 96%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsIndexer.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsIndexer.java
index 85c34783cde..c0b2127b06e 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsIndexer.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsIndexer.java
@@ -1,13 +1,13 @@
-package org.apache.lucene.facet.example.association;
+package org.apache.lucene.demo.facet.association;
+import org.apache.lucene.demo.facet.ExampleUtils;
+import org.apache.lucene.demo.facet.simple.SimpleUtils;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.facet.associations.AssociationsFacetFields;
import org.apache.lucene.facet.associations.CategoryAssociation;
import org.apache.lucene.facet.associations.CategoryAssociationsContainer;
-import org.apache.lucene.facet.example.ExampleUtils;
-import org.apache.lucene.facet.example.simple.SimpleUtils;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsMain.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsMain.java
similarity index 94%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsMain.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsMain.java
index bdd99be72dd..ca34e46c87c 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsMain.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsMain.java
@@ -1,12 +1,12 @@
-package org.apache.lucene.facet.example.association;
+package org.apache.lucene.demo.facet.association;
import java.util.List;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.facet.example.ExampleResult;
-import org.apache.lucene.facet.example.ExampleUtils;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.ExampleUtils;
import org.apache.lucene.facet.search.results.FacetResult;
/*
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsSearcher.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsSearcher.java
similarity index 96%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsSearcher.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsSearcher.java
index 57c9524266b..e6d66d5da37 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsSearcher.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsSearcher.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example.association;
+package org.apache.lucene.demo.facet.association;
import java.util.List;
@@ -6,7 +6,7 @@ import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.store.Directory;
-import org.apache.lucene.facet.example.simple.SimpleSearcher;
+import org.apache.lucene.demo.facet.simple.SimpleSearcher;
import org.apache.lucene.facet.search.params.associations.AssociationFloatSumFacetRequest;
import org.apache.lucene.facet.search.params.associations.AssociationIntSumFacetRequest;
import org.apache.lucene.facet.search.results.FacetResult;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsUtils.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsUtils.java
similarity index 97%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsUtils.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsUtils.java
index f2cc8520599..a9968f351b9 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/association/CategoryAssociationsUtils.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/CategoryAssociationsUtils.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example.association;
+package org.apache.lucene.demo.facet.association;
import org.apache.lucene.facet.associations.CategoryAssociation;
import org.apache.lucene.facet.associations.CategoryFloatAssociation;
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/association/package.html b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/package.html
new file mode 100644
index 00000000000..5c0cd3898cf
--- /dev/null
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/association/package.html
@@ -0,0 +1,22 @@
+
+
+
+
+Facets example code for using associations.
+
+
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLIndexer.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLIndexer.java
similarity index 94%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLIndexer.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLIndexer.java
index 5925e2327a0..27d3d39f4b2 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLIndexer.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLIndexer.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example.multiCL;
+package org.apache.lucene.demo.facet.multiCL;
import java.util.Arrays;
import java.util.HashMap;
@@ -6,11 +6,11 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
+import org.apache.lucene.demo.facet.ExampleUtils;
+import org.apache.lucene.demo.facet.simple.SimpleUtils;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.facet.example.ExampleUtils;
-import org.apache.lucene.facet.example.simple.SimpleUtils;
import org.apache.lucene.facet.index.FacetFields;
import org.apache.lucene.facet.index.params.CategoryListParams;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
@@ -90,12 +90,16 @@ public class MultiCLIndexer {
/**
* Create an index, and adds to it sample documents and facets.
- * @param indexDir Directory in which the index should be created.
- * @param taxoDir Directory in which the taxonomy index should be created.
- * @throws Exception on error (no detailed exception handling here for sample simplicity
+ *
+ * @param indexDir
+ * Directory in which the index should be created.
+ * @param taxoDir
+ * Directory in which the taxonomy index should be created.
+ * @throws Exception
+ * on error (no detailed exception handling here for sample
+ * simplicity
*/
- public static void index(Directory indexDir, Directory taxoDir)
- throws Exception {
+ public static void index(Directory indexDir, Directory taxoDir) throws Exception {
Random random = new Random(2003);
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLMain.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLMain.java
similarity index 92%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLMain.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLMain.java
index 2be21135586..73ca28b7746 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLMain.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLMain.java
@@ -1,12 +1,12 @@
-package org.apache.lucene.facet.example.multiCL;
+package org.apache.lucene.demo.facet.multiCL;
import java.util.List;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.facet.example.ExampleResult;
-import org.apache.lucene.facet.example.ExampleUtils;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.ExampleUtils;
import org.apache.lucene.facet.search.results.FacetResult;
/*
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLSearcher.java
similarity index 96%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLSearcher.java
index 1a807b25c3d..b6b63e1c383 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/multiCL/MultiCLSearcher.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/MultiCLSearcher.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example.multiCL;
+package org.apache.lucene.demo.facet.multiCL;
import java.util.ArrayList;
import java.util.List;
@@ -13,8 +13,8 @@ import org.apache.lucene.search.TopScoreDocCollector;
import org.apache.lucene.store.Directory;
import org.apache.lucene.search.MultiCollector;
-import org.apache.lucene.facet.example.ExampleUtils;
-import org.apache.lucene.facet.example.simple.SimpleUtils;
+import org.apache.lucene.demo.facet.ExampleUtils;
+import org.apache.lucene.demo.facet.simple.SimpleUtils;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.search.FacetsCollector;
import org.apache.lucene.facet.search.params.CountFacetRequest;
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/package.html b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/package.html
new file mode 100644
index 00000000000..2980e67d702
--- /dev/null
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/multiCL/package.html
@@ -0,0 +1,22 @@
+
+
+
+
+Facets example code for using multiple category lists.
+
+
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/package.html b/lucene/demo/src/java/org/apache/lucene/demo/facet/package.html
new file mode 100644
index 00000000000..cc637090e99
--- /dev/null
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/package.html
@@ -0,0 +1,22 @@
+
+
+
+
+Facets example code.
+
+
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleIndexer.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleIndexer.java
similarity index 97%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleIndexer.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleIndexer.java
index 97ef97a5348..1473ba4588d 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleIndexer.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleIndexer.java
@@ -1,12 +1,12 @@
-package org.apache.lucene.facet.example.simple;
+package org.apache.lucene.demo.facet.simple;
import java.util.Arrays;
import java.util.List;
+import org.apache.lucene.demo.facet.ExampleUtils;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
-import org.apache.lucene.facet.example.ExampleUtils;
import org.apache.lucene.facet.index.FacetFields;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleMain.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleMain.java
similarity index 95%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleMain.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleMain.java
index 78c74d1b842..76a6171ba42 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleMain.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleMain.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example.simple;
+package org.apache.lucene.demo.facet.simple;
import java.util.List;
@@ -7,8 +7,8 @@ import org.apache.lucene.index.IndexReader;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.facet.example.ExampleResult;
-import org.apache.lucene.facet.example.ExampleUtils;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.ExampleUtils;
import org.apache.lucene.facet.search.results.FacetResult;
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleSearcher.java
similarity index 98%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleSearcher.java
index f4fb8e2162e..9cc554068f3 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleSearcher.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleSearcher.java
@@ -1,9 +1,9 @@
-package org.apache.lucene.facet.example.simple;
+package org.apache.lucene.demo.facet.simple;
import java.util.Iterator;
import java.util.List;
-import org.apache.lucene.facet.example.ExampleUtils;
+import org.apache.lucene.demo.facet.ExampleUtils;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.search.DrillDown;
import org.apache.lucene.facet.search.FacetsCollector;
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleUtils.java b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleUtils.java
similarity index 95%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleUtils.java
rename to lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleUtils.java
index 08ae45027ea..6dd52fbe62d 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/SimpleUtils.java
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/SimpleUtils.java
@@ -1,8 +1,8 @@
-package org.apache.lucene.facet.example.simple;
+package org.apache.lucene.demo.facet.simple;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
-import org.apache.lucene.facet.example.ExampleUtils;
+import org.apache.lucene.demo.facet.ExampleUtils;
import org.apache.lucene.facet.taxonomy.CategoryPath;
/*
diff --git a/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/package.html b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/package.html
new file mode 100644
index 00000000000..4a454a4794c
--- /dev/null
+++ b/lucene/demo/src/java/org/apache/lucene/demo/facet/simple/package.html
@@ -0,0 +1,22 @@
+
+
+
+
+Facets simple example code.
+
+
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/example/TestAdaptiveExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAdaptiveExample.java
similarity index 90%
rename from lucene/facet/src/test/org/apache/lucene/facet/example/TestAdaptiveExample.java
rename to lucene/demo/src/test/org/apache/lucene/demo/facet/TestAdaptiveExample.java
index f6e2c037290..4fa336463bd 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/example/TestAdaptiveExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAdaptiveExample.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.facet.example;
+package org.apache.lucene.demo.facet;
import org.junit.Test;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.facet.example.ExampleResult;
-import org.apache.lucene.facet.example.adaptive.AdaptiveMain;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.adaptive.AdaptiveMain;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/example/TestAssociationExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationExample.java
similarity index 92%
rename from lucene/facet/src/test/org/apache/lucene/facet/example/TestAssociationExample.java
rename to lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationExample.java
index f26113246c4..a6010783675 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/example/TestAssociationExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestAssociationExample.java
@@ -1,10 +1,10 @@
-package org.apache.lucene.facet.example;
+package org.apache.lucene.demo.facet;
import org.junit.Test;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.facet.example.ExampleResult;
-import org.apache.lucene.facet.example.association.CategoryAssociationsMain;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.association.CategoryAssociationsMain;
import org.apache.lucene.facet.search.results.FacetResultNode;
/*
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/example/TestMultiCLExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCLExample.java
similarity index 95%
rename from lucene/facet/src/test/org/apache/lucene/facet/example/TestMultiCLExample.java
rename to lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCLExample.java
index 55038df7f9f..a422261884a 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/example/TestMultiCLExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestMultiCLExample.java
@@ -1,4 +1,4 @@
-package org.apache.lucene.facet.example;
+package org.apache.lucene.demo.facet;
import java.util.Iterator;
import java.util.List;
@@ -6,7 +6,8 @@ import java.util.List;
import org.junit.Test;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.facet.example.multiCL.MultiCLMain;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.multiCL.MultiCLMain;
import org.apache.lucene.facet.search.results.FacetResult;
import org.apache.lucene.facet.search.results.FacetResultNode;
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/example/TestSimpleExample.java b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleExample.java
similarity index 94%
rename from lucene/facet/src/test/org/apache/lucene/facet/example/TestSimpleExample.java
rename to lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleExample.java
index c059f818c5f..7fb9e707b9c 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/example/TestSimpleExample.java
+++ b/lucene/demo/src/test/org/apache/lucene/demo/facet/TestSimpleExample.java
@@ -1,12 +1,12 @@
-package org.apache.lucene.facet.example;
+package org.apache.lucene.demo.facet;
import java.util.Iterator;
import org.junit.Test;
import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.facet.example.ExampleResult;
-import org.apache.lucene.facet.example.simple.SimpleMain;
+import org.apache.lucene.demo.facet.ExampleResult;
+import org.apache.lucene.demo.facet.simple.SimpleMain;
import org.apache.lucene.facet.search.results.FacetResult;
import org.apache.lucene.facet.search.results.FacetResultNode;
diff --git a/lucene/facet/build.xml b/lucene/facet/build.xml
index 81a4c804752..8e8bcb442d0 100644
--- a/lucene/facet/build.xml
+++ b/lucene/facet/build.xml
@@ -28,52 +28,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/package.html b/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/package.html
deleted file mode 100644
index 11d26676a45..00000000000
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/simple/package.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- Simple faceted indexing and search sample
-
-
- Simple faceted indexing and search sample
-
- A simple faceted example, showing how to:
-
- - Create an index.
- - Add documents with facets to the index.
- - Search the index.
-
-
- For more complex examples see the other sample code packages.
-
-
\ No newline at end of file
diff --git a/lucene/facet/src/examples/org/apache/lucene/facet/example/merge/TaxonomyMergeUtils.java b/lucene/facet/src/java/org/apache/lucene/facet/util/TaxonomyMergeUtils.java
similarity index 95%
rename from lucene/facet/src/examples/org/apache/lucene/facet/example/merge/TaxonomyMergeUtils.java
rename to lucene/facet/src/java/org/apache/lucene/facet/util/TaxonomyMergeUtils.java
index d48ea1109bd..2e4a74e4c64 100644
--- a/lucene/facet/src/examples/org/apache/lucene/facet/example/merge/TaxonomyMergeUtils.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/util/TaxonomyMergeUtils.java
@@ -1,9 +1,8 @@
-package org.apache.lucene.facet.example.merge;
+package org.apache.lucene.facet.util;
import java.io.IOException;
import java.util.List;
-import org.apache.lucene.facet.example.ExampleUtils;
import org.apache.lucene.facet.index.OrdinalMappingAtomicReader;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
@@ -17,6 +16,7 @@ import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.Version;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -52,8 +52,7 @@ public class TaxonomyMergeUtils {
*/
public static void merge(Directory srcIndexDir, Directory srcTaxDir, Directory destIndexDir, Directory destTaxDir,
FacetIndexingParams params) throws IOException {
- IndexWriter destIndexWriter = new IndexWriter(destIndexDir,
- new IndexWriterConfig(ExampleUtils.EXAMPLE_VER, null));
+ IndexWriter destIndexWriter = new IndexWriter(destIndexDir, new IndexWriterConfig(Version.LUCENE_42, null));
DirectoryTaxonomyWriter destTaxWriter = new DirectoryTaxonomyWriter(destTaxDir);
merge(srcIndexDir, srcTaxDir, new MemoryOrdinalMap(), destIndexWriter, destTaxWriter, params);
destTaxWriter.close();
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java b/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
index 7846f154e25..aef675e7da5 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/FacetTestUtils.java
@@ -1,19 +1,7 @@
package org.apache.lucene.facet;
-import java.io.IOException;
-
-import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.facet.search.results.FacetResult;
import org.apache.lucene.facet.search.results.FacetResultNode;
-import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
-import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
-import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.IndexWriter;
-import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.util.LuceneTestCase;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -34,68 +22,6 @@ import org.apache.lucene.util.LuceneTestCase;
public class FacetTestUtils {
- public static class IndexTaxonomyReaderPair {
- public DirectoryReader indexReader;
- public DirectoryTaxonomyReader taxReader;
- public IndexSearcher indexSearcher;
-
- public void close() throws IOException {
- indexReader.close();
- taxReader.close();
- }
-
- }
-
- public static class IndexTaxonomyWriterPair {
- public IndexWriter indexWriter;
- public TaxonomyWriter taxWriter;
-
- public void close() throws IOException {
- indexWriter.close();
- taxWriter.close();
- }
-
- public void commit() throws IOException {
- indexWriter.commit();
- taxWriter.commit();
- }
- }
-
- public static Directory[][] createIndexTaxonomyDirs(int number) {
- Directory[][] dirs = new Directory[number][2];
- for (int i = 0; i < number; i++) {
- dirs[i][0] = LuceneTestCase.newDirectory();
- dirs[i][1] = LuceneTestCase.newDirectory();
- }
- return dirs;
- }
-
- public static IndexTaxonomyReaderPair[] createIndexTaxonomyReaderPair(Directory[][] dirs) throws IOException {
- IndexTaxonomyReaderPair[] pairs = new IndexTaxonomyReaderPair[dirs.length];
- for (int i = 0; i < dirs.length; i++) {
- IndexTaxonomyReaderPair pair = new IndexTaxonomyReaderPair();
- pair.indexReader = DirectoryReader.open(dirs[i][0]);
- pair.indexSearcher = new IndexSearcher(pair.indexReader);
- pair.taxReader = new DirectoryTaxonomyReader(dirs[i][1]);
- pairs[i] = pair;
- }
- return pairs;
- }
-
- public static IndexTaxonomyWriterPair[] createIndexTaxonomyWriterPair(Directory[][] dirs) throws IOException {
- IndexTaxonomyWriterPair[] pairs = new IndexTaxonomyWriterPair[dirs.length];
- for (int i = 0; i < dirs.length; i++) {
- IndexTaxonomyWriterPair pair = new IndexTaxonomyWriterPair();
- pair.indexWriter = new IndexWriter(dirs[i][0], new IndexWriterConfig(
- LuceneTestCase.TEST_VERSION_CURRENT, new MockAnalyzer(LuceneTestCase.random())));
- pair.taxWriter = new DirectoryTaxonomyWriter(dirs[i][1]);
- pair.indexWriter.commit();
- pair.taxWriter.commit();
- pairs[i] = pair;
- }
- return pairs;
- }
-
public static String toSimpleString(FacetResult fr) {
StringBuilder sb = new StringBuilder();
toSimpleString(0, sb, fr.getFacetResultNode(), "");
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java b/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java
index 8f311f0991f..698d41a06bf 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/index/OrdinalMappingReaderTest.java
@@ -8,7 +8,6 @@ import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.analysis.MockTokenizer;
import org.apache.lucene.document.Document;
import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.example.merge.TaxonomyMergeUtils;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.search.FacetsCollector;
import org.apache.lucene.facet.search.params.CountFacetRequest;
@@ -18,6 +17,7 @@ import org.apache.lucene.facet.search.results.FacetResultNode;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
+import org.apache.lucene.facet.util.TaxonomyMergeUtils;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java b/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
index 26f8bd75310..6aee1452de8 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/search/TestMultipleCategoryLists.java
@@ -14,7 +14,6 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.FacetTestUtils;
import org.apache.lucene.facet.index.FacetFields;
import org.apache.lucene.facet.index.params.CategoryListParams;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
@@ -77,12 +76,14 @@ public class TestMultipleCategoryLists extends FacetTestCase {
@Test
public void testDefault() throws Exception {
- Directory[][] dirs = getDirs();
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
+
// create and open an index writer
- RandomIndexWriter iw = new RandomIndexWriter(random(), dirs[0][0], newIndexWriterConfig(
+ RandomIndexWriter iw = new RandomIndexWriter(random(), indexDir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false)));
// create and open a taxonomy writer
- TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1], OpenMode.CREATE);
+ TaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE);
PerDimensionIndexingParams iParams = new PerDimensionIndexingParams(Collections.emptyMap());
@@ -92,7 +93,7 @@ public class TestMultipleCategoryLists extends FacetTestCase {
tw.commit();
// prepare index reader and taxonomy.
- TaxonomyReader tr = new DirectoryTaxonomyReader(dirs[0][1]);
+ TaxonomyReader tr = new DirectoryTaxonomyReader(taxoDir);
// prepare searcher to search against
IndexSearcher searcher = newSearcher(ir);
@@ -105,17 +106,19 @@ public class TestMultipleCategoryLists extends FacetTestCase {
assertOrdinalsExist("$facets", ir);
IOUtils.close(tr, ir, iw, tw);
- IOUtils.close(dirs[0]);
+ IOUtils.close(indexDir, taxoDir);
}
@Test
public void testCustom() throws Exception {
- Directory[][] dirs = getDirs();
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
+
// create and open an index writer
- RandomIndexWriter iw = new RandomIndexWriter(random(), dirs[0][0], newIndexWriterConfig(
+ RandomIndexWriter iw = new RandomIndexWriter(random(), indexDir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false)));
// create and open a taxonomy writer
- TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1], OpenMode.CREATE);
+ TaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE);
PerDimensionIndexingParams iParams = new PerDimensionIndexingParams(
Collections.singletonMap(new CategoryPath("Author"), new CategoryListParams("$author")));
@@ -125,7 +128,7 @@ public class TestMultipleCategoryLists extends FacetTestCase {
tw.commit();
// prepare index reader and taxonomy.
- TaxonomyReader tr = new DirectoryTaxonomyReader(dirs[0][1]);
+ TaxonomyReader tr = new DirectoryTaxonomyReader(taxoDir);
// prepare searcher to search against
IndexSearcher searcher = newSearcher(ir);
@@ -139,17 +142,19 @@ public class TestMultipleCategoryLists extends FacetTestCase {
assertOrdinalsExist("$author", ir);
IOUtils.close(tr, ir, iw, tw);
- IOUtils.close(dirs[0]);
+ IOUtils.close(indexDir, taxoDir);
}
@Test
public void testTwoCustomsSameField() throws Exception {
- Directory[][] dirs = getDirs();
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
+
// create and open an index writer
- RandomIndexWriter iw = new RandomIndexWriter(random(), dirs[0][0], newIndexWriterConfig(
+ RandomIndexWriter iw = new RandomIndexWriter(random(), indexDir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false)));
// create and open a taxonomy writer
- TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1], OpenMode.CREATE);
+ TaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE);
Map paramsMap = new HashMap();
paramsMap.put(new CategoryPath("Band"), new CategoryListParams("$music"));
@@ -161,7 +166,7 @@ public class TestMultipleCategoryLists extends FacetTestCase {
tw.commit();
// prepare index reader and taxonomy.
- TaxonomyReader tr = new DirectoryTaxonomyReader(dirs[0][1]);
+ TaxonomyReader tr = new DirectoryTaxonomyReader(taxoDir);
// prepare searcher to search against
IndexSearcher searcher = newSearcher(ir);
@@ -176,7 +181,7 @@ public class TestMultipleCategoryLists extends FacetTestCase {
assertOrdinalsExist("$music", ir);
IOUtils.close(tr, ir, iw, tw);
- IOUtils.close(dirs[0]);
+ IOUtils.close(indexDir, taxoDir);
}
private void assertOrdinalsExist(String field, IndexReader ir) throws IOException {
@@ -191,12 +196,14 @@ public class TestMultipleCategoryLists extends FacetTestCase {
@Test
public void testDifferentFieldsAndText() throws Exception {
- Directory[][] dirs = getDirs();
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
+
// create and open an index writer
- RandomIndexWriter iw = new RandomIndexWriter(random(), dirs[0][0], newIndexWriterConfig(
+ RandomIndexWriter iw = new RandomIndexWriter(random(), indexDir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false)));
// create and open a taxonomy writer
- TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1], OpenMode.CREATE);
+ TaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE);
Map paramsMap = new HashMap();
paramsMap.put(new CategoryPath("Band"), new CategoryListParams("$bands"));
@@ -208,7 +215,7 @@ public class TestMultipleCategoryLists extends FacetTestCase {
tw.commit();
// prepare index reader and taxonomy.
- TaxonomyReader tr = new DirectoryTaxonomyReader(dirs[0][1]);
+ TaxonomyReader tr = new DirectoryTaxonomyReader(taxoDir);
// prepare searcher to search against
IndexSearcher searcher = newSearcher(ir);
@@ -222,17 +229,19 @@ public class TestMultipleCategoryLists extends FacetTestCase {
assertOrdinalsExist("$composers", ir);
IOUtils.close(tr, ir, iw, tw);
- IOUtils.close(dirs[0]);
+ IOUtils.close(indexDir, taxoDir);
}
@Test
public void testSomeSameSomeDifferent() throws Exception {
- Directory[][] dirs = getDirs();
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
+
// create and open an index writer
- RandomIndexWriter iw = new RandomIndexWriter(random(), dirs[0][0], newIndexWriterConfig(
+ RandomIndexWriter iw = new RandomIndexWriter(random(), indexDir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer(random(), MockTokenizer.WHITESPACE, false)));
// create and open a taxonomy writer
- TaxonomyWriter tw = new DirectoryTaxonomyWriter(dirs[0][1], OpenMode.CREATE);
+ TaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir, OpenMode.CREATE);
Map paramsMap = new HashMap();
paramsMap.put(new CategoryPath("Band"), new CategoryListParams("$music"));
@@ -246,7 +255,7 @@ public class TestMultipleCategoryLists extends FacetTestCase {
tw.commit();
// prepare index reader and taxonomy.
- TaxonomyReader tr = new DirectoryTaxonomyReader(dirs[0][1]);
+ TaxonomyReader tr = new DirectoryTaxonomyReader(taxoDir);
// prepare searcher to search against
IndexSearcher searcher = newSearcher(ir);
@@ -259,11 +268,7 @@ public class TestMultipleCategoryLists extends FacetTestCase {
assertOrdinalsExist("$literature", ir);
IOUtils.close(tr, ir, iw, tw);
- IOUtils.close(dirs[0]);
- }
-
- private Directory[][] getDirs() {
- return FacetTestUtils.createIndexTaxonomyDirs(1);
+ IOUtils.close(indexDir, taxoDir);
}
private void assertCorrectResults(FacetsCollector facetsCollector) throws IOException {
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCounts.java b/lucene/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCounts.java
index 9c5ad268c9d..f84678bb46b 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCounts.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/search/TestTotalFacetCounts.java
@@ -3,14 +3,20 @@ package org.apache.lucene.facet.search;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
+import java.util.Collections;
+import org.apache.lucene.document.Document;
import org.apache.lucene.facet.FacetTestCase;
-import org.apache.lucene.facet.FacetTestUtils;
-import org.apache.lucene.facet.FacetTestUtils.IndexTaxonomyReaderPair;
-import org.apache.lucene.facet.FacetTestUtils.IndexTaxonomyWriterPair;
+import org.apache.lucene.facet.index.FacetFields;
import org.apache.lucene.facet.index.params.CategoryListParams;
import org.apache.lucene.facet.index.params.FacetIndexingParams;
import org.apache.lucene.facet.taxonomy.CategoryPath;
+import org.apache.lucene.facet.taxonomy.TaxonomyReader;
+import org.apache.lucene.facet.taxonomy.TaxonomyWriter;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyReader;
+import org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter;
+import org.apache.lucene.index.DirectoryReader;
+import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util._TestUtil;
@@ -35,9 +41,9 @@ import org.junit.Test;
public class TestTotalFacetCounts extends FacetTestCase {
- private static void initCache(int numEntries) {
+ private static void initCache() {
TotalFacetCountsCache.getSingleton().clear();
- TotalFacetCountsCache.getSingleton().setCacheSize(numEntries); // Set to keep one in mem
+ TotalFacetCountsCache.getSingleton().setCacheSize(1); // Set to keep one in mem
}
@Test
@@ -50,12 +56,13 @@ public class TestTotalFacetCounts extends FacetTestCase {
}
private void doTestWriteRead(final int partitionSize) throws IOException {
- initCache(1);
+ initCache();
- // Create temporary RAMDirectories
- Directory[][] dirs = FacetTestUtils.createIndexTaxonomyDirs(1);
- // Create our index/taxonomy writers
- IndexTaxonomyWriterPair[] writers = FacetTestUtils.createIndexTaxonomyWriterPair(dirs);
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
+ IndexWriter indexWriter = new IndexWriter(indexDir, newIndexWriterConfig(TEST_VERSION_CURRENT, null));
+ TaxonomyWriter taxoWriter = new DirectoryTaxonomyWriter(taxoDir);
+
FacetIndexingParams iParams = new FacetIndexingParams() {
@Override
public int getPartitionSize() {
@@ -75,36 +82,34 @@ public class TestTotalFacetCounts extends FacetTestCase {
// The counts that the TotalFacetCountsArray should have after adding
// the below facets to the index.
int[] expectedCounts = new int[] { 0, 3, 1, 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1 };
-
- // Add a facet to the index
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "a", "b");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "c", "d");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "a", "e");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "a", "d");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "c", "g");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "c", "z");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "b", "a");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "1", "2");
- TestTotalFacetCountsCache.addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "b", "c");
+ String[] categories = new String[] { "a/b", "c/d", "a/e", "a/d", "c/g", "c/z", "b/a", "1/2", "b/c" };
+
+ FacetFields facetFields = new FacetFields(taxoWriter, iParams);
+ for (String cat : categories) {
+ Document doc = new Document();
+ facetFields.addFields(doc, Collections.singletonList(new CategoryPath(cat, '/')));
+ indexWriter.addDocument(doc);
+ }
// Commit Changes
- writers[0].close();
+ IOUtils.close(indexWriter, taxoWriter);
- IndexTaxonomyReaderPair[] readers = FacetTestUtils.createIndexTaxonomyReaderPair(dirs);
+ DirectoryReader indexReader = DirectoryReader.open(indexDir);
+ TaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoDir);
int[] intArray = new int[iParams.getPartitionSize()];
TotalFacetCountsCache tfcc = TotalFacetCountsCache.getSingleton();
File tmpFile = _TestUtil.createTempFile("test", "tmp", TEMP_DIR);
- tfcc.store(tmpFile, readers[0].indexReader, readers[0].taxReader, iParams);
+ tfcc.store(tmpFile, indexReader, taxoReader, iParams);
tfcc.clear(); // not really required because TFCC overrides on load(), but in the test we need not rely on this.
- tfcc.load(tmpFile, readers[0].indexReader, readers[0].taxReader, iParams);
+ tfcc.load(tmpFile, indexReader, taxoReader, iParams);
// now retrieve the one just loaded
- TotalFacetCounts totalCounts = tfcc.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ TotalFacetCounts totalCounts = tfcc.getTotalCounts(indexReader, taxoReader, iParams);
int partition = 0;
- for (int i=0; i getResults() {
+ return results;
}
@Override
public void run() {
try {
- results = MultiCLSearcher.searchWithFacets(indexReader, taxoReader, iParams);
+ FacetSearchParams fsp = new FacetSearchParams(iParams, new CountFacetRequest(new CategoryPath("a"), 10),
+ new CountFacetRequest(new CategoryPath("b"), 10));
+ IndexSearcher searcher = new IndexSearcher(indexReader);
+ FacetsCollector fc = FacetsCollector.create(fsp, indexReader, taxoReader);
+ searcher.search(new MatchAllDocsQuery(), fc);
+ results = fc.getFacetResults();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
- // Instantiate threads, but do not start them
Multi[] multis = new Multi[numThreads];
- for (int i = 0; i < numThreads - 1; i++) {
- multis[i] = new Multi(slowIndexReader, slowTaxoReader, MultiCLIndexer.MULTI_IPARAMS);
+ for (int i = 0; i < numThreads; i++) {
+ multis[i] = new Multi(slowIndexReader, slowTaxoReader, FacetIndexingParams.ALL_PARENTS);
}
- // The last thread uses ONLY the DefaultFacetIndexingParams so that
- // it references a different TFC cache. This will still result
- // in valid results, but will only search one of the category lists
- // instead of all of them.
- multis[numThreads - 1] = new Multi(slowIndexReader, slowTaxoReader, FacetIndexingParams.ALL_PARENTS);
- // Gentleman, start your engines
for (Multi m : multis) {
m.start();
}
// Wait for threads and get results
- ExampleResult[] multiResults = new ExampleResult[numThreads];
- for (int i = 0; i < numThreads; i++) {
- multis[i].join();
- multiResults[i] = multis[i].getResults();
+ String[] expLabelsA = new String[] { "a/d", "a/e", "a/b" };
+ String[] expLabelsB = new String[] { "b/c", "b/a" };
+ for (Multi m : multis) {
+ m.join();
+ List facetResults = m.getResults();
+ assertEquals("expected two results", 2, facetResults.size());
+
+ FacetResultNode nodeA = facetResults.get(0).getFacetResultNode();
+ int i = 0;
+ for (FacetResultNode node : nodeA.subResults) {
+ assertEquals("wrong count", 1, (int) node.value);
+ assertEquals(expLabelsA[i++], node.label.toString('/'));
+ }
+
+ FacetResultNode nodeB = facetResults.get(1).getFacetResultNode();
+ i = 0;
+ for (FacetResultNode node : nodeB.subResults) {
+ assertEquals("wrong count", 1, (int) node.value);
+ assertEquals(expLabelsB[i++], node.label.toString('/'));
+ }
}
-
- // Each of the (numThreads-1) should have the same predictable
- // results, which we test for here.
- for (int i = 0; i < numThreads - 1; i++) {
- ExampleResult eResults = multiResults[i];
- TestMultiCLExample.assertCorrectMultiResults(eResults);
- }
-
- // The last thread, which only searched over the
- // DefaultFacetIndexingParams,
- // has its own results
- ExampleResult eResults = multiResults[numThreads - 1];
- List results = eResults.getFacetResults();
- assertEquals(3, results.size());
- String[] expLabels = new String[] { "5", "5/5", "6/2" };
- double[] expValues = new double[] { 0.0, 0.0, 1.0 };
- for (int i = 0; i < 3; i++) {
- FacetResult result = results.get(i);
- assertNotNull("Result should not be null", result);
- FacetResultNode resNode = result.getFacetResultNode();
- assertEquals("Invalid label", expLabels[i], resNode.label.toString());
- assertEquals("Invalid value", expValues[i], resNode.value, 0.0);
- assertEquals("Invalid number of subresults", 0, resNode.subResults.size());
- }
- // we're done, close the index reader and the taxonomy.
- slowIndexReader.close();
- slowTaxoReader.close();
- indexDir.close();
- taxoDir.close();
+
+ IOUtils.close(slowIndexReader, slowTaxoReader, indexDir, taxoDir);
}
/**
@@ -245,77 +225,78 @@ public class TestTotalFacetCountsCache extends FacetTestCase {
@Test
public void testGenerationalConsistency() throws Exception {
// Create temporary RAMDirectories
- Directory[][] dirs = FacetTestUtils.createIndexTaxonomyDirs(1);
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
// Create our index/taxonomy writers
- IndexTaxonomyWriterPair[] writers = FacetTestUtils.createIndexTaxonomyWriterPair(dirs);
+ IndexWriter indexWriter = new IndexWriter(indexDir, newIndexWriterConfig(TEST_VERSION_CURRENT, null));
+ TaxonomyWriter taxoWriter = new DirectoryTaxonomyWriter(taxoDir);
FacetIndexingParams iParams = FacetIndexingParams.ALL_PARENTS;
// Add a facet to the index
- addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "a", "b");
+ addFacets(iParams, indexWriter, taxoWriter, "a", "b");
// Commit Changes
- writers[0].indexWriter.commit();
- writers[0].taxWriter.commit();
+ indexWriter.commit();
+ taxoWriter.commit();
// Open readers
- IndexTaxonomyReaderPair[] readers = FacetTestUtils.createIndexTaxonomyReaderPair(dirs);
+ DirectoryReader indexReader = DirectoryReader.open(indexDir);
+ TaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoDir);
// As this is the first time we have invoked the TotalFacetCountsManager,
// we should expect to compute and not read from disk.
- TotalFacetCounts totalCounts =
- TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ TotalFacetCounts totalCounts = TFC.getTotalCounts(indexReader, taxoReader, iParams);
int prevGen = assertRecomputed(totalCounts, 0, "after first attempt to get it!");
// Repeating same operation should pull from the cache - not recomputed.
assertTrue("Should be obtained from cache at 2nd attempt",totalCounts ==
- TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams));
+ TFC.getTotalCounts(indexReader, taxoReader, iParams));
// Repeat the same operation as above. but clear first - now should recompute again
initCache();
- totalCounts = TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ totalCounts = TFC.getTotalCounts(indexReader, taxoReader, iParams);
prevGen = assertRecomputed(totalCounts, prevGen, "after cache clear, 3rd attempt to get it!");
//store to file
File outputFile = _TestUtil.createTempFile("test", "tmp", TEMP_DIR);
initCache();
- TFC.store(outputFile, readers[0].indexReader, readers[0].taxReader, iParams);
- totalCounts = TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ TFC.store(outputFile, indexReader, taxoReader, iParams);
+ totalCounts = TFC.getTotalCounts(indexReader, taxoReader, iParams);
prevGen = assertRecomputed(totalCounts, prevGen, "after cache clear, 4th attempt to get it!");
//clear and load
initCache();
- TFC.load(outputFile, readers[0].indexReader, readers[0].taxReader, iParams);
- totalCounts = TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ TFC.load(outputFile, indexReader, taxoReader, iParams);
+ totalCounts = TFC.getTotalCounts(indexReader, taxoReader, iParams);
prevGen = assertReadFromDisc(totalCounts, prevGen, "after 5th attempt to get it!");
// Add a new facet to the index, commit and refresh readers
- addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "c", "d");
- writers[0].indexWriter.close();
- writers[0].taxWriter.close();
+ addFacets(iParams, indexWriter, taxoWriter, "c", "d");
+ IOUtils.close(indexWriter, taxoWriter);
- DirectoryTaxonomyReader newTaxoReader = TaxonomyReader.openIfChanged(readers[0].taxReader);
+ TaxonomyReader newTaxoReader = TaxonomyReader.openIfChanged(taxoReader);
assertNotNull(newTaxoReader);
- assertTrue("should have received more cagtegories in updated taxonomy", newTaxoReader.getSize() > readers[0].taxReader.getSize());
- readers[0].taxReader.close();
- readers[0].taxReader = newTaxoReader;
+ assertTrue("should have received more cagtegories in updated taxonomy", newTaxoReader.getSize() > taxoReader.getSize());
+ taxoReader.close();
+ taxoReader = newTaxoReader;
- DirectoryReader r2 = DirectoryReader.openIfChanged(readers[0].indexReader);
+ DirectoryReader r2 = DirectoryReader.openIfChanged(indexReader);
assertNotNull(r2);
- readers[0].indexReader.close();
- readers[0].indexReader = r2;
+ indexReader.close();
+ indexReader = r2;
// now use the new reader - should recompute
- totalCounts = TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ totalCounts = TFC.getTotalCounts(indexReader, taxoReader, iParams);
prevGen = assertRecomputed(totalCounts, prevGen, "after updating the index - 7th attempt!");
// try again - should not recompute
assertTrue("Should be obtained from cache at 8th attempt",totalCounts ==
- TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams));
+ TFC.getTotalCounts(indexReader, taxoReader, iParams));
- readers[0].close();
+ IOUtils.close(indexReader, taxoReader);
outputFile.delete();
- IOUtils.close(dirs[0]);
+ IOUtils.close(indexDir, taxoDir);
}
private int assertReadFromDisc(TotalFacetCounts totalCounts, int prevGen, String errMsg) {
@@ -341,10 +322,12 @@ public class TestTotalFacetCountsCache extends FacetTestCase {
*/
@Test
public void testGrowingTaxonomy() throws Exception {
- // Create temporary RAMDirectories
- Directory[][] dirs = FacetTestUtils.createIndexTaxonomyDirs(1);
+ Directory indexDir = newDirectory();
+ Directory taxoDir = newDirectory();
+
// Create our index/taxonomy writers
- IndexTaxonomyWriterPair[] writers = FacetTestUtils.createIndexTaxonomyWriterPair(dirs);
+ IndexWriter indexWriter = new IndexWriter(indexDir, newIndexWriterConfig(TEST_VERSION_CURRENT, null));
+ TaxonomyWriter taxoWriter = new DirectoryTaxonomyWriter(taxoDir);
FacetIndexingParams iParams = new FacetIndexingParams() {
@Override
public int getPartitionSize() {
@@ -352,37 +335,38 @@ public class TestTotalFacetCountsCache extends FacetTestCase {
}
};
// Add a facet to the index
- addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "a", "b");
+ addFacets(iParams, indexWriter, taxoWriter, "a", "b");
// Commit Changes
- writers[0].indexWriter.commit();
- writers[0].taxWriter.commit();
+ indexWriter.commit();
+ taxoWriter.commit();
- IndexTaxonomyReaderPair[] readers = FacetTestUtils.createIndexTaxonomyReaderPair(dirs);
+ DirectoryReader indexReader = DirectoryReader.open(indexDir);
+ TaxonomyReader taxoReader = new DirectoryTaxonomyReader(taxoDir);
// Create TFC and write cache to disk
File outputFile = _TestUtil.createTempFile("test", "tmp", TEMP_DIR);
- TFC.store(outputFile, readers[0].indexReader, readers[0].taxReader, iParams);
+ TFC.store(outputFile, indexReader, taxoReader, iParams);
// Make the taxonomy grow without touching the index
for (int i = 0; i < 10; i++) {
- writers[0].taxWriter.addCategory(new CategoryPath("foo", Integer.toString(i)));
+ taxoWriter.addCategory(new CategoryPath("foo", Integer.toString(i)));
}
- writers[0].taxWriter.commit();
- DirectoryTaxonomyReader newTaxoReader = TaxonomyReader.openIfChanged(readers[0].taxReader);
+ taxoWriter.commit();
+ TaxonomyReader newTaxoReader = TaxonomyReader.openIfChanged(taxoReader);
assertNotNull(newTaxoReader);
- readers[0].taxReader.close();
- readers[0].taxReader = newTaxoReader;
+ taxoReader.close();
+ taxoReader = newTaxoReader;
initCache();
// With the bug, this next call should result in an exception
- TFC.load(outputFile, readers[0].indexReader, readers[0].taxReader, iParams);
- TotalFacetCounts totalCounts = TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ TFC.load(outputFile, indexReader, taxoReader, iParams);
+ TotalFacetCounts totalCounts = TFC.getTotalCounts(indexReader, taxoReader, iParams);
assertReadFromDisc(totalCounts, 0, "after reading from disk.");
+
outputFile.delete();
- writers[0].close();
- readers[0].close();
- IOUtils.close(dirs[0]);
+ IOUtils.close(indexWriter, taxoWriter, indexReader, taxoReader);
+ IOUtils.close(indexDir, taxoDir);
}
/**
@@ -445,46 +429,52 @@ public class TestTotalFacetCountsCache extends FacetTestCase {
*/
@Test
public void testMultipleIndices() throws IOException {
- // Create temporary RAMDirectories
- Directory[][] dirs = FacetTestUtils.createIndexTaxonomyDirs(2);
+ Directory indexDir1 = newDirectory(), indexDir2 = newDirectory();
+ Directory taxoDir1 = newDirectory(), taxoDir2 = newDirectory();
+
// Create our index/taxonomy writers
- IndexTaxonomyWriterPair[] writers = FacetTestUtils.createIndexTaxonomyWriterPair(dirs);
+ IndexWriter indexWriter1 = new IndexWriter(indexDir1, newIndexWriterConfig(TEST_VERSION_CURRENT, null));
+ IndexWriter indexWriter2 = new IndexWriter(indexDir2, newIndexWriterConfig(TEST_VERSION_CURRENT, null));
+ TaxonomyWriter taxoWriter1 = new DirectoryTaxonomyWriter(taxoDir1);
+ TaxonomyWriter taxoWriter2 = new DirectoryTaxonomyWriter(taxoDir2);
FacetIndexingParams iParams = FacetIndexingParams.ALL_PARENTS;
// Add a facet to the index
- addFacets(iParams, writers[0].indexWriter, writers[0].taxWriter, "a", "b");
- addFacets(iParams, writers[1].indexWriter, writers[1].taxWriter, "d", "e");
+ addFacets(iParams, indexWriter1, taxoWriter1, "a", "b");
+ addFacets(iParams, indexWriter1, taxoWriter1, "d", "e");
// Commit Changes
- writers[0].indexWriter.commit();
- writers[0].taxWriter.commit();
- writers[1].indexWriter.commit();
- writers[1].taxWriter.commit();
+ indexWriter1.commit();
+ indexWriter2.commit();
+ taxoWriter1.commit();
+ taxoWriter2.commit();
// Open two readers
- IndexTaxonomyReaderPair[] readers = FacetTestUtils.createIndexTaxonomyReaderPair(dirs);
+ DirectoryReader indexReader1 = DirectoryReader.open(indexDir1);
+ DirectoryReader indexReader2 = DirectoryReader.open(indexDir2);
+ TaxonomyReader taxoReader1 = new DirectoryTaxonomyReader(taxoDir1);
+ TaxonomyReader taxoReader2 = new DirectoryTaxonomyReader(taxoDir2);
// As this is the first time we have invoked the TotalFacetCountsManager, we
// should expect to compute.
- TotalFacetCounts totalCounts0 =
- TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ TotalFacetCounts totalCounts0 = TFC.getTotalCounts(indexReader1, taxoReader1, iParams);
int prevGen = -1;
prevGen = assertRecomputed(totalCounts0, prevGen, "after attempt 1");
assertTrue("attempt 1b for same input [0] shout find it in cache",
- totalCounts0 == TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams));
+ totalCounts0 == TFC.getTotalCounts(indexReader1, taxoReader1, iParams));
// 2nd Reader - As this is the first time we have invoked the
// TotalFacetCountsManager, we should expect a state of NEW to be returned.
- TotalFacetCounts totalCounts1 = TFC.getTotalCounts(readers[1].indexReader, readers[1].taxReader, iParams);
+ TotalFacetCounts totalCounts1 = TFC.getTotalCounts(indexReader2, taxoReader2, iParams);
prevGen = assertRecomputed(totalCounts1, prevGen, "after attempt 2");
assertTrue("attempt 2b for same input [1] shout find it in cache",
- totalCounts1 == TFC.getTotalCounts(readers[1].indexReader, readers[1].taxReader, iParams));
+ totalCounts1 == TFC.getTotalCounts(indexReader2, taxoReader2, iParams));
// Right now cache size is one, so first TFC is gone and should be recomputed
- totalCounts0 = TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ totalCounts0 = TFC.getTotalCounts(indexReader1, taxoReader1, iParams);
prevGen = assertRecomputed(totalCounts0, prevGen, "after attempt 3");
// Similarly will recompute the second result
- totalCounts1 = TFC.getTotalCounts(readers[1].indexReader, readers[1].taxReader, iParams);
+ totalCounts1 = TFC.getTotalCounts(indexReader2, taxoReader2, iParams);
prevGen = assertRecomputed(totalCounts1, prevGen, "after attempt 4");
// Now we set the cache size to two, meaning both should exist in the
@@ -492,23 +482,19 @@ public class TestTotalFacetCountsCache extends FacetTestCase {
TFC.setCacheSize(2);
// Re-compute totalCounts0 (was evicted from the cache when the cache was smaller)
- totalCounts0 = TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams);
+ totalCounts0 = TFC.getTotalCounts(indexReader1, taxoReader1, iParams);
prevGen = assertRecomputed(totalCounts0, prevGen, "after attempt 5");
// now both are in the larger cache and should not be recomputed
- totalCounts1 = TFC.getTotalCounts(readers[1].indexReader, readers[1].taxReader, iParams);
+ totalCounts1 = TFC.getTotalCounts(indexReader2, taxoReader2, iParams);
assertTrue("with cache of size 2 res no. 0 should come from cache",
- totalCounts0 == TFC.getTotalCounts(readers[0].indexReader, readers[0].taxReader, iParams));
+ totalCounts0 == TFC.getTotalCounts(indexReader1, taxoReader1, iParams));
assertTrue("with cache of size 2 res no. 1 should come from cache",
- totalCounts1 == TFC.getTotalCounts(readers[1].indexReader, readers[1].taxReader, iParams));
+ totalCounts1 == TFC.getTotalCounts(indexReader2, taxoReader2, iParams));
- writers[0].close();
- writers[1].close();
- readers[0].close();
- readers[1].close();
- for (Directory[] dirset : dirs) {
- IOUtils.close(dirset);
- }
+ IOUtils.close(indexWriter1, indexWriter2, taxoWriter1, taxoWriter2);
+ IOUtils.close(indexReader1, indexReader2, taxoReader1, taxoReader2);
+ IOUtils.close(indexDir1, indexDir2, taxoDir1, taxoDir2);
}
}
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java b/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java
index 1117fcf1d73..71b7058035d 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/search/sampling/OversampleWithDepthTest.java
@@ -3,7 +3,6 @@ package org.apache.lucene.facet.search.sampling;
import java.io.IOException;
import java.util.Collections;
-import org.apache.lucene.analysis.core.KeywordAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.facet.FacetTestCase;
import org.apache.lucene.facet.index.FacetFields;
@@ -95,7 +94,7 @@ public class OversampleWithDepthTest extends FacetTestCase {
}
private void index100Docs(Directory indexDir, Directory taxoDir, FacetIndexingParams fip) throws IOException {
- IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, new KeywordAnalyzer());
+ IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, null);
IndexWriter w = new IndexWriter(indexDir, iwc);
TaxonomyWriter tw = new DirectoryTaxonomyWriter(taxoDir);
diff --git a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
index 2ae22a13c1c..3533e64118d 100644
--- a/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
+++ b/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/directory/TestDirectoryTaxonomyReader.java
@@ -3,7 +3,7 @@ package org.apache.lucene.facet.taxonomy.directory;
import java.io.IOException;
import java.util.Random;
-import org.apache.lucene.analysis.core.KeywordAnalyzer;
+import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.facet.FacetTestCase;
import org.apache.lucene.facet.taxonomy.CategoryPath;
import org.apache.lucene.facet.taxonomy.TaxonomyReader;
@@ -256,7 +256,7 @@ public class TestDirectoryTaxonomyReader extends FacetTestCase {
// hold onto IW to forceMerge
// note how we don't close it, since DTW will close it.
final IndexWriter iw = new IndexWriter(dir,
- new IndexWriterConfig(TEST_VERSION_CURRENT, new KeywordAnalyzer())
+ new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()))
.setMergePolicy(new LogByteSizeMergePolicy()));
DirectoryTaxonomyWriter writer = new DirectoryTaxonomyWriter(dir) {
@Override
@@ -299,7 +299,7 @@ public class TestDirectoryTaxonomyReader extends FacetTestCase {
// hold onto IW to forceMerge
// note how we don't close it, since DTW will close it.
final IndexWriter iw = new IndexWriter(dir,
- new IndexWriterConfig(TEST_VERSION_CURRENT, new KeywordAnalyzer())
+ new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()))
.setMergePolicy(new LogByteSizeMergePolicy()));
DirectoryTaxonomyWriter writer = new DirectoryTaxonomyWriter(dir) {
@Override