美文网首页
Spring JPA elasticsearch 的坑

Spring JPA elasticsearch 的坑

作者: hohoha | 来源:发表于2018-05-11 11:13 被阅读0次

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

    相关文章

      网友评论

          本文标题:Spring JPA elasticsearch 的坑

          本文链接:https://www.haomeiwen.com/subject/peffdftx.html