首页 > 代码库 > Solr特殊字符转义处理
Solr特殊字符转义处理
做站内搜索时,如果输入的参数中包含英文冒号、双引号或其他具有特殊含义的字符时,可能需要做转义来避免查不到数据的问题。
测试于:Solr 4.5.1, Jdk 1.6.0_45, Tomcat 6.0.37 | CentOS 5.7
异常信息:
如本站内有一篇文章标题为:
java.lang.NumberFormatException: For input string: "MA147LL/A"
直接拿到搜索框搜反而出不来结果。
解决方法:
在搜索的action中将输入的参数(kw为keywords的缩写)做转义处理,即
import org.apache.solr.client.solrj.util.ClientUtils;
String escapedKw = ClientUtils.escapeQueryChars(kw);
然后拿转义后的escapedKw去solr中查询,用户输入的参数kw的值不变用于回显到搜索框中。
相关信息:
solr特殊字符包含如下
+ – && || ! ( ) { } [ ] ^ ” ~ * ? : \
如过此内容对您有帮助,欢迎以点击广告的形式来支持我们,但请每天不要多于一次,否则可能被识别恶意点击,导致封号。
转载:http://www.devnote.cn/article/80.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。