elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑

安装的是elasticsearch7.7.1 

从https://github.com/medcl/elasticsearch-analysis-ik下载ik源码(导入idea):

1:修改pom.xml    版本号改为自己的ES对应版本  如:7.7.1

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第1张图片

添加mysql的jar包(和mysql数据库对应)

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第2张图片

2.修改源码参考:https://blog.csdn.net/qq_35524586/article/details/88553670

坑:我自己加上驱动加载后打包到elasticsearch中启动报错,所以还是按照上面博客的,没有写驱动加载,

//jdbc4.0之后不需要显式的去加载驱动,如果驱动包符合 SPI 模式就会自动加载

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第3张图片

ES启动报错截图(就是加载驱动报错):

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第4张图片

注:在plugins目录下新建ik文件夹,解压打包的ik,启动ES不起作用,改为命令安装ik分词器,cmd执行(改为自己的目录):

D:\soft\elasticsearch-7.7.1-node1\bin>elasticsearch-plugin install file:///D:\ideaWorkSpace\elasticsearch-analysis-ik-master\target\releases\elasticsearch-analysis-ik-7.7.1.zip

3:Could not create connection to database server

把mysql-connector-java的版本改成你连接的数据库的版本

4:no suitable driver found for jdbc

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第5张图片

在下面目录加上mysql的jar包elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第6张图片

 

5:

在jdk下的java.policy加上该权限,操作如下:elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第7张图片

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第8张图片

6:成功启动ES后,窗口打印的分词汉字显示乱码:

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第9张图片

jvm.options中添加-Dfile.encoding=GBK

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第10张图片

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第11张图片

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第12张图片

测试:

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第13张图片

elasticsearch安装ik分词器,连接mysql8.0实现热加载词库,踩坑_第14张图片

第一次写,这都是我自己踩的坑,有问题请指出,欢迎讨论

你可能感兴趣的:(elasticsearch)