(十):IK分词器

  ElasticSearch默认的内置分词器standard是针对英文等拉丁语系设计的,是不支持中文分词的。IK分词器是一个开源的中文分词器插件,丰富和优化了 Elasticsearch 的设计。

  ES默认分词器standard对中文分词结果如下:

1、IK分词器的特点

  IK分词器是ES的一个插件,有如下特点:

支持细粒度分词

IK分词器可将一段中文或英文划分更细粒度的关键字,在搜索的时候会将信息进行分词,然后进行一一匹配操作

多种分词模式

IK提供了两个分词算法:ik_smart和ik_max_word

ik_smart为最少切分,添加了歧义识别功能;

ik_max_word为最细切分,能切的都会被切掉

自定义词库

自定义词库可以提高分词的准确性和召回率,IK 分词器允许用户自定义词典,可以添加新词、调整词频等,以便更好地适应特定的领域或需求

2、IK分词器安装

2.1、下载IK分词器插件

  插件下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases,可根据ElasticSearch的版本自行选择JK分词器的版本下载,这里因为我的ES版本是7.10.0,所以下载相应版本的JK分词器。

2.2、安装IK分词器插件

  将下载的插件文件解压缩到 Elasticsearch 安装目录的 plugins 文件夹中。

0

2.3、重启ES

  出现如下提示表示IK分词器安装成功。

3、IK分词器的分词模式

  IK提供了两种分词模式: ik_smart - 细粒度分词、ik_max_word - 智能分词。

ik_smart

默认的分词模型,最少切分,会将句子尽可能的且为最小的词,可获得细粒度的分词结果

ik_max_word

最细切分,对长词进行进一步的切分。它可以识别更多的词语,可获得更全面的分词结果

3.1、ik_smart 分词模式

# IK分词器 ik_smart分词模式
GET _analyze
{
  "analyzer": "ik_smart",
  "text": "苦海无涯,回头是岸"
}

3.2、ik_max_word 分词模式

# IK分词器 ik_max_word分词模式
GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "苦海无涯,回头是岸"
}

 

posted @ 2024-01-18 17:18  无虑的小猪  阅读(190)  评论(0编辑  收藏  举报