Navicat Premium 8.1.12激活(elasticsearch插件安装(二)之dynamic-synonym插件)

Navicat Premium 8.1.12激活(elasticsearch插件安装(二)之dynamic-synonym插件)

elasticsearch安装dynamic-synonym插件

​ 今天就来和大家讲讲如何在es中安装dynamic-synonym插件,首先我们需要去github上下载与es版本对应的插件,一般github上基本都是本地词库和远程文本词库的,在gitee上可以找到采用数据库作为词库的源码,大致思路就是修改一些参数配置,然后自己创建一个表作为同义词词库,最后将打包好的jar包插件丢到es-plugins目录下面,最后重启一下就能跑起来了。但是!!!作者没有跑起来,遇到了好多问题【哭泣泣】,因为我是在docker容器中运行的es,而容器一直报的是Java权限问题,我在网络上找了一圈才东拼西凑的把这个问题给解决,真的太高兴啦!!!

​ 接下来就开始讲讲思路

  1. 下载源码,修改dynamic-synonym配置
  2. 新增MySQL代码
  3. 创建一个dynamic-synonym的表
  4. 修改docker中es容器的Java.policy文件【非常重要】
  5. 将打包好的jar包放入到 {es-root}/es-plugins目录下面
  6. docker重启es容器
  7. 新建es的dynamic-synonym索引测试

文章末尾会给出作者已经配置好的插件代码!!!!!! 请注意签收!!!!!可以直接跳到四或者五,根据你自己的需求来选择

一、下载源码并且修改配置

​ github好多好多的源码啊,真的是看都看不过来,下载之后要结合自己es版本切换分支,这里建议直接下载最原始的源码,链接为:https://github.com/bells/elasticsearch-analysis-dynamic-synonym,下载好了之后需要切换与es版本对应代码分支,作者的es版本为7.12.1,修改一下pom文件的配置

image-20230618095401413

image-20230618095436842

1.1 修改pom.xml文件


这里在做链接MySQL数据的时候要注意一下MySQL的驱动jar包,不同版本的url会有所区别。

二、新增MySQL代码

2.1 新增MysqlRemoteSynonymFile文件


2.2 在getSynonymFile新增MySQL的连接方式

修改的DynamicSynonymTokenFilterFactory的资源获取代码


三、创建一个dynamic-synonym的表

3.1 建库建表

​ 作者这边的数据库名称为word,表名为synonym


3.2 修改数据库连接的配置文件

在项目的src同级目录下新增config/jdbc-reload.properties文件


四、修改docker中es容器的Java.policy文件【非常重要】

这里作者用的是docker容器化部署,如果是直接装在windows系统或者centos系统下,就要去修改es依赖的Jdk,直接修改系统的jdk的java.policy文件。在这里不直接修改系统jdk的java.policy文件是因为docker容器化部署的es是独立于系统的jdk运行的,这个es有一套自己的输出逻辑。

4.1 找到Java.policy

首先进入到容器内部操作 docker exec -it es /bin/bash,然后直接打开 cd /usr/share/elasticsearch/jdk/conf/security/文件夹,找到Java.policy文件。

image-20230618101229748


4.2 修改java.policy文件

image-20230618101541506

下面文件的全部内容:


五、将打包好的jar包放入到 {es-root}/es-plugins目录下面

5.1 在打包之前一定要注意自己es的版本号

image-20230618102014020

5.2 打包完成之后解压文件并且上传到服务器中的es的plugins目录

​ 这里作者用的docker的容器部署,如果是windows本地直接找到plugins目录放进去就可以了。

image-20230618102152704

六、docker重启es容器

如果直接安装在系统上,就直接去找到elasticsearch/bin目录下重启一下就可以啦。作者这里是容器部署的哈。


容器重启之后记得查看一下docker的控制台输出,看看有没有什么问题,如果出现权限之类的问题,那基本上就是java.policy文件没有配置正确,如果出现数据库之类的问题,请在本地建个Java项目连接一下试试,看看能不能跑的起来。


七、新建es的dynamic-synonym索引测试



Navicat Premium 8.1.12激活image-20230618103510795

这样子就算运行成功啦,开心撒花!!!


八、总结

8.1 源码地址

为了做这个项目,作者搞了大概得有一天,为了让大家节省时间,这里可以直接下载我已经配置好的源码

8.2 小节

​ 经过一天的研究,终于大致弄明白es插件的运行过程了,为后续实现自动补全功能、优化搜索、广告推荐、聚合查询做好了前提条件。

以后如果做这些功能了再将博客补上,最后,感谢大家的支持

今天的文章
Navicat Premium 8.1.12激活(elasticsearch插件安装(二)之dynamic-synonym插件)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/117623.html

(0)
编程小号编程小号
上一篇 2024-07-14 15:17
下一篇 2024-07-14

相关推荐