IK 分词器
下载和安装
进入elasticsearch
目录中执行以下命令:
# 在线安装
[yangqi@yankee elasticsearch-7.3.0]$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip
下载完成后,可以在plugins
目录中看到analysis-ik
目录,里面的结构如下所示:
之后需要重新启动elasticsearch
,才可以加载ik
分词器插件,同时记得在三个节点都安装ik
分词器插件。重新启动elasticsearch
可以看到日志信息中有以下输入内容:
IK
分词器分析过程
测试IK
分词器
# 测试 ik 分词器
GET _analyze?pretty
{
"analyzer": "ik_smart",
"text": "中华人民共和国国歌"
}
==========================================
# 结果
{
"tokens" : [
{
"token" : "中华人民共和国",
"start_offset" : 0,
"end_offset" : 7,
"type" : "CN_WORD",
"position" : 0
},
{
"token" : "国歌",
"start_offset" : 7,
"end_offset" : 9,
"type" : "CN_WORD",
"position" : 1
}
]
}
IK
分词器的两种分词方法
# 测试 ik 分词器,智能分词法
GET _analyze?pretty
{
"analyzer": "ik_smart",
"text": "中华人民共和国国歌"
}
# 测试 ik 分词器,最大分词法
GET _analyze?pretty
{
"analyzer": "ik_max_word",
"text": "中华人民共和国国歌"
}
分词的场景
# analyzer 指定的是构建索引的时候的分词
# search_analyzer 指定的是搜索关键字时候的分词
# 如果在搜索是不指定 search_analyzer,那么默认使用的是 analyzer 使用的分词
# 最佳实践:索引的时候使用 ik_max_word,但是查询的时候使用 ik_smart