You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ko...@apache.org on 2008/10/07 07:51:32 UTC
svn commit: r702355 - in /lucene/solr/trunk/client/java/solrj: CHANGES.txt
src/org/apache/solr/client/solrj/util/ClientUtils.java
Author: koji
Date: Mon Oct 6 22:51:31 2008
New Revision: 702355
URL: http://svn.apache.org/viewvc?rev=702355&view=rev
Log:
SOLR-794: revert ClientUtils with Character.isWhitespace(c)
Modified:
lucene/solr/trunk/client/java/solrj/CHANGES.txt
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/util/ClientUtils.java
Modified: lucene/solr/trunk/client/java/solrj/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/CHANGES.txt?rev=702355&r1=702354&r2=702355&view=diff
==============================================================================
--- lucene/solr/trunk/client/java/solrj/CHANGES.txt (original)
+++ lucene/solr/trunk/client/java/solrj/CHANGES.txt Mon Oct 6 22:51:31 2008
@@ -18,8 +18,6 @@
New Features
----------------------
- 1. SOLR-794: added escape() method to ClientUtils. (koji)
-
Optimizations
----------------------
@@ -34,6 +32,9 @@
SolrQuery#getHighlightRequireFieldMatch()
(Kohei Taketa, Lars Kotthoff via koji)
+ 3. SOLR-794: ClientUtils.escapeQueryChars escapes chars a bit aggressive
+ (ryan, koji)
+
Documentation
----------------------
Modified: lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/util/ClientUtils.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/util/ClientUtils.java?rev=702355&r1=702354&r2=702355&view=diff
==============================================================================
--- lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/util/ClientUtils.java (original)
+++ lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/util/ClientUtils.java Mon Oct 6 22:51:31 2008
@@ -187,29 +187,19 @@
return (DateFormat) proto.clone();
}
}
-
- private static final Pattern escapePattern = Pattern.compile( "(\\W)" );
-
- /**
- * Non-word characters are escaped by a preceding <code>\</code>.
- */
- public static String escapeQueryChars( String input )
- {
- Matcher matcher = escapePattern.matcher( input );
- return matcher.replaceAll( "\\\\$1" );
- }
/**
* See: http://lucene.apache.org/java/docs/queryparsersyntax.html#Escaping Special Characters
*/
- public static String escape(String s) {
+ public static String escapeQueryChars(String s) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
// These characters are part of the query syntax and must be escaped
if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' || c == ':'
|| c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == '}' || c == '~'
- || c == '*' || c == '?' || c == '|' || c == '&') {
+ || c == '*' || c == '?' || c == '|' || c == '&'
+ || Character.isWhitespace(c)) {
sb.append('\\');
}
sb.append(c);