elasticsearch本身的中文分词插件效果都不理想,手动添加词典可以在一定程度上进行弥补。
经过多次实验发现,mmseg的分词机制采用正向最长匹配算法,例如,针对“小时代”这个单词,其自带的词典中没有包含该词,故当用户搜索小时代时,检索不到任何结果。
在咸鱼老婆的虚心指导下,我终于找到了解决办法。
手动添加该词到mmseg的词库中,有两种方法:
1、将该词加入到自带的某个词典中(非停顿词词典),如words-my.dic。
2、新建一个自定义词典,将其放入默认词库文件夹下,注意编码格式为以UTF-8无BOM格式编码。
(注意:如果将elasticsearch部署在集群时,相应的配置文件词典均需修改)
期间,咸鱼老婆一直对我循循善诱的指导,令我茅塞顿开。同时,还不厌其烦的为我拨开我最爱的小桂圆,令我甚是感动。
相信若干年后,回味起解决手动添加词库问题的今晚,仍然会感到一股暖流涌上心头。
重启elasticsearch服务:elasticsearch restart
针对目标文件,重新建立索引,搜索“小时代”,即可查询到目标文件。
最后,再次感谢我亲爱的咸鱼老婆。撒狼黑!!!
elasticsearch中文分词(mmseg)——手动添加词典,布布扣,bubuko.com
elasticsearch中文分词(mmseg)——手动添加词典
原文地址:http://blog.csdn.net/xiaming564/article/details/34931327