使用solr进行某较长词搜索时出现了一些问题,及解决方案。

1、问题:solr默认使用OR方式搜索,当搜索一个很长的次,比如“XX集团股份有限公司”,分词器分词后,使用OR方式匹配,会匹配到很多结果。

解决:然后我使用了AND方式搜索(managed-schema中设置<solrQueryParser defaultOperator="AND">),结果匹配的很精准了。

2、问题:但是当我搜索“XX集团股份有限公”的时候,匹配到0个结果,因为存入时索引的信息为:XX 集团 股份 有限 公司,而查询时“XX集团股份有限公”的分词结果为:XX 集团 股份 有限 公,因此AND方式搜索,无任何匹配结果。

解决:改回使用OR方式搜索,但是加上匹配个数的限制(defType:edismax, mm:80% ),mm为最小匹配数量,可以是数值或者百分比。

posted on 2016-08-03 15:25  zhangyuan0532  阅读(4759)  评论(4编辑  收藏  举报