ElasticSearch之IK分词器安装以及使用介绍

文章目录

  • 一、IK 分词器简介
    • 1. 支持细粒度分词:
    • 2. 支持多种分词模式:
    • 3. 支持自定义词典:
    • 4. 支持拼音分词:
    • 5. 易于集成和使用:
  • 二、安装步骤
    • 1、下载 IK 分词器插件:
    • 2、安装 IK 分词器插件:
    • 3. 安装完ik分词器闪退问题
    • 4、重启 Elasticsearch:
  • 三、ik分词器模式介绍
    • 1. 细粒度分词模式(ik_smart):
    • 2. 智能分词模式(ik_max_word):
    • 3. 分词器演示:
      • 3.1 ik_smart
      • 3.2 ik_max_word

一、IK 分词器简介

elasticsearch 默认的内置分词器对中文的分词效果可能并不理想,因为它们主要是针对英文等拉丁语系的文本设计的。如果要在中文文本上获得更好的分词效果,我们可以考虑使用中文专用的分词器。

IK 分词器是一个开源的中文分词器插件,特别为 Elasticsearch 设计和优化。它在中文文本的分词处理上表现出色,能够根据中文语言习惯进行精细的分词。

以下是 IK 分词器的一些特点和功能:

1. 支持细粒度分词:

IK 分词器能够将中文文本按照词语级别进行切分,实现更加细粒度的分词效果。它可以将一个词语切分成多个合理的子词,提高了搜索命中率。

2. 支持多种分词模式:

IK 分词器提供了两种分词模式,即细粒度和智能模式。细粒度模式会将文本切分成尽可能多的词语,而智能模式则会根据上下文进行合理的切分,保留词语的完整性。

3. 支持自定义词典:

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

4. 支持拼音分词:

IK 分词器还提供了拼音分词功能,可以将中文文本转换为拼音,方便进行拼音搜索和拼音排序。

5. 易于集成和使用:

IK 分词器是一个独立的插件,可以轻松地集成到 Elasticsearch 中,并且提供了简单易用的 API 接口。

总的来说,IK 分词器是一个功能强大、易于使用的中文分词器插件,可以显著改善 Elasticsearch 在中文文本上的分词效果。通过细粒度的分词、多种分词模式、自定义词典等功能,IK 分词器能够更好地满足中文语境下的搜索需求。

二、安装步骤

1、下载 IK 分词器插件:

下载网址:https://github.com/medcl/elasticsearch-analysis-ik/
ElasticSearch之IK分词器安装以及使用介绍_第1张图片
找到对应版本,下载安装包
ElasticSearch之IK分词器安装以及使用介绍_第2张图片

2、安装 IK 分词器插件:

新建 ik 文件夹,将ik压缩包解压到这里
将下载的插件文件解压缩到 Elasticsearch 安装目录的 plugins 文件夹中。
ElasticSearch之IK分词器安装以及使用介绍_第3张图片

3. 安装完ik分词器闪退问题

这里需要注意es版本与ik的版本一致,我的es版本是7.17.7,但是发现官网没有对应的ik版本:
所以,下了个7.17.6的ik,需要修改下 plugin-descriptor.properties文件

version=7.17.7
elasticsearch.version=7.17.7

重新启动es就不会闪退了

4、重启 Elasticsearch:

ElasticSearch之IK分词器安装以及使用介绍_第4张图片
完成插件安装后,重启 Elasticsearch 服务以使其加载新的插件。

三、ik分词器模式介绍

IK分词器是一款开源的中文分词工具,它提供了两种模式用于分词:细粒度和智能分词模式。

1. 细粒度分词模式(ik_smart):

这是默认的分词模式,它会尽可能地将句子切分为最小的词语单元。它不仅可以识别普通词汇,还可以识别一些常见的专有名词、地名、人名等。

2. 智能分词模式(ik_max_word):

这种模式会在细粒度分词的基础上,对长词进行进一步的切分。它可以识别更多的词语,但也会增加一些不必要的词语。

这两种模式可以根据具体的需求选择使用。如果需要更细粒度的分词结果,可以选择细粒度分词模式;如果需要更全面的分词结果,可以选择智能分词模式。

3. 分词器演示:

3.1 ik_smart

sql:

POST _analyze
{
  "analyzer": "ik_smart",
  "text": "万般都是命,半点不由人"
}

kibnana演示:
ElasticSearch之IK分词器安装以及使用介绍_第5张图片

3.2 ik_max_word

sql:

POST _analyze
{
  "analyzer": "ik_max_word",
  "text": "万般都是命,半点不由人"
}

kibnana演示:
ElasticSearch之IK分词器安装以及使用介绍_第6张图片

你可能感兴趣的:(elasticsearch)