You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ca...@apache.org on 2016/05/11 13:33:48 UTC

svn commit: r1743364 - in /jackrabbit/oak/branches/1.4: ./ oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/

Author: catholicon
Date: Wed May 11 13:33:48 2016
New Revision: 1743364

URL: http://svn.apache.org/viewvc?rev=1743364&view=rev
Log:
OAK-4359: Lucene query fails if search string contains = symbol (backport r1743343 from trunk)

Modified:
    jackrabbit/oak/branches/1.4/   (props changed)
    jackrabbit/oak/branches/1.4/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
    jackrabbit/oak/branches/1.4/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java

Propchange: jackrabbit/oak/branches/1.4/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed May 11 13:33:48 2016
@@ -1,3 +1,3 @@
 /jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1733615,1733875,1733913,1733929,1734230,1734254,1734279,1734941,1735052,1735405,1735484,1735549,1735564,1735588,1735622,1735638,1735919,1735983,1736176,1737309-1737310,1737334,1737349,1737998,1738004,1738775,1738833,1738950,1738957,1738963,1739894,1740116,1740971,1741032,1741339,1741343,1742520,1742888,1742916,1743097,1743172
+/jackrabbit/oak/trunk:1733615,1733875,1733913,1733929,1734230,1734254,1734279,1734941,1735052,1735405,1735484,1735549,1735564,1735588,1735622,1735638,1735919,1735983,1736176,1737309-1737310,1737334,1737349,1737998,1738004,1738775,1738833,1738950,1738957,1738963,1739894,1740116,1740971,1741032,1741339,1741343,1742520,1742888,1742916,1743097,1743172,1743343
 /jackrabbit/trunk:1345480

Modified: jackrabbit/oak/branches/1.4/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java?rev=1743364&r1=1743363&r2=1743364&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java (original)
+++ jackrabbit/oak/branches/1.4/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java Wed May 11 13:33:48 2016
@@ -1371,7 +1371,7 @@ public class LucenePropertyIndex impleme
     /**
      * Following chars are used as operators in Lucene Query and should be escaped
      */
-    private static final char[] LUCENE_QUERY_OPERATORS = {':' , '/', '!', '&', '|'};
+    private static final char[] LUCENE_QUERY_OPERATORS = {':' , '/', '!', '&', '|', '='};
 
     /**
      * Following logic is taken from org.apache.jackrabbit.core.query.lucene.JackrabbitQueryParser#parse(java.lang.String)

Modified: jackrabbit/oak/branches/1.4/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java?rev=1743364&r1=1743363&r2=1743364&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.4/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java (original)
+++ jackrabbit/oak/branches/1.4/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java Wed May 11 13:33:48 2016
@@ -2063,6 +2063,8 @@ public class LucenePropertyIndexTest ext
         test.setProperty("tag", "stockphotography:business/business_abstract");
         Tree test2 = root.getTree("/").addChild("test2");
         test2.setProperty("tag", "foo!");
+        root.getTree("/").addChild("test3").setProperty("tag", "a=b");
+        root.getTree("/").addChild("test4").setProperty("tag", "c=d=e");
         root.commit();
 
         String propabQuery = "select * from [nt:base] where CONTAINS(tag, " +
@@ -2072,6 +2074,12 @@ public class LucenePropertyIndexTest ext
         String query2 = "select * from [nt:base] where CONTAINS(tag, 'foo!')";
         assertPlanAndQuery(query2, "lucene:test1(/oak:index/test1)", asList("/test2"));
 
+        String query3 = "select * from [nt:base] where CONTAINS(tag, 'a=b')";
+        assertPlanAndQuery(query3, "lucene:test1(/oak:index/test1)", asList("/test3"));
+
+        String query4 = "select * from [nt:base] where CONTAINS(tag, 'c=d=e')";
+        assertPlanAndQuery(query4, "lucene:test1(/oak:index/test1)", asList("/test4"));
+
     }
 
     @Test