SpringBoot整合ES,使用java操作ES并发请求

对于java操作整合es有两种方案我先分别介绍然后解释一下最后我的选择为什么

1)、9300:TCP
   spring-data-elasticsearch:transport-api.jar;
   通过对9300端口建立一个长连接,但是因为springboot 版本不同, transport-api.jar 不同,不能适配 es 版本,并且7.x 已经不建议使用,8 以后就要废弃。

2)、9200:HTTP

  1. JestClient:非官方,更新慢
  2. RestTemplate:模拟发 HTTP 请求,ES 很多操作需要自己封装,麻烦
  3. HttpClient:同上
  4. 其实因为我们直接对9200端口进行操作,只要能发http请求的都可以,还有其他的Okhttp等但是这样对于DSL很麻烦,所以放弃。

Elasticsearch-Rest-Client:官方 RestClient,封装了 ES 操作,API 层次分明,上手简单紧跟版本变化。

最终选择 Elasticsearch-Rest-Client(elasticsearch-rest-high-level-client)
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html

开始整合:

如果使用的es是7版本下

你可能感兴趣的:(es,java,elasticsearch,java,spring,boot)