You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2016/04/11 17:52:51 UTC

lucene-solr:branch_5_5: LUCENE-7112: WeightedSpanTermExtractor.extractUnknownQuery is only called on queries that could not be extracted.

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_5_5 8a86b29b0 -> f0fffb602


LUCENE-7112: WeightedSpanTermExtractor.extractUnknownQuery is only called on queries that could not be extracted.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/f0fffb60
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/f0fffb60
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/f0fffb60

Branch: refs/heads/branch_5_5
Commit: f0fffb60232f6bc6f57da51ffc6de7633ca9093f
Parents: 8a86b29
Author: Adrien Grand <jp...@gmail.com>
Authored: Fri Mar 25 15:44:31 2016 +0100
Committer: Adrien Grand <jp...@gmail.com>
Committed: Mon Apr 11 17:43:56 2016 +0200

----------------------------------------------------------------------
 lucene/CHANGES.txt                                   |  6 ++++++
 .../search/highlight/WeightedSpanTermExtractor.java  |  7 ++++---
 .../highlight/custom/HighlightCustomQueryTest.java   | 15 +++++++++++++++
 3 files changed, 25 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f0fffb60/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 4acc4d2..e003651 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -3,6 +3,12 @@ Lucene Change Log
 For more information on past and future Lucene versions, please see:
 http://s.apache.org/luceneversions
 
+======================= Lucene 5.5.1 =======================
+
+Bug fixes
+
+* LUCENE-7112: WeightedSpanTermExtractor.extractUnknownQuery is only called
+  on queries that could not be extracted. (Adrien Grand)
 
 ======================= Lucene 5.5.0 =======================
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f0fffb60/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
index 85bf79a..dc4e50a 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
@@ -222,12 +222,13 @@ public class WeightedSpanTermExtractor {
         rewritten = origQuery.rewrite(reader);
       }
       if (rewritten != origQuery) {
-        // only rewrite once and then flatten again - the rewritten query could have a speacial treatment
+        // only rewrite once and then flatten again - the rewritten query could have a special treatment
         // if this method is overwritten in a subclass or above in the next recursion
         extract(rewritten, boost, terms);
-      } 
+      } else {
+        extractUnknownQuery(query, terms);
+      }
     }
-    extractUnknownQuery(query, terms);
   }
 
   protected void extractUnknownQuery(Query query,

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f0fffb60/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
index 36c6d2a..bbb3bb9 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.lucene.search.highlight.custom;
 
+import org.apache.lucene.analysis.CannedTokenStream;
 import org.apache.lucene.analysis.MockAnalyzer;
 import org.apache.lucene.analysis.MockTokenFilter;
 import org.apache.lucene.analysis.MockTokenizer;
@@ -35,6 +36,7 @@ import org.apache.lucene.search.highlight.WeightedSpanTermExtractor;
 import org.apache.lucene.util.LuceneTestCase;
 
 import java.io.IOException;
+import java.util.Collections;
 import java.util.Map;
 
 /**
@@ -82,6 +84,19 @@ public class HighlightCustomQueryTest extends LuceneTestCase {
 
   }
 
+  public void testHighlightKnownQuery() throws IOException {
+    WeightedSpanTermExtractor extractor = new WeightedSpanTermExtractor() {
+      @Override
+      protected void extractUnknownQuery(Query query, Map<String,WeightedSpanTerm> terms) throws IOException {
+        terms.put("foo", new WeightedSpanTerm(3, "foo"));
+      }
+    };
+    Map<String,WeightedSpanTerm> terms = extractor.getWeightedSpanTerms(
+        new TermQuery(new Term("bar", "quux")), 3, new CannedTokenStream());
+    // no foo
+    assertEquals(Collections.singleton("quux"), terms.keySet());
+  }
+
   /**
    * This method intended for use with
    * <tt>testHighlightingWithDefaultField()</tt>