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