Elasticsearch词库扩充实践

本文详细介绍如何在Elasticsearch中添加自定义词典,包括创建用户词典、配置IKAnalyzer、重启ES及测试分词效果,以满足中文分词的特定需求。

        我们知道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的数据,然后根据相似度匹配到包含"磨"的记录,表示"停阿磨"分词成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值