ElasticSearch分词器IK安装教程

目录标题

  • 前言
  • 1、安装IK分词器
    • 版本声明
    • 下载Elasticsearch IK分词器
    • 切换到shcms用户,并在es的安装目录下/plugins创建ik
    • 将下载的ik分词器上传并解压到该目录
    • 重启Elasticsearch
    • 重启Kibana
  • 2、测试分词效果
  • 3、指定IK分词器作为默认分词器

前言

CentOS 7下安装ElasticSearch7.6.1详细教程
ElasticSearch客户端Kibana7.6.1安装教程
ElasticSearch分词器IK安装教程
Elasticsearch-head插件安装教程

使用IK分词器对查询内容进行划分。

1、安装IK分词器

我们后续也需要使用Elasticsearch来进行中文分词,所以需要单独给Elasticsearch安装IK分词器插件。以下为具体安装步骤.

版本声明

CenOS:7;
JDK:1.8;
Elasticsearch:7.6.1;
Kibana:7.6.1;
IK:7.6.1;

注意:Elasticsearch和IK的版本需要对应。

下载Elasticsearch IK分词器

下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases
ElasticSearch分词器IK安装教程_第1张图片
注意:
IK的版本必须和Elasticsearch的版本对应,否则启动Elasticsearch的时候会报错。以下是我下载IK 8.1.2的版本,然后启动ES的时候报错如下:
ElasticSearch分词器IK安装教程_第2张图片

切换到shcms用户,并在es的安装目录下/plugins创建ik

su shcms
mkdir -p /usr/local/es/elasticsearch-7.6.1/plugins/ik

将下载的ik分词器上传并解压到该目录

cd /opt/es/elasticsearch-7.6.1/plugins/ik
unzip  elasticsearch-analysis-ik-7.6.1.zip 

重启Elasticsearch

1、先查询PID,然后杀死进程:

ps -ef | grep elasticsearch	

2、切换es用户,启动es:

su shcms

cd /opt/es/elasticsearch-7.6.1/bin

./elasticsearch -d

启动ES之后,ES会自己加载IK插件,如果启动ES成功,说明IK安装成功:
在这里插入图片描述

重启Kibana

ES重启之后,ES的客户端Kibana也应该重启

1、root用户或者es用户都可以

2、cd /opt/es/kibana-7.6.1-linux-x86_64/bin

3./kibana -d

2、测试分词效果

POST _analyze
{
"analyzer":"standard",
"text":"我爱你中国"
}

ElasticSearch分词器IK安装教程_第3张图片

不推荐使用standard模式 ,推荐使用ik模式。

POST _analyze
{
"analyzer": "ik_smart",
"text": "中华人民共和国"
 }
#ik_smart:会做最粗粒度的拆分; 

ElasticSearch分词器IK安装教程_第4张图片

也不推荐使用最粗粒度。当我搜索“中华”的时候,是匹配不到数据的。

POST _analyze
{
"analyzer":"ik_max_word",
"text":"中华人民共和国"
}
#ik_max_word:会将文本做最细粒度的拆分

ElasticSearch分词器IK安装教程_第5张图片

3、指定IK分词器作为默认分词器

ES的默认分词设置是standard,这个在中文分词时就比较尴尬了,会单字拆分,比如我搜索关键词“清华大学”,这时候会按“清”,“华”,“大”,“学”去分词,然后搜出来的都是些“清清的河水”,“中华儿女”,“地大物博”,“学而不思则罔”之类的莫名其妙的结果,这里我们就想把这个分词方式修改一下,于是呢,就想到了ik分词器,有两种ik_smart和ik_max_word。
ik_smart会将“清华大学”整个分为一个词,而ik_max_word会将“清华大学”分为“清华大学”,“清华”和“大学”,按需选其中之一就可以了。
修改默认分词方法(这里修改school_index索引的默认分词为:ik_max_word):

PUT /school_index
{
"settings" : {
"index" : {
"analysis.analyzer.default.type": "ik_max_word"
}
}
}

你可能感兴趣的:(分布式与微服务篇,elasticsearch,ik)