Elasticsearch实战(四)——IK分词器与自定义中文词库

本文介绍了Elasticsearch中的内置分词器,包括标准分词器、简单分词器等,并详细阐述了IK中文分词器的安装和使用方法,以及如何自定义中文词库进行更精确的分词操作。
摘要由CSDN通过智能技术生成

IK分词器与自定义中文词库

内置分词器

ES总共提供了五种分词器,分别是:standardsimplewhitespacestopkeyword

ES默认使用内置的标准分词器(standard),该分词器会根据根据单词进行分词,并将分词得到的单词转为小写形式,标准分词器不支持中文分词,会对中文分词以单个汉字为单位进行拆分。

简单分词器(simple),简单分词器也会根据单词进行分词,但是它不会将数字当成一个单词,并且像don't,这种连词,它会简单的将它们分为两个词,即会根据'进行拆分,它也会将分词得到的单词转为小写形式。

空格分词器(whitespace),就像字面上的意思所说的,它会按照空格进行拆分,它不会转换为小写形式。

stop分词器(stop),将类似于isathe这种没有意义的单词除去,也会根据'拆分,并且转换为小写形式。

keyword分词器(keyword),将整个文本作为一个关键词,不做任何拆分。

IK中文分词器

安装IK分词器

https://github.com/medcl/elasticsearch-analysis-ik

IK分词器提供了两种安装方式:

  • 手动安装

  • 通过ES提供的命令进行安装

    ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-master.zip

我们使用手动安装的方式

  • 找到与ES版本匹配的IK版本并下载
  • 将其解压到ES目录中plugins目录下的ik目录中
  • 重启ES即可

使用IK分词器

IK分词器提供了两种分词策略,分别是ik_max_wordik_smart

  • ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;

  • ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询。

这里我们先使用ik_max_word,发送请求进行分词验证:

POST http://192.168.95.130:9200/_analyze

// 请求体
{
   
    "analyzer": "ik_max_word",
    "text": "等到看你银色满际"
}
// 响应体
{
   
    "tokens": [
        {
   
            "token": "等到",
            "start_offset":<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值