spring-data-elasticsearch 最新版尝鲜

今天是2019年6月7日,操蛋的事情发生了
阿里云的es产品6.3.2,居然禁用了transportClient(默认9300端口),我在测试环境都开发好了.上预发懵逼了..卧槽?
怎么办...
找了各种资料


5313659-7df8f8500b3603eb.png
image.png

然并卵..
3.2.0.M4默认使用的elasticsearch版本是6.7.2
可恨的是啥,6.7版本开始新增了一个参数,include_type_name,因为8.0版本后要完全除去type.
增加这个字段,所以我调用elasticsearchTemplete创建索引的时候炸了..因为api自动带了我刚说的参数

    public static final String INCLUDE_TYPE_NAME_PARAMETER = "include_type_name";

然后我要开始搞事了
下载源码
1.把仓库的地址改成自己的私服地址


5313659-2527959c90575b96.png
image.png

2.注释部分代码.因为打包的时候会报错


5313659-365dfd14c1292d05.png
image.png

3.找到所有使用该代码的地方.默认都改为true


5313659-5229d66799898d6d.png
image.png

ps,jdk版本12,gradle版本5.4.1
4.改完后,打包,加上这个参数,就是编译正式包了


5313659-c2886826d54e56b7.png
image.png

ps,如果私服已经有6.7.2版本的了.先去删掉.然后再去本地的仓库,删掉.jar-release版本是不允许覆盖的
至此,底层部分已经修改了

我们再来改第二个模块
下载spring data es 的源码,并修改自己的仓库


5313659-ecc0ccd80b2cd88a.png
image.png

然后有啥需求自己往上面改
说下m4版本的用法
esconfig


5313659-81507e028164d482.png
image.png

repository的用法


5313659-5336da1040f42997.png
image.png

官方打算支持alias的,但是m4版本下载下来.并没有看到支持代码,我就自己实现了

ElasticsearchPersistentEntity 这个接口新增 alias()方法


5313659-670f3099ad79de95.png
image.png

实现类增加如下代码


5313659-52a82b9f40360f71.png
image.png

RestTemplete实现别名


5313659-47aa01b1286de0bb.png
image.png

上传,打包,完美

转载于:https://www.jianshu.com/p/de6521633f4b

猜你喜欢

转载自blog.csdn.net/weixin_34032779/article/details/91293692