You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2010/04/28 05:36:11 UTC

svn commit: r938766 - in /camel/trunk/components/camel-lucene/src: main/java/org/apache/camel/component/lucene/ main/java/org/apache/camel/processor/lucene/ test/java/org/apache/camel/component/lucene/ test/java/org/apache/camel/processor/lucene/

Author: ningjiang
Date: Wed Apr 28 03:36:11 2010
New Revision: 938766

URL: http://svn.apache.org/viewvc?rev=938766&view=rev
Log:
CAMEL-2680 Supported to set the lucene version

Modified:
    camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java
    camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
    camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java
    camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
    camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java
    camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java

Modified: camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java?rev=938766&r1=938765&r2=938766&view=diff
==============================================================================
--- camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java (original)
+++ camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java Wed Apr 28 03:36:11 2010
@@ -21,13 +21,11 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Map;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
+import org.apache.lucene.util.Version;
 
 public class LuceneConfiguration {
-    private static final transient Log LOG = LogFactory.getLog(LuceneConfiguration.class);
     private URI uri;
     private String protocolType;
     private String authority;
@@ -37,6 +35,7 @@ public class LuceneConfiguration {
     private File indexDirectory;
     private Analyzer analyzer;
     private int maxHits;
+    private Version luceneVersion = Version.LUCENE_30; 
 
     public LuceneConfiguration() {
     }
@@ -67,7 +66,7 @@ public class LuceneConfiguration {
         indexDirectory = component.resolveAndRemoveReferenceParameter(
                 parameters, "indexDir", File.class, new File("file:///./indexDirectory"));
         analyzer = component.resolveAndRemoveReferenceParameter(
-                parameters, "analyzer", Analyzer.class, new StandardAnalyzer(org.apache.lucene.util.Version.LUCENE_CURRENT));
+                parameters, "analyzer", Analyzer.class, new StandardAnalyzer(luceneVersion));
 
         setMaxHits(component.getAndRemoveParameter(parameters, "maxHits", Integer.class, 10));
     }
@@ -163,6 +162,14 @@ public class LuceneConfiguration {
 
     public void setMaxHits(int maxHits) {
         this.maxHits = maxHits;
-    }    
+    }
+    
+    public void setLuceneVersion(Version luceneVersion) {
+        this.luceneVersion = luceneVersion;
+    }
+    
+    public Version getLuceneVersion() {
+        return luceneVersion;
+    }
     
 }

Modified: camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java?rev=938766&r1=938765&r2=938766&view=diff
==============================================================================
--- camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java (original)
+++ camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java Wed Apr 28 03:36:11 2010
@@ -55,7 +55,7 @@ public class LuceneQueryProducer extends
         String phrase = exchange.getIn().getHeader("QUERY", String.class);
         if (phrase != null) {
             searcher.open(indexDirectory, analyzer);
-            hits = searcher.search(phrase, maxNumberOfHits);            
+            hits = searcher.search(phrase, maxNumberOfHits, config.getLuceneVersion());            
         } else {
             throw new IllegalArgumentException("SearchPhrase for LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
         }            

Modified: camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java?rev=938766&r1=938765&r2=938766&view=diff
==============================================================================
--- camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java (original)
+++ camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneSearcher.java Wed Apr 28 03:36:11 2010
@@ -52,11 +52,15 @@ public class LuceneSearcher {
     public void close() throws IOException {
         indexSearcher.close();        
     }
-
+    
     public Hits search(String searchPhrase, int maxNumberOfHits) throws Exception {
+        return search(searchPhrase, maxNumberOfHits, Version.LUCENE_30);
+    }
+
+    public Hits search(String searchPhrase, int maxNumberOfHits, Version luenceVersion) throws Exception {
         Hits searchHits = new Hits();
 
-        int numberOfHits = doSearch(searchPhrase, maxNumberOfHits);
+        int numberOfHits = doSearch(searchPhrase, maxNumberOfHits, luenceVersion);
         searchHits.setNumberOfHits(numberOfHits);
 
         for (ScoreDoc hit : hits) {
@@ -71,12 +75,12 @@ public class LuceneSearcher {
         return searchHits;
     }
                 
-    private int doSearch(String searchPhrase, int maxNumberOfHits) throws NullPointerException, ParseException, IOException {
+    private int doSearch(String searchPhrase, int maxNumberOfHits, Version luenceVersion) throws NullPointerException, ParseException, IOException {
         if (LOG.isTraceEnabled()) {
             LOG.trace("*** Search Phrase: " + searchPhrase + " ***");
         }
 
-        QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "contents", analyzer);
+        QueryParser parser = new QueryParser(luenceVersion, "contents", analyzer);
         Query query = parser.parse(searchPhrase);
         TopScoreDocCollector collector = TopScoreDocCollector.create(maxNumberOfHits, true);
         indexSearcher.search(query, collector);

Modified: camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java?rev=938766&r1=938765&r2=938766&view=diff
==============================================================================
--- camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java (original)
+++ camel/trunk/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java Wed Apr 28 03:36:11 2010
@@ -24,6 +24,7 @@ import org.apache.camel.component.lucene
 import org.apache.camel.processor.lucene.support.Hits;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.util.Version;
 
 public class LuceneQueryProcessor implements Processor {
     private File indexDirectory;
@@ -32,6 +33,7 @@ public class LuceneQueryProcessor implem
     private LuceneSearcher searcher;
     private String searchPhrase;
     private int maxNumberOfHits; 
+    private Version luceneVersion;
     
     public LuceneQueryProcessor(String indexDirectoryPath, Analyzer analyzer, String defaultSearchPhrase, int maxNumberOfHits) {
         this.setAnalyzer(analyzer);
@@ -47,7 +49,7 @@ public class LuceneQueryProcessor implem
         if (phrase != null) {
             searcher = new LuceneSearcher();
             searcher.open(indexDirectory, analyzer);
-            hits = searcher.search(phrase, maxNumberOfHits);            
+            hits = searcher.search(phrase, maxNumberOfHits, luceneVersion);            
         } else {
             throw new IllegalArgumentException("SearchPhrase for LuceneQueryProcessor not set. Set the Header value: QUERY");
         }            
@@ -94,5 +96,13 @@ public class LuceneQueryProcessor implem
     public void setMaxNumberOfHits(int maxNumberOfHits) {
         this.maxNumberOfHits = maxNumberOfHits;
     }
+    
+    public void setLuceneVersion(Version luceneVersion) {
+        this.luceneVersion = luceneVersion;
+    }
+    
+    public Version getLuceneVersion() {
+        return luceneVersion;
+    }
         
 }

Modified: camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java?rev=938766&r1=938765&r2=938766&view=diff
==============================================================================
--- camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java (original)
+++ camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/component/lucene/LuceneIndexAndQueryProducerTest.java Wed Apr 28 03:36:11 2010
@@ -52,7 +52,7 @@ public class LuceneIndexAndQueryProducer
         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_CURRENT));
+        registry.bind("stdAnalyzer", new StandardAnalyzer(Version.LUCENE_30));
         registry.bind("simple", new File("target/simpleindexDir"));
         registry.bind("simpleAnalyzer", new SimpleAnalyzer());
         registry.bind("whitespace", new File("target/whitespaceindexDir"));

Modified: camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java?rev=938766&r1=938765&r2=938766&view=diff
==============================================================================
--- camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java (original)
+++ camel/trunk/components/camel-lucene/src/test/java/org/apache/camel/processor/lucene/LuceneQueryProcessorTest.java Wed Apr 28 03:36:11 2010
@@ -53,7 +53,7 @@ public class LuceneQueryProcessorTest ex
     
     @Test
     public void testPhraseSearcher() throws Exception {
-        final StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
+        final StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
         MockEndpoint mockSearchEndpoint = new MockEndpoint("mock:searchResult");
         
         context.stop();