You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sa...@apache.org on 2016/06/15 21:39:21 UTC

[2/2] lucene-solr:branch_5x: LUCENE-7284: GapSpans needs to implement positionsCost()

LUCENE-7284: GapSpans needs to implement positionsCost()


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

Branch: refs/heads/branch_5x
Commit: fa9940b3e3ab9955a26dfe30839d591b7703a8c4
Parents: bcf1eb7
Author: Alan Woodward <ro...@apache.org>
Authored: Tue May 17 12:04:46 2016 +0100
Committer: Steve Rowe <sa...@apache.org>
Committed: Wed Jun 15 17:39:03 2016 -0400

----------------------------------------------------------------------
 .../lucene/search/spans/SpanNearQuery.java      |  2 +-
 .../search/spans/TestNearSpansOrdered.java      | 24 ++++++++++++++++++--
 2 files changed, 23 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fa9940b3/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
index cfdeefe..4e90f81 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
@@ -395,7 +395,7 @@ public class SpanNearQuery extends SpanQuery implements Cloneable {
 
     @Override
     public float positionsCost() {
-      throw new UnsupportedOperationException();
+      return 0;
     }
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/fa9940b3/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java b/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
index b101c61..0c42b2b 100644
--- a/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
+++ b/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
@@ -29,6 +29,7 @@ import org.apache.lucene.search.CheckHits;
 import org.apache.lucene.search.Explanation;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.search.Scorer;
+import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.search.Weight;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.util.LuceneTestCase;
@@ -71,7 +72,8 @@ public class TestNearSpansOrdered extends LuceneTestCase {
     "w1 xx w2 yy w3",
     "w1 w3 xx w2 yy w3 zz",
     "t1 t2 t2 t1",
-    "g x x g g x x x g g x x g"
+    "g x x g g x x x g g x x g",
+      "go to webpage"
   };
 
   protected SpanNearQuery makeQuery(String s1, String s2, String s3,
@@ -291,6 +293,23 @@ public class TestNearSpansOrdered extends LuceneTestCase {
     assertFinished(spans);
   }
 
+  public void testNestedGaps() throws Exception {
+    SpanQuery q = SpanNearQuery.newOrderedNearQuery(FIELD)
+        .addClause(new SpanOrQuery(
+            new SpanTermQuery(new Term(FIELD, "open")),
+            SpanNearQuery.newOrderedNearQuery(FIELD)
+                .addClause(new SpanTermQuery(new Term(FIELD, "go")))
+                .addGap(1)
+                .build()
+        ))
+        .addClause(new SpanTermQuery(new Term(FIELD, "webpage")))
+        .build();
+
+    TopDocs topDocs = searcher.search(q, 1);
+    assertEquals(6, topDocs.scoreDocs[0].doc);
+
+  }
+
   /*
     protected String[] docFields = {
     "w1 w2 w3 w4 w5",
@@ -298,7 +317,8 @@ public class TestNearSpansOrdered extends LuceneTestCase {
     "w1 xx w2 yy w3",
     "w1 w3 xx w2 yy w3 zz",
     "t1 t2 t2 t1",
-    "g x x g g x x x g g x x g"
+    "g x x g g x x x g g x x g",
+    "go to webpage"
   };
    */
 }