You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jd...@apache.org on 2013/04/22 17:32:02 UTC
svn commit: r1470578 - in /lucene/dev/branches/branch_4x: ./ solr/
solr/CHANGES.txt solr/core/
solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
Author: jdyer
Date: Mon Apr 22 15:32:01 2013
New Revision: 1470578
URL: http://svn.apache.org/r1470578
Log: (empty)
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_4x/solr/core/ (props changed)
lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1470578&r1=1470577&r2=1470578&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Mon Apr 22 15:32:01 2013
@@ -41,6 +41,9 @@ Bug Fixes
* SOLR-4741: Deleting a collection should set DELETE_DATA_DIR to true.
(Mark Miller)
+
+* SOLR-4333: edismax parser to not double-escape colons if already escaped by
+ the client application (James Dyer, Robert J. van der Boon)
Other Changes
----------------------
Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java?rev=1470578&r1=1470577&r2=1470578&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java Mon Apr 22 15:32:01 2013
@@ -812,7 +812,7 @@ public class ExtendedDismaxQParser exten
clause.raw = s.substring(start, pos);
// escape colons, except for "match all" query
if(!"*:*".equals(clause.raw)) {
- clause.raw = clause.raw.replaceAll(":", "\\\\:");
+ clause.raw = clause.raw.replaceAll("([^\\\\]):", "$1\\\\:");
}
} else {
clause.raw = s.substring(start, pos);
Modified: lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java?rev=1470578&r1=1470577&r2=1470578&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java Mon Apr 22 15:32:01 2013
@@ -847,6 +847,15 @@ public class TestExtendedDismaxParser ex
"defType", "edismax")
, "*[count(//doc)=1]");
+ assertQ(
+ "Might be double-escaping a client-escaped colon",
+ req("q", "text_sw:(theos OR thistokenhasa\\:preescapedcolon OR theou)", "defType", "edismax", "qf", "id"),
+ "*[count(//doc)=3]");
+ assertQ(
+ "Might be double-escaping a client-escaped colon",
+ req("q", "text_sw:(theos OR thistokenhasa\\:preescapedcolon OR theou)", "defType", "edismax", "qf", "text"),
+ "*[count(//doc)=3]");
+
}
/**