问题:
solr采用标准分词器搜索中文时怎么控制搜索的文本内容是正序,如我要搜索“小李”,只想搜出小李飞刀这样的内容,像李小龙这样的内容不做检出
回复:
标准分词器,对中文汉字会基于单字切分,所以:
小李飞刀 会切分成 小 | 李 | 飞 | 刀 李小龙 会切分成 李 | 小 | 龙
基于lucene扩展的搜索引擎solr和elasticsearch,在索引时都会基本都会加上切分词的位置,偏移量等,所以如果你想控制正序搜索内容,其实就可以用距离查询来解决这个问题, 对搜索词加上双引号(距离查询为0语法,也就是限制两个词必须从左到右挨在一起)即可