How to: 调试 Solr 查询中文乱码问题

出现乱码或者查不到结果的排查方法:

1) Tomcat的server.xml需要保证:

如果没有设置URIEncoding="UTF-8",在提交查询的select的url会出现乱码,当然也就查不到了。

2) 添加索引的时候,xml数据文件需要包含utf-8声明,也就是:

然后使用Solr自带的post.jar或者curl来进行post索引:

java: java -Durl=http://localhost:8080/solr/update -Dcommit=yes -jar post.jar data.xml

curl:
curl -F "file=@data.xml" http://localhost:8080/solr/update
curl -H "Content-Type: text/xml" -d "" http://localhost:8080/solr/update

该步骤如果没有设置好,出错的表现是,查询的结果是乱码(可以设置查询关键词为id:[* TO *]确保显示出所有的结果).

3) 如果确保了如上的两个步骤都设置正确,但是使用http://localhost:8080/solr/admin/的查询表单(该表单支持utf-8没有问题)仍旧查不到结果,则问题可能出在分词器,可以尝试不同的分词器。)

 

参考: http://blog.chenlb.com/2009/03/solr-query-params-explain.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值