Elasticsearch ik分词器安装&分词过程

2,085 阅读2分钟

这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人专栏

Elasticsearch ik 分词器安装&分词过程

安装 Elasticsearch ik 分词器

ik 分词器插件安装

安装 ik 分词器需要前往 github 查找 elasticsearch-analysis-ik,选择 Elasticsearch 对应 ik.zip 包 (我本地是 elasticsearch 7.8.0, 所以我对应下载 elasticsearch-analysis-ik-7.8.0.zip)。

解压analysis-ik文件安装

elasticsearch 安装路径plugins 文件夹 新建文件夹并名为 ik. 下载过后需要将 IK分词器 zip压缩文件解压到 刚才新建的 ik 文件夹

解压analysis-ik文件 [root@elk-node1 plugins]# pwd /usr/share/elasticsearch/plugins unzip elasticsearch-analysis-ik-6.8.4.zip -d ik

删除源压缩文件 rm -rf elasticsearch-analysis-ik-6.8.4.zip

随后执行 elasticsearch 插件安装命令

./bin/elasticsearch-plugin install

Elasticsearch ik 分词过程

analyze: 分析 = 分词过程:字符过滤 - 字符串过滤 - 分词过滤转换 english analyze: 分词过滤器(过滤特殊符号外加量词,the 等等)- 字符处理 - 分词过滤(分词转换,词干转化) ik analyze: 字符过滤(过滤特殊符号外加量词,的 等【停用词】)- 字符处理 -

安装分词器之后

需要重启Elasticsearch,才能重新加载分词器

GET _analyze?pretty
{
  "analyzer":"ik_smart",
  "text":"中华人民共和国国歌义勇军进行曲"
}
# 中华人民共和国 国歌 义勇军进行曲 (宁缺毋滥)

GET _analyze?pretty
{
  "analyzer":"ik_max_word",
  "text":"中华人民共和国国歌义勇军进行曲"
}
#  贪心
# analyzer 构建时分词
# search_analyzer 搜索时分词,无指定是使用 构建时分词器
# ik_smart 查准率,查询使用;ik_max_word 查全率,数据构建时使用;
# 如果 ik_smart 查询不奏效,使用 ik_max_word, 还不行;就另存一个字段 用 standard 字段

GET _analyze?pretty
{
  "analyzer":"standard",
  "text":"中华人民共和国国歌"
}

存在搜索内容,但搜索不出来 的情况

如果 存在搜索内容,但搜索不出来 的情况,一般是因为:

Elasticsearch 索引字段设置中,分词器分词粒度不够细;或分词分不出搜索关键字。 大部分情况下,可以通过:

  • 更新词库
  • 编辑 Elasticsearch/config/analyze_ik 上面两种方法搞定

而如果是 专业用语 则需要:

  • 自己去添加自定义词库
  • 给索引存入数据是,定义好分词规则
    这是去帮助 Elasticsearch 做好分词工作

原则上而言,只有分词分出 关键字,搜索才能在结果中出现目标文档