Spring JPA elasticsearch 的坑

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 带来的便捷,想怎么查就怎么查!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值