欢迎投稿

今日深度:

Elasticsearch词库扩充实践,elasticsearch词库

Elasticsearch词库扩充实践,elasticsearch词库


        我们知道ES(Elasticsearch)有一个默认的ik分词器,国内用户也可以安装中文分词插件。但这些往往不能满足实际的项目需求,今天就和大家交流一下ES如何扩充自定义词库。话不多说,直奔主题。

一、添加用户词典

       在ES的安装路径下找到配置目录custom(如果没有就mkdir),创建用户自定义的词典myTest.dic。这里新添加用户自定义词典,不建议在ES自带的词典里做修改!

自带词典:

用户词典:

二、在用户词典中加入分词词汇

       编辑刚刚添加的用户词典myTest.dic,加入用户需要的词汇,这里从《中国当代毒品犯罪隐语研究》(欧阳国亮、陈曼  著)一书中的196-215页挑选如下词汇加入词典:

 三、将用户词典写入配置文件

       ES词典的配置文件为IKAnalyzer.cfg.xml。编辑该文件,加入我们自定义的词典:

四、重启ES

      这一步,重启ES(查看ES进程并kill掉,然后重启)保证刚刚加入配置的词典生效:

五、测试

①创建测试索引

②创建映射mapping

③插入数据

④测试

检索"停":

检索"停阿磨":

⑤分析和总结

       我们可以看到步骤④的测试中,我们检索"停"的时候,并不会出现我们插入的id为1的那条数据(content为"停阿磨烫片子四号客屁儿货朵多"),是因为"停阿磨"已经作为一个分词了!而我们检索"停阿磨"的时候,按照打分规则首先匹配到id为1的数据,然后根据相似度匹配到包含"磨"的记录,表示"停阿磨"分词成功!

www.htsjk.Com true http://www.htsjk.com/Elasticsearch/33270.html NewsArticle Elasticsearch词库扩充实践,elasticsearch词库         我们知道ES(Elasticsearch)有一个默认的ik分词器,国内用户也可以安装中文分词插件。但这些往往不能满足实际的项目需求,今天就和大家交...
相关文章
    暂无相关文章
评论暂时关闭