This is an automated email from the ASF dual-hosted git repository. rnewson pushed a commit to branch import-nouveau-reorg-wip in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 817a7e0a5bbdf7eafd667fc5c8682c55ad12371c Author: Robert Newson <[email protected]> AuthorDate: Mon Dec 19 13:42:15 2022 +0000 wip --- .../apache/couchdb/nouveau/NouveauApplication.java | 3 - .../apache/couchdb/nouveau/core/IndexManager.java | 6 +- .../apache/couchdb/nouveau/core/lucene/Index.java | 5 + .../apache/couchdb/nouveau/core/lucene/Lucene.java | 9 +- .../couchdb/nouveau/core/lucene/package.html | 14 ++ .../v461/AnalyzerFactory.java} | 4 +- .../{Lucene461.java => v461/LuceneImpl.java} | 8 +- .../v9/AnalyzerFactory.java} | 4 +- .../lucene/{Lucene9.java => v9/LuceneImpl.java} | 8 +- .../couchdb/nouveau/core/AnalyzerFactoryTest.java | 256 --------------------- .../couchdb/nouveau/core/IndexManagerTest.java | 10 +- 11 files changed, 50 insertions(+), 277 deletions(-) diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java index 2df8b3f8f..c0f509185 100644 --- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java @@ -15,7 +15,6 @@ package org.apache.couchdb.nouveau; import java.util.concurrent.ExecutorService; -import org.apache.couchdb.nouveau.core.V9AnalyzerFactory; import org.apache.couchdb.nouveau.core.DocumentFactory; import org.apache.couchdb.nouveau.core.FileAlreadyExistsExceptionMapper; import org.apache.couchdb.nouveau.core.FileNotFoundExceptionMapper; @@ -48,7 +47,6 @@ public class NouveauApplication extends Application<NouveauApplicationConfigurat @Override public void run(NouveauApplicationConfiguration configuration, Environment environment) throws Exception { final DocumentFactory documentFactory = new DocumentFactory(); - final V9AnalyzerFactory analyzerFactory = new V9AnalyzerFactory(); final ExecutorService searchExecutor = environment.lifecycle().executorService("searches").build(); @@ -65,7 +63,6 @@ public class NouveauApplication extends Application<NouveauApplicationConfigurat indexManager.setMaxIndexesOpen(configuration.getMaxIndexesOpen()); indexManager.setCommitIntervalSeconds(configuration.getCommitIntervalSeconds()); indexManager.setIdleSeconds(configuration.getIdleSeconds()); - indexManager.setAnalyzerFactory(analyzerFactory); indexManager.setObjectMapper(objectMapper); indexManager.setSearcherFactory(searcherFactory); environment.lifecycle().manage(indexManager); 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 4975bcb5d..583d56189 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 @@ -34,6 +34,8 @@ import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response.Status; import org.apache.couchdb.nouveau.api.IndexDefinition; +import org.apache.couchdb.nouveau.core.lucene.v9.AnalyzerFactory; + import v9.org.apache.lucene.analysis.Analyzer; import v9.org.apache.lucene.index.IndexWriter; import v9.org.apache.lucene.index.IndexWriterConfig; @@ -234,7 +236,7 @@ public class IndexManager implements Managed { private Path rootDir; @NotNull - private V9AnalyzerFactory analyzerFactory; + private AnalyzerFactory analyzerFactory; @NotNull private ObjectMapper objectMapper; @@ -339,7 +341,7 @@ public class IndexManager implements Managed { this.rootDir = rootDir; } - public void setAnalyzerFactory(final V9AnalyzerFactory analyzerFactory) { + public void setAnalyzerFactory(final AnalyzerFactory analyzerFactory) { this.analyzerFactory = analyzerFactory; } diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Index.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Index.java new file mode 100644 index 000000000..728e61e98 --- /dev/null +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Index.java @@ -0,0 +1,5 @@ +package org.apache.couchdb.nouveau.core.lucene; + +public abstract class Index { + +} diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene.java index 6c794c2ba..23c70f47c 100644 --- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene.java +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene.java @@ -17,12 +17,13 @@ import java.io.IOException; import org.apache.couchdb.nouveau.api.AnalyzeRequest; import org.apache.couchdb.nouveau.api.AnalyzeResponse; +import org.apache.couchdb.nouveau.api.IndexDefinition; import org.apache.couchdb.nouveau.api.LuceneVersion; public abstract class Lucene { - private static final Lucene LUCENE_9 = new Lucene9(); - private static final Lucene LUCENE_4_6_1 = new Lucene461(); + private static final Lucene LUCENE_9 = new org.apache.couchdb.nouveau.core.lucene.v9.LuceneImpl(); + private static final Lucene LUCENE_4_6_1 = new org.apache.couchdb.nouveau.core.lucene.v461.LuceneImpl(); public final static AnalyzeResponse analyzeText(final AnalyzeRequest request) throws IOException { return forVersion(request.getLuceneVersion()).analyzeImpl(request); @@ -30,6 +31,10 @@ public abstract class Lucene { public abstract AnalyzeResponse analyzeImpl(final AnalyzeRequest request) throws IOException; + public abstract void create(final String name, final IndexDefinition def) throws IOException; + + public abstract Index open(final String name) throws IOException; + private static Lucene forVersion(final LuceneVersion luceneVersion) { switch(luceneVersion) { case LUCENE_4_6_1: diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/package.html b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/package.html new file mode 100644 index 000000000..d97bb2952 --- /dev/null +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/package.html @@ -0,0 +1,14 @@ +<html> + <body> + <h1>Lucene package</h1> + <p> + In order to support multiple versions of Lucene concurrently, Nouveau introduces + a high-level facade interface, behind which is a concrete implementation that uses + classes from the respective Lucene versions. + </p> + <p> + Nouveau uses the maven shade plugin to relocate the supported versions of Lucene into + distinct packages, rather than do some ClassLoader magic. + </p> + </body> +</html> \ No newline at end of file diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/V461AnalyzerFactory.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v461/AnalyzerFactory.java similarity index 98% rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/V461AnalyzerFactory.java rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v461/AnalyzerFactory.java index 52ff55357..d318a6a6d 100644 --- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/V461AnalyzerFactory.java +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v461/AnalyzerFactory.java @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.apache.couchdb.nouveau.core; +package org.apache.couchdb.nouveau.core.lucene.v461; import java.util.HashMap; import java.util.Map; @@ -63,7 +63,7 @@ import v461.org.apache.lucene.analysis.th.ThaiAnalyzer; import v461.org.apache.lucene.analysis.tr.TurkishAnalyzer; import v461.org.apache.lucene.util.Version; -public class V461AnalyzerFactory { +class AnalyzerFactory { private static final Version VERSION = Version.LUCENE_46; diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene461.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v461/LuceneImpl.java similarity index 90% rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene461.java rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v461/LuceneImpl.java index 9cc6eea6f..7b55cbbd3 100644 --- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene461.java +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v461/LuceneImpl.java @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.apache.couchdb.nouveau.core.lucene; +package org.apache.couchdb.nouveau.core.lucene.v461; import java.io.IOException; import java.util.ArrayList; @@ -22,15 +22,15 @@ import javax.ws.rs.core.Response.Status; import org.apache.couchdb.nouveau.api.AnalyzeRequest; import org.apache.couchdb.nouveau.api.AnalyzeResponse; -import org.apache.couchdb.nouveau.core.V461AnalyzerFactory; +import org.apache.couchdb.nouveau.core.lucene.Lucene; import v461.org.apache.lucene.analysis.Analyzer; import v461.org.apache.lucene.analysis.TokenStream; import v461.org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -class Lucene461 extends Lucene { +public class LuceneImpl extends Lucene { - private final V461AnalyzerFactory analyzerFactory = new V461AnalyzerFactory(); + private final AnalyzerFactory analyzerFactory = new AnalyzerFactory(); @Override public AnalyzeResponse analyzeImpl(final AnalyzeRequest request) throws IOException { diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/V9AnalyzerFactory.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v9/AnalyzerFactory.java similarity index 98% rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/V9AnalyzerFactory.java rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v9/AnalyzerFactory.java index afa9d77d3..72177926f 100644 --- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/V9AnalyzerFactory.java +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v9/AnalyzerFactory.java @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.apache.couchdb.nouveau.core; +package org.apache.couchdb.nouveau.core.lucene.v9; import java.util.HashMap; import java.util.Map; @@ -62,7 +62,7 @@ import v9.org.apache.lucene.analysis.sv.SwedishAnalyzer; import v9.org.apache.lucene.analysis.th.ThaiAnalyzer; import v9.org.apache.lucene.analysis.tr.TurkishAnalyzer; -public class V9AnalyzerFactory { +class AnalyzerFactory { public Analyzer fromDefinition(final IndexDefinition indexDefinition) { final Analyzer defaultAnalyzer = newAnalyzer(indexDefinition.getDefaultAnalyzer()); diff --git a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene9.java b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v9/LuceneImpl.java similarity index 90% rename from java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene9.java rename to java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v9/LuceneImpl.java index 15803bcb6..d79eb9e69 100644 --- a/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/Lucene9.java +++ b/java/nouveau/server/src/main/java/org/apache/couchdb/nouveau/core/lucene/v9/LuceneImpl.java @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.apache.couchdb.nouveau.core.lucene; +package org.apache.couchdb.nouveau.core.lucene.v9; import java.io.IOException; import java.util.ArrayList; @@ -22,15 +22,15 @@ import javax.ws.rs.core.Response.Status; import org.apache.couchdb.nouveau.api.AnalyzeRequest; import org.apache.couchdb.nouveau.api.AnalyzeResponse; -import org.apache.couchdb.nouveau.core.V9AnalyzerFactory; +import org.apache.couchdb.nouveau.core.lucene.Lucene; import v9.org.apache.lucene.analysis.Analyzer; import v9.org.apache.lucene.analysis.TokenStream; import v9.org.apache.lucene.analysis.tokenattributes.CharTermAttribute; -class Lucene9 extends Lucene { +public class LuceneImpl extends Lucene { - private final V9AnalyzerFactory analyzerFactory = new V9AnalyzerFactory(); + private final AnalyzerFactory analyzerFactory = new AnalyzerFactory(); @Override public AnalyzeResponse analyzeImpl(final AnalyzeRequest request) throws IOException { diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/AnalyzerFactoryTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/AnalyzerFactoryTest.java deleted file mode 100644 index 8e769a045..000000000 --- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/AnalyzerFactoryTest.java +++ /dev/null @@ -1,256 +0,0 @@ -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package org.apache.couchdb.nouveau.core; - -import static org.assertj.core.api.Assertions.assertThat; - -import v9.org.apache.lucene.analysis.Analyzer; -import v9.org.apache.lucene.analysis.ar.ArabicAnalyzer; -import v9.org.apache.lucene.analysis.bg.BulgarianAnalyzer; -import v9.org.apache.lucene.analysis.ca.CatalanAnalyzer; -import v9.org.apache.lucene.analysis.cjk.CJKAnalyzer; -import v9.org.apache.lucene.analysis.classic.ClassicAnalyzer; -import v9.org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer; -import v9.org.apache.lucene.analysis.core.KeywordAnalyzer; -import v9.org.apache.lucene.analysis.core.SimpleAnalyzer; -import v9.org.apache.lucene.analysis.core.WhitespaceAnalyzer; -import v9.org.apache.lucene.analysis.cz.CzechAnalyzer; -import v9.org.apache.lucene.analysis.da.DanishAnalyzer; -import v9.org.apache.lucene.analysis.de.GermanAnalyzer; -import v9.org.apache.lucene.analysis.email.UAX29URLEmailAnalyzer; -import v9.org.apache.lucene.analysis.en.EnglishAnalyzer; -import v9.org.apache.lucene.analysis.es.SpanishAnalyzer; -import v9.org.apache.lucene.analysis.eu.BasqueAnalyzer; -import v9.org.apache.lucene.analysis.fa.PersianAnalyzer; -import v9.org.apache.lucene.analysis.fi.FinnishAnalyzer; -import v9.org.apache.lucene.analysis.fr.FrenchAnalyzer; -import v9.org.apache.lucene.analysis.ga.IrishAnalyzer; -import v9.org.apache.lucene.analysis.gl.GalicianAnalyzer; -import v9.org.apache.lucene.analysis.hi.HindiAnalyzer; -import v9.org.apache.lucene.analysis.hu.HungarianAnalyzer; -import v9.org.apache.lucene.analysis.hy.ArmenianAnalyzer; -import v9.org.apache.lucene.analysis.id.IndonesianAnalyzer; -import v9.org.apache.lucene.analysis.it.ItalianAnalyzer; -import v9.org.apache.lucene.analysis.ja.JapaneseAnalyzer; -import v9.org.apache.lucene.analysis.lv.LatvianAnalyzer; -import v9.org.apache.lucene.analysis.nl.DutchAnalyzer; -import v9.org.apache.lucene.analysis.no.NorwegianAnalyzer; -import v9.org.apache.lucene.analysis.pl.PolishAnalyzer; -import v9.org.apache.lucene.analysis.pt.PortugueseAnalyzer; -import v9.org.apache.lucene.analysis.ro.RomanianAnalyzer; -import v9.org.apache.lucene.analysis.ru.RussianAnalyzer; -import v9.org.apache.lucene.analysis.standard.StandardAnalyzer; -import v9.org.apache.lucene.analysis.sv.SwedishAnalyzer; -import v9.org.apache.lucene.analysis.th.ThaiAnalyzer; -import v9.org.apache.lucene.analysis.tr.TurkishAnalyzer; -import org.junit.jupiter.api.Test; - -public class AnalyzerFactoryTest { - - @Test - public void testkeyword() throws Exception { - assertAnalyzer("keyword", KeywordAnalyzer.class); - } - - @Test - public void testsimple() throws Exception { - assertAnalyzer("simple", SimpleAnalyzer.class); - } - - @Test - public void testwhitespace() throws Exception { - assertAnalyzer("whitespace", WhitespaceAnalyzer.class); - } - - @Test - public void testarabic() throws Exception { - assertAnalyzer("arabic", ArabicAnalyzer.class); - } - - @Test - public void testbulgarian() throws Exception { - assertAnalyzer("bulgarian", BulgarianAnalyzer.class); - } - - @Test - public void testcatalan() throws Exception { - assertAnalyzer("catalan", CatalanAnalyzer.class); - } - - @Test - public void testcjk() throws Exception { - assertAnalyzer("cjk", CJKAnalyzer.class); - } - - @Test - public void testchinese() throws Exception { - assertAnalyzer("chinese", SmartChineseAnalyzer.class); - } - - @Test - public void testczech() throws Exception { - assertAnalyzer("czech", CzechAnalyzer.class); - } - - @Test - public void testdanish() throws Exception { - assertAnalyzer("danish", DanishAnalyzer.class); - } - - @Test - public void testgerman() throws Exception { - assertAnalyzer("german", GermanAnalyzer.class); - } - - @Test - public void testenglish() throws Exception { - assertAnalyzer("english", EnglishAnalyzer.class); - } - - @Test - public void testspanish() throws Exception { - assertAnalyzer("spanish", SpanishAnalyzer.class); - } - - @Test - public void testbasque() throws Exception { - assertAnalyzer("basque", BasqueAnalyzer.class); - } - - @Test - public void testpersian() throws Exception { - assertAnalyzer("persian", PersianAnalyzer.class); - } - - @Test - public void testfinnish() throws Exception { - assertAnalyzer("finnish", FinnishAnalyzer.class); - } - - @Test - public void testfrench() throws Exception { - assertAnalyzer("french", FrenchAnalyzer.class); - } - - @Test - public void testirish() throws Exception { - assertAnalyzer("irish", IrishAnalyzer.class); - } - - @Test - public void testgalician() throws Exception { - assertAnalyzer("galician", GalicianAnalyzer.class); - } - - @Test - public void testhindi() throws Exception { - assertAnalyzer("hindi", HindiAnalyzer.class); - } - - @Test - public void testhungarian() throws Exception { - assertAnalyzer("hungarian", HungarianAnalyzer.class); - } - - @Test - public void testarmenian() throws Exception { - assertAnalyzer("armenian", ArmenianAnalyzer.class); - } - - @Test - public void testindonesian() throws Exception { - assertAnalyzer("indonesian", IndonesianAnalyzer.class); - } - - @Test - public void testitalian() throws Exception { - assertAnalyzer("italian", ItalianAnalyzer.class); - } - - @Test - public void testjapanese() throws Exception { - assertAnalyzer("japanese", JapaneseAnalyzer.class); - } - - @Test - public void testlatvian() throws Exception { - assertAnalyzer("latvian", LatvianAnalyzer.class); - } - - @Test - public void testdutch() throws Exception { - assertAnalyzer("dutch", DutchAnalyzer.class); - } - - @Test - public void testnorwegian() throws Exception { - assertAnalyzer("norwegian", NorwegianAnalyzer.class); - } - - @Test - public void testpolish() throws Exception { - assertAnalyzer("polish", PolishAnalyzer.class); - } - - @Test - public void testportugese() throws Exception { - assertAnalyzer("portugese", PortugueseAnalyzer.class); - } - - @Test - public void testromanian() throws Exception { - assertAnalyzer("romanian", RomanianAnalyzer.class); - } - - @Test - public void testrussian() throws Exception { - assertAnalyzer("russian", RussianAnalyzer.class); - } - - @Test - public void testclassic() throws Exception { - assertAnalyzer("classic", ClassicAnalyzer.class); - } - - @Test - public void teststandard() throws Exception { - assertAnalyzer("standard", StandardAnalyzer.class); - } - - @Test - public void testemail() throws Exception { - assertAnalyzer("email", UAX29URLEmailAnalyzer.class); - } - - @Test - public void testswedish() throws Exception { - assertAnalyzer("swedish", SwedishAnalyzer.class); - } - - @Test - public void testthai() throws Exception { - assertAnalyzer("thai", ThaiAnalyzer.class); - } - - @Test - public void testturkish() throws Exception { - assertAnalyzer("turkish", TurkishAnalyzer.class); - } - - private void assertAnalyzer(final String name, final Class<? extends Analyzer> clazz) throws Exception { - final V9AnalyzerFactory factory = new V9AnalyzerFactory(); - assertThat(factory.newAnalyzer(name)).isInstanceOf(clazz); - } - -} diff --git a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java index b5151d8a5..60d4c739c 100644 --- a/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java +++ b/java/nouveau/server/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java @@ -16,6 +16,7 @@ package org.apache.couchdb.nouveau.core; import java.nio.file.Path; import org.apache.couchdb.nouveau.api.IndexDefinition; + import static org.apache.couchdb.nouveau.api.LuceneVersion.*; import com.fasterxml.jackson.databind.ObjectMapper; @@ -38,7 +39,6 @@ public class IndexManagerTest { @BeforeEach public void setup() throws Exception { manager = new IndexManager(); - manager.setAnalyzerFactory(new V9AnalyzerFactory()); manager.setCommitIntervalSeconds(5); manager.setObjectMapper(new ObjectMapper()); manager.setRootDir(tempDir); @@ -51,9 +51,15 @@ public class IndexManagerTest { } @Test - public void testCreate() throws Exception { + public void testCreate9() throws Exception { final IndexDefinition def = new IndexDefinition(LUCENE_9, "standard", null); manager.create("foo", def); } + @Test + public void testCreate461() throws Exception { + final IndexDefinition def = new IndexDefinition(LUCENE_4_6_1, "standard", null); + manager.create("foo", def); + } + }
