[
https://issues.apache.org/jira/browse/SOLR-4780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13646836#comment-13646836
]
Shawn Heisey commented on SOLR-4780:
------------------------------------
Looking at the code for ClientUtils#escapeQueryChars in trunk, it is almost
identical to what you've included. The only differences: the isWhitespace call
is included in the first if statement, and as of 4.0 the '/' character is also
escaped.
> It would be helpful to have a function in SolrQuery to perform special
> character escaping as needed for q strings
> -----------------------------------------------------------------------------------------------------------------
>
> Key: SOLR-4780
> URL: https://issues.apache.org/jira/browse/SOLR-4780
> Project: Solr
> Issue Type: New Feature
> Affects Versions: 4.0
> Reporter: Benson Margulies
>
> Here's some code I found in a blog, IP uncertain, to explain the idea:
> {noformat}
> public static String escapeQueryCulprits(String s)
> {
> StringBuilder sb = new StringBuilder();
> 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 == ';'
> )
> {
> sb.append('\\');
> }
> if(Character.isWhitespace(c))
> {
> sb.append(" \\ ");
> }
> sb.append(c);
> }
> return sb.toString();
> }
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]