Elasticsearch ik 分词器安装&分词过程
安装 Elasticsearch ik 分词器
插件安装
~/Dev/env/etl780/elasticsearch780/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
~/Dev/env/etl780/elasticsearch780/bin/elasticsearch-plugin install https://gitee.com/mirrors/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
解压安装
将IK分词器压缩文件解压到elasticsearch安装目录的plugins目录下命名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
分词过程
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/config/analyze_ik
stopword – 过滤词
main – 需要分出来的词