1.扩展词典
扩展词:就是不想哪些词分开,让他们成为一个词,比如“哈利波特”
自定义扩展词库
进入到elasticsearch的conf/analysis-ik/目录下,新增扩展词典
vim zyp_exct_dict.dic
然后添加“哈利波特”
将我们自定义的扩展词典文件添加到IKAnalyzer.cfg.xml配置中
IKAnalyzer.cfg.xml在elasticsearch的conf/analysis-ik/目录下
然后重启elasticsearch,执行最细粒度的拆分就会出现哈利波特
没有将“哈利波特”放到扩展词典前
将“哈利波特”放到扩展词典,并重启elasticsearch服务之后
可以看到出现了“哈利波特”
2.停用词典
停用词:有些词在文本中出现的频率非常高。但对本文的语义产生不了多大的影响。例如英文的a、 an、the、of等。或中文的”的、了、呢等”。这样的词称为停用词。停用词经常被过滤掉,不会被进行索引。在检索的过程中,如果用户的查询词中含有停用词,系统会自动过滤掉。停用词可以加快索引的速度,减少索引库文件的大小。
自定义停用词库
进入到elasticsearch的conf/analysis-ik/目录下,新增停用词典
vim zyp_stop_dict.dic
然后添加 “的” “了” “啊”
将我们自定义的停用词典文件添加到IKAnalyzer.cfg.xml配置中
IKAnalyzer.cfg.xml在elasticsearch的conf/analysis-ik/目录下
然后重启elasticsearch,执行最细粒度的拆分,被添的“的”“了”“啊”就不会被查出来
没有讲“的”放到停用词典之前
将“的”放到停用词典并重启elasticsearch之后
可以看到“的”没有了
3.同义词典
同义词:意思相同的,“番茄”和“西红柿”,查询“番茄”的时候,把带有“西红柿”的数据一起查出来,这种叫做同义词查询
配置IK同义词
进入到elasticsearch的conf/analysis-ik/目录下,创建名为synonym.txt的文件
输入同义词,并保存
番茄,西红柿,柿子
土豆,马铃薯
然后重启elasticsearch会自动加载相近词
创建索引
插入文档
然后查询数据,比如“番茄和马铃薯都是特产”
然搜索“土豆”,会命中