【图文安装教程】Docker安装ES的拼音分词器-搜索时候自动补全必备

  • 作者: 凯哥Java(公众号:凯哥Java)
  • ES
  • 时间:2022-10-26 12:05
  • 4477人已阅读
简介 当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,这种根据用户输入的字母,提示完整词条的功能,就是自动补全了。因为需要根据拼音字母来推断,因此要用到拼音分词功能。要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址:https://github.com/medcl/elasticsearch-analysis-pinyin

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,这种根据用户输入的字母,提示完整词条的功能,就是自动补全了。

因为需要根据拼音字母来推断,因此要用到拼音分词功能。

要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址:https://github.com/medcl/elasticsearch-analysis-pinyin

课前资料中也提供了拼音分词器的安装包:

01bfb4de7c65a424edf990f093438f5f.png

安装方式与IK分词器一样,分三步:

上传到虚拟机中,elasticsearch的plugin目录

解压

③重启elasticsearch

④测试

1:上传的虚拟机中,ES的plugin目录。

注意:ES插件目录已经被挂载到es镜像中了。

查看es-plugins目录在宿主机中挂载的具体位置。使用命令:

docker volume inspect es-plugins

fb593e1c3d9b3b07b8a24d17dc749484.png

我们将ES拼音插件,上传到当前目录。

b76f4cdc884fee17ed0a697cef20d9b7.png

2:将elasticsearch-analysis-pinyin-7.12.1.zip 本地解压后,修改修改名字为py

unzip elasticsearch-analysis-pinyin-7.12.1.zip -d py/

9d3bf34d255b8fc7ae46f84643ecc646.png

3:重启es

命令:

docker restart es

4:测试

我们还是在Dev Tools里面,使用DSL语言测试:

POST /_analyze
{
  "text": ["我是中国人"],
  "analyzer": "pinyin"
}

运行后结果:

0fc3c05ac87e6a39dd07651d54a38cf1.png

我们可以看到每个字对应拼音出来

TopTop