大家在solr中运用中文分词器进行查询可能都遇到过一个问题,就是不管你用哪种中文分词器,在solr中配置好后,发现利用solr提供的analysis页面中可以看到中文分词效果,solr也按照分词后的结果创建了索引,但是在solr中就是查询不到结果,在网上也找了很多资料,都没有解决,后来我发现我进入了一个误区,其实solr的analysis只是提供查看分词效果的,但是你想简单通过几个中文分词的配置就实现在solr中的搜索是不行的,这个还是要自己在代码中处理的。现在我的处理方法是这样的,先看下这个帖子[url]http://blog.chenlb.com/2010/08/get-solr-analysis-word.html[/url].通过这个url可以去查询到分词后的结果,你可以让他显示成json或者xml格式(可以针对自己solr配置的路径去修改这个url),然后写个工具类去解析它,获得中文分词结果,到此距离成功还有一步之遥,但是这一步又有一个问题产生,假设一开始搜索“联想中国”没有搜索到结果,但是人为的加上空格变为“联想 中国”去搜索就有结果了,有人说solr中空格后默认加上的是“OR”,所以可以查询到,但是我在实际中试过,如果分词全用空格去拼接,有的可以搜索到,有的还是不行(但是比一开始什么都搜不到又进一步,因为这里在代码中又处理了分词),所以想到最后解决方案是所有的分词全用”OR“去拼接,这下可以搜到结果了,如果大家有好的建议,可以提给我,谢谢大家。
Solr中文分词
最新推荐文章于 2024-09-19 19:39:48 发布