跳过正文
  1. 文章/
  2. Java/
  3. 组件与中间件/
  4. ElasticSearch/

5、Analysis分词器

·752 字·2 分钟· loading · loading · ·
Java 组件与中间件 ElasticSearch
GradyYoung
作者
GradyYoung
ElasticSearch - 点击查看当前系列文章
§ 5、Analysis分词器 「 当前文章 」

中文分词器
#

  • 分词,一定是建立在创建“倒排索引”之前。ES将字符串划分为2种类型:Keyword和Text

  • ES不会针对Keyword进行分词,它只会针对Text进行分词

  • ES常见的中文分词器:ik_max_word,ik_smart

ik_max_word:细粒度的分词
#

  • 举例:doc {desc: "中华人民共和国国歌"}
  • 结果:中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、共和、人、国歌

ik_smart:粗粒度的分词
#

举例:doc {desc: "中华人民共和国国歌"}

  • 中华人民共和国
  • 国歌

ES的中文分词安装
#

方式一:在线安装(不推荐)
#

  • 进入容器后,执行在线安装命令
#进入容器
docker exec -it es /bin/bash
#执行命令进行安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.8.2/elasticsearch-analysis-ik-6.8.2.zip

方式二:离线安装
#

进行下载:https://github.com/medcl/elasticsearch-analysis-ik/releases

1、上传zip文件到服务器
#

image-20210907151838540

2、重新启动elk容器,需要将插件目录映射出来
#
docker run -dit --name elk \
-p 5601:5601 \
-p 9200:9200 \
-p 5044:5044 \
-v /root/elk/elk-data:/var/lib/elasticsearch \
-v /root/elk/elasticsearch/plugins:/opt/elasticsearch/plugins \
--privileged=true \
sebp/elk:700
3、将zip文件解压到映射出来的/root/elk/elasticsearch/plugins目录中
#

如果没有安装unzip,需要进行安装

#下载解压工具
yum install unzip
#解压
unzip elasticsearch-analysis-ik-7.0.0.zip

image-20210907160316380

4、重启elk容器
#
docker restart elk
docker logs -f elk

image-20210907160500164

5、Kibana中测试中文分词器
#
GET /_analyze
{
    "text": "提醒广大群众,如您是从黑龙江省有疫情发生地区及国内中高风险地区返(来)吉人员,或是与以上无症状感染者有接触的人员,必须主动向当地社区(村屯)报告,同时配合进行管控与核酸检测。为减少疫情传播风险,大家要不聚集、讲卫生、戴口罩、保持安全社交距离,一旦出现发热、咳嗽等急性呼吸道症状,请佩戴医用口罩及时到当地定点医疗机构发热门诊就诊",
    "analyzer": "ik_max_word"
}
ElasticSearch - 点击查看当前系列文章
§ 5、Analysis分词器 「 当前文章 」