[
https://issues.apache.org/jira/browse/SOLR-4780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shawn Heisey closed SOLR-4780.
------------------------------
Resolution: Invalid
SolrJ already includes this functionality:
http://lucene.apache.org/solr/4_2_0/solr-solrj/org/apache/solr/client/solrj/util/ClientUtils.html#escapeQueryChars%28java.lang.String%29
You would need to be careful that you only escape the "query" part of something
that uses the field:query syntax, rather than the entire query string. If you
escape the whole thing, the colon will become part of the query text.
> 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]