这是我参与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 做好分词工作
原则上而言,只有分词分出 关键字,搜索才能在结果中出现目标文档