Updated Branches: refs/heads/master 507045961 -> 321ef6683
CAMEL-5922: Upgraded to Lucene 4.4. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/321ef668 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/321ef668 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/321ef668 Branch: refs/heads/master Commit: 321ef66832bcefd9754aee5c3487e86ea34fc649 Parents: 5070459 Author: Babak Vahdat <bvah...@apache.org> Authored: Tue Oct 1 01:30:52 2013 +0200 Committer: Babak Vahdat <bvah...@apache.org> Committed: Tue Oct 1 01:30:52 2013 +0200 ---------------------------------------------------------------------- .../component/lucene/LuceneConfiguration.java | 2 +- .../camel/component/lucene/LuceneIndexer.java | 25 ++++++++++++++------ .../camel/component/lucene/LuceneSearcher.java | 8 ++++--- .../lucene/LuceneIndexAndQueryProducerTest.java | 6 ++--- .../lucene/LuceneQueryProcessorTest.java | 4 ++-- 5 files changed, 29 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/321ef668/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java index e7c5443..5a1a660 100644 --- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java +++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java @@ -35,7 +35,7 @@ public class LuceneConfiguration { private File indexDirectory; private Analyzer analyzer; private int maxHits; - private Version luceneVersion = Version.LUCENE_36; + private Version luceneVersion = Version.LUCENE_44; public LuceneConfiguration() { } http://git-wip-us.apache.org/repos/asf/camel/blob/321ef668/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexer.java ---------------------------------------------------------------------- diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexer.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexer.java index 3e01108..7e0fade 100644 --- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexer.java +++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexer.java @@ -26,6 +26,7 @@ import org.apache.camel.converter.IOConverter; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; +import org.apache.lucene.document.FieldType; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.index.IndexWriterConfig.OpenMode; @@ -37,6 +38,8 @@ import org.slf4j.LoggerFactory; public class LuceneIndexer { private static final Logger LOG = LoggerFactory.getLogger(LuceneIndexer.class); private File sourceDirectory; + private FieldType fieldTypeAnalyzed; + private FieldType fieldTypeUnanalyzed; private Analyzer analyzer; private NIOFSDirectory niofsDirectory; private IndexWriter indexWriter; @@ -52,6 +55,18 @@ public class LuceneIndexer { this.setNiofsDirectory(new NIOFSDirectory(new File("./indexDirectory"))); } + fieldTypeAnalyzed = new FieldType(); + fieldTypeAnalyzed.setIndexed(true); + fieldTypeAnalyzed.setStored(true); + fieldTypeAnalyzed.setTokenized(true); + fieldTypeAnalyzed.freeze(); + + fieldTypeUnanalyzed = new FieldType(); + fieldTypeUnanalyzed.setIndexed(true); + fieldTypeUnanalyzed.setStored(true); + fieldTypeUnanalyzed.setTokenized(false); + fieldTypeUnanalyzed.freeze(); + this.setAnalyzer(analyzer); if ((sourceDirectory != null) && (!sourceDirectoryIndexed)) { @@ -68,7 +83,7 @@ public class LuceneIndexer { add("exchangeId", exchange.getExchangeId(), true); for (Entry<String, Object> entry : headers.entrySet()) { String field = entry.getKey(); - String value = exchange.getContext().getTypeConverter().convertTo(String.class, entry.getValue()); + String value = exchange.getContext().getTypeConverter().mandatoryConvertTo(String.class, entry.getValue()); add(field, value, true); } @@ -107,11 +122,7 @@ public class LuceneIndexer { } Document doc = new Document(); - if (!analyzed) { - doc.add(new Field(field, value, Field.Store.YES, Field.Index.NOT_ANALYZED)); - } else { - doc.add(new Field(field, value, Field.Store.YES, Field.Index.ANALYZED)); - } + doc.add(new Field(field, value, analyzed ? fieldTypeAnalyzed : fieldTypeUnanalyzed)); indexWriter.addDocument(doc); } @@ -144,7 +155,7 @@ public class LuceneIndexer { private void openIndexWriter() throws IOException { IndexWriterConfig indexWriterConfig; // use create or append so we can reuse existing index if already exists - indexWriterConfig = new IndexWriterConfig(Version.LUCENE_36, getAnalyzer()).setOpenMode(OpenMode.CREATE_OR_APPEND); + indexWriterConfig = new IndexWriterConfig(Version.LUCENE_44, getAnalyzer()).setOpenMode(OpenMode.CREATE_OR_APPEND); indexWriter = new IndexWriter(niofsDirectory, indexWriterConfig); } http://git-wip-us.apache.org/repos/asf/camel/blob/321ef668/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java ---------------------------------------------------------------------- diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java index bd3026f..b4f2884 100644 --- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java +++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java @@ -23,6 +23,7 @@ import org.apache.camel.processor.lucene.support.Hit; import org.apache.camel.processor.lucene.support.Hits; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; +import org.apache.lucene.index.DirectoryReader; import org.apache.lucene.index.IndexReader; import org.apache.lucene.queryparser.classic.ParseException; import org.apache.lucene.queryparser.classic.QueryParser; @@ -44,9 +45,9 @@ public class LuceneSearcher { public void open(File indexDirectory, Analyzer analyzer) throws IOException { if (indexDirectory != null) { - indexReader = IndexReader.open(new NIOFSDirectory(indexDirectory)); + indexReader = DirectoryReader.open(new NIOFSDirectory(indexDirectory)); } else { - indexReader = IndexReader.open(new NIOFSDirectory(new File("./indexDirectory"))); + indexReader = DirectoryReader.open(new NIOFSDirectory(new File("./indexDirectory"))); } indexSearcher = new IndexSearcher(indexReader); this.analyzer = analyzer; @@ -54,10 +55,11 @@ public class LuceneSearcher { public void close() throws IOException { indexReader.close(); + analyzer.close(); } public Hits search(String searchPhrase, int maxNumberOfHits) throws Exception { - return search(searchPhrase, maxNumberOfHits, Version.LUCENE_36); + return search(searchPhrase, maxNumberOfHits, Version.LUCENE_44); } public Hits search(String searchPhrase, int maxNumberOfHits, Version luenceVersion) throws Exception { http://git-wip-us.apache.org/repos/asf/camel/blob/321ef668/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java ---------------------------------------------------------------------- diff --git a/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java b/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java index 929f324..7e64e33 100644 --- a/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java +++ b/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java @@ -53,11 +53,11 @@ public class LuceneIndexAndQueryProducerTest extends CamelTestSupport { JndiRegistry registry = new JndiRegistry(createJndiContext()); registry.bind("std", new File("target/stdindexDir")); registry.bind("load_dir", new File("src/test/resources/sources")); - registry.bind("stdAnalyzer", new StandardAnalyzer(Version.LUCENE_36)); + registry.bind("stdAnalyzer", new StandardAnalyzer(Version.LUCENE_44)); registry.bind("simple", new File("target/simpleindexDir")); - registry.bind("simpleAnalyzer", new SimpleAnalyzer(Version.LUCENE_36)); + registry.bind("simpleAnalyzer", new SimpleAnalyzer(Version.LUCENE_44)); registry.bind("whitespace", new File("target/whitespaceindexDir")); - registry.bind("whitespaceAnalyzer", new WhitespaceAnalyzer(Version.LUCENE_36)); + registry.bind("whitespaceAnalyzer", new WhitespaceAnalyzer(Version.LUCENE_44)); return registry; } http://git-wip-us.apache.org/repos/asf/camel/blob/321ef668/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java ---------------------------------------------------------------------- diff --git a/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java b/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java index 78b8fe6..d6433e2 100644 --- a/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java +++ b/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java @@ -53,7 +53,7 @@ public class LuceneQueryProcessorTest extends CamelTestSupport { @Test public void testPhraseSearcher() throws Exception { - final StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_36); + final StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_44); MockEndpoint mockSearchEndpoint = getMockEndpoint("mock:searchResult"); context.stop(); @@ -97,7 +97,7 @@ public class LuceneQueryProcessorTest extends CamelTestSupport { @Test public void testWildcardSearcher() throws Exception { - final WhitespaceAnalyzer analyzer = new WhitespaceAnalyzer(Version.LUCENE_36); + final WhitespaceAnalyzer analyzer = new WhitespaceAnalyzer(Version.LUCENE_44); MockEndpoint mockSearchEndpoint = getMockEndpoint("mock:searchResult"); context.stop();