Solr中文排序问题/分词搜索问题

  1. 现象描述


    图片.png

    如图,搜索全脂奶粉,脱脂奶粉排名却比较靠前

2.问题分析


图片.png

solr中文分词粒度过细(左图为建表索引时的分词,右图为查询时的分词)

3.解决过程
ik分词器对中文分词效果较好,但现在已经停止更新。
公司线上solr版本较低。先下载一个最新的solr(version 7.3.+)到本地跑起来再说。
下载的压缩包解压后,进入到bin目录,solr start成功启动。
在solr_home下新建my_core文件夹,再在其中新建conf和data文件夹,conf下的文件拷贝example文件夹中的
ik分词器:
https://github.com/EugenePig/ik-analyzer-solr5
下载后在该目录mvn clear install(JDK>=1.8)
生成的jar复制到solr_home\server\solr-webapp\webapp\WEB-INF\lib下
配置的schema文件里面添加:

<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" />
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" />
</analyzer>
</fieldType>

重启solr,在analysis下可以测试新的分词效果


图片.png

分词效果达到

ps:如果要改变index索引的分词analyzer/tokenizer,是不需要重新数据入库的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容