- elasticsearch默认分词器的了解
- elasticsearch的ik分词器的安装(ik由国内大神开源)
- ik分词器的配置自定义字典
在kibana默认提供的检索分析
在kibana中采用standard分词器分析this is my cat。(对英文支持的非常好)
POST _analyze
{
"analyzer": "standard",
"text": "this is my cat"
}
es标准分词器对英文的支持
在kibana中采用standard分词器分析“我是中国人”。(对中文的支持很差,把每个中文的文字当作一个次。这里不能自动识别中国、中国人)
POST _analyze
{
"analyzer": "standard",
"text": "我是中国人"
}
image.png
elasticsearch的ik分词器安装
只需下载其已经编译好的包,下载版本与es保持一致。无需安装,解压即可使用
github地址 medcl/elasticsearch-analysis-ik
ik的github
image.png
cd elasticsearch/elasticsearch-7.2.0/plugins/ && mkdir ik7.2.0
#下载zip文件
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
#解压zip文件
unzip elasticsearch-analysis-ik-7.2.0.zip -d ik7.2.0/
#删除下载文件(plugins目录不允许非插件文件存在)
rm elasticsearch-analysis-ik-7.2.0.zip
#重启es
重启es和可以查看效果
注意之前使用的是standard分词器,现在使用ik提供的ik_smart、ik_max_word分词器
例子1-ik_smart
POST _analyze
{
"analyzer": "ik_smart",
"text": "我是中国人"
}
image.png
例子2-ik_max_work
POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}
image.png
例子3-ik_smart
POST _analyze
{
"analyzer": "ik_smart",
"text": "公安部:各地校车将享最高路权人"
}
image.png
ik分词器的配置自定义字典
可以在ik目录下config中的.dic文件中添加你的词典
ik配置词典的位置
ik字典的样子