zl程序教程

您现在的位置是:首页 >  Java

当前栏目

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

2023-02-18 16:31:06 时间

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

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

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

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

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

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

②解压

③重启elasticsearch

④测试

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

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

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

docker volume inspect es-plugins

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

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

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

3:重启es

命令:

docker restart es

4:测试

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

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

运行后结果:

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