You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2015/10/06 14:49:07 UTC

svn commit: r1707043 - in /lucene/dev/trunk/lucene: CHANGES.txt queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java

Author: dweiss
Date: Tue Oct  6 12:49:07 2015
New Revision: 1707043

URL: http://svn.apache.org/viewvc?rev=1707043&view=rev
Log:
LUCENE-6817: ComplexPhraseQueryParser.ComplexPhraseQuery does not display slop in toString().

Modified:
    lucene/dev/trunk/lucene/CHANGES.txt
    lucene/dev/trunk/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
    lucene/dev/trunk/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java

Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1707043&r1=1707042&r2=1707043&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Tue Oct  6 12:49:07 2015
@@ -127,6 +127,9 @@ Optimizations
 
 Bug Fixes
 
+* LUCENE-6817: ComplexPhraseQueryParser.ComplexPhraseQuery does not display 
+  slop in toString(). (Ahmet Arslan via Dawid Weiss)
+
 * LUCENE-6730: Hyper-parameter c is ignored in term frequency NormalizationH1.
   (Ahmet Arslan via Robert Muir)
 

Modified: lucene/dev/trunk/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java?rev=1707043&r1=1707042&r2=1707043&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java (original)
+++ lucene/dev/trunk/lucene/queryparser/src/java/org/apache/lucene/queryparser/complexPhrase/ComplexPhraseQueryParser.java Tue Oct  6 12:49:07 2015
@@ -399,7 +399,10 @@ public class ComplexPhraseQueryParser ex
 
     @Override
     public String toString(String field) {
-      return "\"" + phrasedQueryStringContents + "\"";
+      if (slopFactor == 0)
+        return "\"" + phrasedQueryStringContents + "\"";
+      else
+        return "\"" + phrasedQueryStringContents + "\"" + "~" + slopFactor;
     }
 
     @Override

Modified: lucene/dev/trunk/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java?rev=1707043&r1=1707042&r2=1707043&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java (original)
+++ lucene/dev/trunk/lucene/queryparser/src/test/org/apache/lucene/queryparser/complexPhrase/TestComplexPhraseQuery.java Tue Oct  6 12:49:07 2015
@@ -139,6 +139,19 @@ public class TestComplexPhraseQuery exte
     checkMatches("name:\"john smith\"~2 AND role:designer AND id:3", "3");
   }
 
+  public void testToStringContainsSlop() throws Exception {
+    ComplexPhraseQueryParser qp = new ComplexPhraseQueryParser(defaultFieldName, analyzer);
+    int slop = random().nextInt(31) + 1;
+
+    String qString = "name:\"j* smyth~\"~" + slop;
+    Query query = qp.parse(qString);
+    assertTrue("Slop is not shown in toString()", query.toString().endsWith("~" + slop));
+
+    String string = "\"j* smyth~\"";
+    Query q = qp.parse(string);
+    assertEquals("Don't show implicit slop of zero", q.toString(), string);
+  }
+
   public void testHashcodeEquals() throws Exception {
     ComplexPhraseQueryParser qp = new ComplexPhraseQueryParser(defaultFieldName, analyzer);
     qp.setInOrder(true);