elasticsearch 安装ik分词器及自定义分词库的

一.es 安装ik分词器(6.0.0) 

     1.场景描述

Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english (英文分词)和chinese (中文分词)。其中standard 就是无脑的一个一个词(汉字)切分,所以适用范围广,但是精准度低;english 对英文更加智能,可以识别单数负数,大小写,过滤stopwords(例如“the”这个词)等;chinese 效果很差。

使用es 自带的分词standard,分成单个词,比如桂林山水超漂亮,会如下图分成 桂,林,山,水,超,漂,亮,而我们实际上想得到一些词组。


2.具体操作

   es集成ik有非常详细的一对一的版本,不像solr 4.x之后没有对应的ik版本,需要额外的一些包才可以完成ik的集成,es在这一点上显得简单很多。

   es集成git的压缩包地址:https://github.com/medcl/elasticsearch-analysis-ik/releases 

选择和es版本对应的

    es 集成ik主要有两种方式

   (1)借助es的plugin工具,在elasticsearch的根目录下

bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.0.0/elasticsearch-analysis-ik-6.0.0.tar.gz

     (2).先从git下载ik的包,然后解压,如果linux下载了zip格式的,可以yum install zip,再

解压unzip ik-XX.zip,解压之后是一个elasticsearch的文件夹,把这个文件夹拷贝到elasticsearch-6.0.0/plugins/  下

重启es即可


关于ik分词中的analyzer

   ik的analyzer只有ik_smart和ik_max_word,ES5.0之后的ik_smart和ik_max_word说明

   ik_max_word:  

    会将文本做最细粒度的拆分,比如会将“桂林山水超漂亮”拆分为“桂林山水,桂林,山水,超,漂亮”,会穷尽各种可能的组合。


    ik_smart: 

    会做最粗粒度的拆分,比如会将“桂林山水超漂亮”拆分为“桂林山水,超,漂亮”。参考步骤2的截图


3.加载自定义分词

进入elasticsearch-6.0.0/plugins/elasticsearch/config ,修改IKAnalyzer.cfg.xml ,如qit_word.dic是我定义的字典,字典中定义一个词‘桂林山水超漂亮


重启es,进行分词,就发现“桂林山水超漂亮”分成了一个词



参考:https://blog.csdn.net/mjwwjcoder/article/details/79104859

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值