You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mv...@apache.org on 2016/07/14 08:56:42 UTC

[1/2] lucene-solr:master: LUCENE-7376: Add support for ToParentBlockJoinQuery to fast vector highlighter's FieldQuery.

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_6x 625979113 -> 4edba9463
  refs/heads/master 51d4af685 -> 3a71c7d8d


LUCENE-7376: Add support for ToParentBlockJoinQuery to fast vector highlighter's FieldQuery.


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

Branch: refs/heads/master
Commit: 3a71c7d8df59ae815be28495905f88b1c3207cb4
Parents: 51d4af6
Author: Martijn van Groningen <mv...@apache.org>
Authored: Thu Jul 14 10:06:15 2016 +0200
Committer: Martijn van Groningen <mv...@apache.org>
Committed: Thu Jul 14 10:10:44 2016 +0200

----------------------------------------------------------------------
 lucene/CHANGES.txt                                   |  3 +++
 .../lucene/search/vectorhighlight/FieldQuery.java    |  6 ++++++
 .../search/vectorhighlight/FieldQueryTest.java       | 15 +++++++++++++++
 3 files changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a71c7d8/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index ec8ecf0..9e19d35 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -109,6 +109,9 @@ Improvements
   chain that is about normalization for range/fuzzy/wildcard queries.
   (Adrien Grand)
 
+* LUCENE-7376: Add support for ToParentBlockJoinQuery to fast vector highlighter's
+  FieldQuery. (Martijn van Groningen)
+
 Optimizations
 
 * LUCENE-7330, LUCENE-7339: Speed up conjunction queries. (Adrien Grand)

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a71c7d8/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
index ac6cd94..8abeaff 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
@@ -37,6 +37,7 @@ import org.apache.lucene.search.MultiTermQuery;
 import org.apache.lucene.search.PhraseQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.join.ToParentBlockJoinQuery;
 import org.apache.lucene.search.vectorhighlight.FieldTermStack.TermInfo;
 
 /**
@@ -137,6 +138,11 @@ public class FieldQuery {
       if (q != null) {
         flatten( q, reader, flatQueries, boost);
       }
+    } else if (sourceQuery instanceof ToParentBlockJoinQuery) {
+      Query childQuery = ((ToParentBlockJoinQuery) sourceQuery).getChildQuery();
+      if (childQuery != null) {
+        flatten(childQuery, reader, flatQueries, boost);
+      }
     } else if (reader != null) {
       Query query = sourceQuery;
       Query rewritten;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3a71c7d8/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
index ce82546..1976327 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
@@ -27,12 +27,16 @@ import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.BoostQuery;
 import org.apache.lucene.search.ConstantScoreQuery;
+import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.PrefixQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.RegexpQuery;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.search.TermRangeQuery;
 import org.apache.lucene.search.WildcardQuery;
+import org.apache.lucene.search.join.QueryBitSetProducer;
+import org.apache.lucene.search.join.ScoreMode;
+import org.apache.lucene.search.join.ToParentBlockJoinQuery;
 import org.apache.lucene.search.vectorhighlight.FieldQuery.QueryPhraseMap;
 import org.apache.lucene.search.vectorhighlight.FieldTermStack.TermInfo;
 import org.apache.lucene.util.BytesRef;
@@ -951,4 +955,15 @@ public class FieldQueryTest extends AbstractTestCase {
     assertCollectionQueries( flatQueries, tq( boost, "A" ) );
   }
 
+  public void testFlattenToParentBlockJoinQuery() throws Exception {
+    initBoost();
+    Query childQuery = tq(boost, "a");
+    Query query = new ToParentBlockJoinQuery(childQuery, new QueryBitSetProducer(new MatchAllDocsQuery()), ScoreMode.None);
+    query = new BoostQuery(query, boost );
+    FieldQuery fq = new FieldQuery(query, true, true );
+    Set<Query> flatQueries = new HashSet<>();
+    fq.flatten(query, reader, flatQueries, 1f );
+    assertCollectionQueries(flatQueries, tq(boost, "a"));
+  }
+
 }


[2/2] lucene-solr:branch_6x: LUCENE-7376: Add support for ToParentBlockJoinQuery to fast vector highlighter's FieldQuery.

Posted by mv...@apache.org.
LUCENE-7376: Add support for ToParentBlockJoinQuery to fast vector highlighter's FieldQuery.


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

Branch: refs/heads/branch_6x
Commit: 4edba9463135558146f69081028adef52682de9b
Parents: 6259791
Author: Martijn van Groningen <mv...@apache.org>
Authored: Thu Jul 14 10:06:15 2016 +0200
Committer: Martijn van Groningen <mv...@apache.org>
Committed: Thu Jul 14 10:56:08 2016 +0200

----------------------------------------------------------------------
 lucene/CHANGES.txt                                   |  3 +++
 .../lucene/search/vectorhighlight/FieldQuery.java    |  6 ++++++
 .../search/vectorhighlight/FieldQueryTest.java       | 15 +++++++++++++++
 3 files changed, 24 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4edba946/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 50ba1b2..f3da37c 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -84,6 +84,9 @@ Improvements
   chain that is about normalization for range/fuzzy/wildcard queries.
   (Adrien Grand)
 
+* LUCENE-7376: Add support for ToParentBlockJoinQuery to fast vector highlighter's
+  FieldQuery. (Martijn van Groningen)
+
 Optimizations
 
 * LUCENE-7330, LUCENE-7339: Speed up conjunction queries. (Adrien Grand)

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4edba946/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
index ac6cd94..8abeaff 100644
--- a/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
+++ b/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
@@ -37,6 +37,7 @@ import org.apache.lucene.search.MultiTermQuery;
 import org.apache.lucene.search.PhraseQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.join.ToParentBlockJoinQuery;
 import org.apache.lucene.search.vectorhighlight.FieldTermStack.TermInfo;
 
 /**
@@ -137,6 +138,11 @@ public class FieldQuery {
       if (q != null) {
         flatten( q, reader, flatQueries, boost);
       }
+    } else if (sourceQuery instanceof ToParentBlockJoinQuery) {
+      Query childQuery = ((ToParentBlockJoinQuery) sourceQuery).getChildQuery();
+      if (childQuery != null) {
+        flatten(childQuery, reader, flatQueries, boost);
+      }
     } else if (reader != null) {
       Query query = sourceQuery;
       Query rewritten;

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4edba946/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
----------------------------------------------------------------------
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
index ce82546..1976327 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldQueryTest.java
@@ -27,12 +27,16 @@ import org.apache.lucene.search.BooleanClause.Occur;
 import org.apache.lucene.search.BooleanQuery;
 import org.apache.lucene.search.BoostQuery;
 import org.apache.lucene.search.ConstantScoreQuery;
+import org.apache.lucene.search.MatchAllDocsQuery;
 import org.apache.lucene.search.PrefixQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.RegexpQuery;
 import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.search.TermRangeQuery;
 import org.apache.lucene.search.WildcardQuery;
+import org.apache.lucene.search.join.QueryBitSetProducer;
+import org.apache.lucene.search.join.ScoreMode;
+import org.apache.lucene.search.join.ToParentBlockJoinQuery;
 import org.apache.lucene.search.vectorhighlight.FieldQuery.QueryPhraseMap;
 import org.apache.lucene.search.vectorhighlight.FieldTermStack.TermInfo;
 import org.apache.lucene.util.BytesRef;
@@ -951,4 +955,15 @@ public class FieldQueryTest extends AbstractTestCase {
     assertCollectionQueries( flatQueries, tq( boost, "A" ) );
   }
 
+  public void testFlattenToParentBlockJoinQuery() throws Exception {
+    initBoost();
+    Query childQuery = tq(boost, "a");
+    Query query = new ToParentBlockJoinQuery(childQuery, new QueryBitSetProducer(new MatchAllDocsQuery()), ScoreMode.None);
+    query = new BoostQuery(query, boost );
+    FieldQuery fq = new FieldQuery(query, true, true );
+    Set<Query> flatQueries = new HashSet<>();
+    fq.flatten(query, reader, flatQueries, 1f );
+    assertCollectionQueries(flatQueries, tq(boost, "a"));
+  }
+
 }