This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 07a8d8f413c29d1cb053cb195ac666f7bce3c6d9
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Thu Jul 18 08:41:50 2019 +0200

    CAMEL-13762 - Camel-Lucene: Upgrade Lucene to 8.x
---
 .../apache/camel/component/lucene/LuceneQueryProducer.java |  3 ++-
 .../org/apache/camel/component/lucene/LuceneSearcher.java  | 12 ++++++------
 .../camel/processor/lucene/LuceneQueryProcessor.java       | 14 +++++++++++---
 .../camel/processor/lucene/LuceneQueryProcessorTest.java   |  4 ++--
 parent/pom.xml                                             |  6 +++---
 5 files changed, 24 insertions(+), 15 deletions(-)

diff --git 
a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
 
b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
index 5448e30..650816e 100644
--- 
a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
+++ 
b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
@@ -30,6 +30,7 @@ public class LuceneQueryProducer extends DefaultProducer {
     Analyzer analyzer;
     File indexDirectory;
     int maxNumberOfHits;
+    int totalHitsThreshold;
     
     public LuceneQueryProducer(Endpoint endpoint, LuceneConfiguration config) 
throws Exception {
         super(endpoint);
@@ -60,7 +61,7 @@ public class LuceneQueryProducer extends DefaultProducer {
 
         if (phrase != null) {
             searcher.open(indexDirectory, analyzer);
-            hits = searcher.search(phrase, maxNumberOfHits, 
config.getLuceneVersion(), isReturnLuceneDocs);
+            hits = searcher.search(phrase, maxNumberOfHits, 
totalHitsThreshold, config.getLuceneVersion(), isReturnLuceneDocs);
         } else {
             throw new IllegalArgumentException("SearchPhrase for 
LucenePhraseQuerySearcher not set. Set the Header value: QUERY");
         }            
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 b3309d7..25a0f80 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
@@ -58,14 +58,14 @@ public class LuceneSearcher {
         analyzer.close();
     }
     
-    public Hits search(String searchPhrase, int maxNumberOfHits) throws 
Exception {
-        return search(searchPhrase, maxNumberOfHits, 
LuceneConstants.LUCENE_VERSION, false);
+    public Hits search(String searchPhrase, int maxNumberOfHits, int 
totalHitsThreshold) throws Exception {
+        return search(searchPhrase, maxNumberOfHits, totalHitsThreshold, 
LuceneConstants.LUCENE_VERSION, false);
     }
 
-    public Hits search(String searchPhrase, int maxNumberOfHits, Version 
luceneVersion, boolean returnLuceneDocs) throws Exception {
+    public Hits search(String searchPhrase, int maxNumberOfHits, int 
totalHitsThreshold, Version luceneVersion, boolean returnLuceneDocs) throws 
Exception {
         Hits searchHits = new Hits();
 
-        int numberOfHits = doSearch(searchPhrase, maxNumberOfHits, 
luceneVersion);
+        int numberOfHits = doSearch(searchPhrase, maxNumberOfHits, 
totalHitsThreshold, luceneVersion);
         searchHits.setNumberOfHits(numberOfHits);
 
         for (ScoreDoc hit : hits) {
@@ -83,12 +83,12 @@ public class LuceneSearcher {
         return searchHits;
     }
                 
-    private int doSearch(String searchPhrase, int maxNumberOfHits, Version 
luceneVersion) throws NullPointerException, ParseException, IOException {
+    private int doSearch(String searchPhrase, int maxNumberOfHits, int 
totalHitsThreshold, Version luceneVersion) throws NullPointerException, 
ParseException, IOException {
         LOG.trace("*** Search Phrase: {} ***", searchPhrase);
 
         QueryParser parser = new QueryParser("contents", analyzer);
         Query query = parser.parse(searchPhrase);
-        TopScoreDocCollector collector = 
TopScoreDocCollector.create(maxNumberOfHits);
+        TopScoreDocCollector collector = 
TopScoreDocCollector.create(maxNumberOfHits, totalHitsThreshold);
         indexSearcher.search(query, collector);
         hits = collector.topDocs().scoreDocs;
         
diff --git 
a/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
 
b/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
index f312846..eeebb45 100644
--- 
a/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
+++ 
b/components/camel-lucene/src/main/java/org/apache/camel/processor/lucene/LuceneQueryProcessor.java
@@ -33,9 +33,10 @@ public class LuceneQueryProcessor implements Processor {
     private LuceneSearcher searcher;
     private String searchPhrase;
     private int maxNumberOfHits; 
+    private int totalHitsThreshold;
     private Version luceneVersion;
     
-    public LuceneQueryProcessor(String indexDirectoryPath, Analyzer analyzer, 
String defaultSearchPhrase, int maxNumberOfHits) {
+    public LuceneQueryProcessor(String indexDirectoryPath, Analyzer analyzer, 
String defaultSearchPhrase, int maxNumberOfHits, int totalHitsThreshold) {
         this.setAnalyzer(analyzer);
         this.setIndexDirectory(new File(indexDirectoryPath));
         this.setSearchPhrase(defaultSearchPhrase);
@@ -52,7 +53,7 @@ public class LuceneQueryProcessor implements Processor {
         if (phrase != null) {
             searcher = new LuceneSearcher();
             searcher.open(indexDirectory, analyzer);
-            hits = searcher.search(phrase, maxNumberOfHits, luceneVersion, 
isReturnLuceneDocs);
+            hits = searcher.search(phrase, maxNumberOfHits, 
totalHitsThreshold, luceneVersion, isReturnLuceneDocs);
         } else {
             throw new IllegalArgumentException("SearchPhrase for 
LuceneQueryProcessor not set. Set the Header value: QUERY");
         }            
@@ -107,5 +108,12 @@ public class LuceneQueryProcessor implements Processor {
     public Version getLuceneVersion() {
         return luceneVersion;
     }
-        
+
+       public int getTotalHitsThreshold() {
+               return totalHitsThreshold;
+       }
+
+       public void setTotalHitsThreshold(int totalHitsThreshold) {
+               this.totalHitsThreshold = totalHitsThreshold;
+       }
 }
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 cd9d6ca..b80071d 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
@@ -61,7 +61,7 @@ public class LuceneQueryProcessorTest extends 
CamelTestSupport {
                 try {
                     from("direct:start").
                         setHeader("QUERY", constant("Rodney Dangerfield")).
-                        process(new LuceneQueryProcessor("target/stdindexDir", 
analyzer, null, 20)).
+                        process(new LuceneQueryProcessor("target/stdindexDir", 
analyzer, null, 20, 20)).
                         to("direct:next");
                 } catch (Exception e) {
                     e.printStackTrace();
@@ -105,7 +105,7 @@ public class LuceneQueryProcessorTest extends 
CamelTestSupport {
                 try {
                     from("direct:start").
                         setHeader("QUERY", constant("Carl*")).
-                        process(new 
LuceneQueryProcessor("target/simpleindexDir", analyzer, null, 20)).
+                        process(new 
LuceneQueryProcessor("target/simpleindexDir", analyzer, null, 20, 20)).
                         to("direct:next");
                 } catch (Exception e) {
                     e.printStackTrace();
diff --git a/parent/pom.xml b/parent/pom.xml
index 1dbecbc..ca3a705 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -415,10 +415,10 @@
         <log4j2-version>2.11.2</log4j2-version>
         <logback-version>1.2.3</logback-version>
         <lucene3-version>3.6.0</lucene3-version>
-        <lucene-bundle-version>7.6.0_1</lucene-bundle-version>
+        <lucene-bundle-version>8.1.1_1</lucene-bundle-version>
         <!-- lucene aligned with elasticsearch version of lucene in use -->
-        <lucene-version>7.6.0</lucene-version>
-        <lucene-version-range>[7,8)</lucene-version-range>
+        <lucene-version>8.1.1</lucene-version>
+        <lucene-version-range>[8,9)</lucene-version-range>
         <lightcouch-version>0.2.0</lightcouch-version>
         <lightcouch-bundle-version>0.2.0_1</lightcouch-bundle-version>
         <lz4-version>1.6.0</lz4-version>

Reply via email to