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 "[email protected]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没有问题)仍旧查不到结果,则问题可能出在分词器,可以尝试不同的分词器。)

 

扫描二维码关注公众号,回复: 759305 查看本文章

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

猜你喜欢

转载自jasonwang168.iteye.com/blog/1004379
今日推荐