您现在的位置是:首页 > 文章详情

Spring JPA elasticsearch 的坑

日期:2018-05-10点击:401

2018-10 更新:
刚刚把spring data elasticsearch 升级到了3.1.1, 适配Elasticsearch 6.2.2。
spring 也在准备转向Rest 客户端做准备了,不过目前这套架构用transport client还能工作。


之前采用SSH框架,全文检索实现从solr到lucene,最后到elasticsearch。沿用hibernate search, 经过2年的过度,前端Spring 逐渐去掉了Struts, 现在又直接去掉了hibernate search, hibernate orm 变成了幕后的JPA底层实现。
主要原因是hibernate 和jboss捆绑太紧密,而spring boot确实方便。

这次切换后来总结下中间遇到的坑吧:
Spring JPA elasticsearch 3.0支持 elasticsearch 5.5 , 不过官网的客户端例子只提供了elasticsearch java api 的 node client 连接方式,还是采用内置elasticsearch 服务器的方式。这肯定不能用于生产系统。所以第一步:从node client 换到 transportclient方式,连接到elasticsearch。
可能是我elasticsearch不熟,这个坑有点大。
1, transportclient 不支持xpack,连接错误也不提示是xpack拒绝。
2,elasticsearch 5.5 的docker镜像 默认带 xpack, 使用参数xpack.security.enabled = false 居然不生效!
3, bin/elasticsearch-plugin remove x-pack 能卸载xpack, 卸载后要重启,重启后还有一堆参数等着调整。所以到elasticsearch 6 之后提供了额外的卸载命令。可是Spring JPA目前最高支持elasticsearch 5.6.8.
最后只好到处找到一个不带xpack的安装包,终于一切畅通了,开始享受elasticsearchRepository 带来的便捷,想怎么查就怎么查!

原文链接:https://yq.aliyun.com/articles/664811
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章