文章目录
- 一、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/
找到对应版本,下载安装包
2、安装 IK 分词器插件:
新建 ik 文件夹,将ik压缩包解压到这里
将下载的插件文件解压缩到 Elasticsearch 安装目录的 plugins 文件夹中。
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分词器模式介绍
IK分词器是一款开源的中文分词工具,它提供了两种模式用于分词:细粒度和智能分词模式。
1. 细粒度分词模式(ik_smart):
这是默认的分词模式,它会尽可能地将句子切分为最小的词语单元。它不仅可以识别普通词汇,还可以识别一些常见的专有名词、地名、人名等。
2. 智能分词模式(ik_max_word):
这种模式会在细粒度分词的基础上,对长词进行进一步的切分。它可以识别更多的词语,但也会增加一些不必要的词语。
这两种模式可以根据具体的需求选择使用。如果需要更细粒度的分词结果,可以选择细粒度分词模式;如果需要更全面的分词结果,可以选择智能分词模式。
3. 分词器演示:
3.1 ik_smart
sql:
POST _analyze
{
"analyzer": "ik_smart",
"text": "万般都是命,半点不由人"
}
kibnana演示:
3.2 ik_max_word
sql:
POST _analyze
{
"analyzer": "ik_max_word",
"text": "万般都是命,半点不由人"
}
kibnana演示: