ElasticSearch 中文分词器的安装与使用
前几节了解了es的部署以及相应语法,所用的文本都是英文那么中文该怎么办呢?,别慌es也为我们提供了中文分词器--IK,那我们就一起了解
有关ik分词器的知识吧
IK分词器安装
服务环境
Linux VM-0-7-centos 3.10.0
ElasticSearch-7.15.0
下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases
注:ik分词器版本应与es版本一致
IK分词器部署
将ik压缩包解压到es目录plugins/ik/下,plugins如果不存在的话新建与config平级创建(图 es-ik-install)
所在目录为 elasticsearch/plugins/ik/
文件详解
文件(图-ik-files)
custom.dic -- 在IKAnalyzer.cfg.xml自定义词库
main.dic -- ik原生内置中文词库
preposition.dic -- 介词
quantifier.dic -- 量词
suffix.dic -- 后缀
surname.dic -- 姓氏
stopword.dic -- 英文停用词
IKAnalyzer.cfg.xml -- 自定义词库配置文件
ik动态热词更新
两种方式:
1, 使用web端使用api更新 (官网不推荐觉得不稳定),
在该文件IKAnalyzer.cfg.xml中配置remote_ext_dict参数,填写对应的web地址(图-es-ik-config, 图-es-ik-web-words)
注:此处热词库一行一词
2, 更改IK分词器源码,修改源码从MySQL数据库定时更新(小编属于PHP rd,故java的各位小伙伴自行更改)
IK分词器使用
创建索引
PUT /index
{
"mappings":{
"properties":{
"field_chinese":{
"type":"text",
"analyzer":"ik_max_word",
"search_analyzer":"ik_smart"
}
}
}
}
PUT /index/_doc/1
{
"field_chinese":"中华人民共和国"
}
GET /index/_search
{
"query":{
"match":{
"field_chinese":"中华"
}
}
}
注:可用分词解析进行查看 GET /_analyze {"analyzer":"analysis","text":"analyzer_text"}
此处建议用
总结
文档调用
ik-分词器安装
ElasticSearch-官方文档
禁止转载,违者必究
补录
第一节,ElasticSearch----安装部署
第二节,ElasticSearch----语法学习
第三节,ElasticSearch----索引详解
第四节,ElasticSearch----IK分词器
第五节,ElasticSearch----PHP交互