-
现象描述
图片.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,是不需要重新数据入库的
网友评论