ElasticSearch-7.17支持两种客户端连接方式(RestHighLevelClient 和Elasticsearch Java API)

        学习es时发现了一个大问题,学习的版本为7.8.0(尚硅谷yyds),自己使用的是7.17.8,但是最新的版本已经是8.5X了(心累,怎么升级这么快)。

        因为目前用的还是jdk1.8,所以就按照7.17.8的版本 RestHighLevelClient 创建连接,但是从7.15.0版本开始ES官方已经不推荐Rest客户端了,所以查了一下官网,发现Elasticsearch Java API 客户端(全新的客户端库),可以和 RestHighLevelClient 兼容使用,

官方原文:

避免在过渡阶段的任何运营开销,其中 应用程序将同时使用 HLRC 和新的 Java API 客户端,这两个客户端 可以共享同一个低级 Rest 客户端,即网络层 管理所有连接、轮询策略、节点嗅探等。

下面的代码显示了如何使用相同的 HTTP 客户端初始化两个客户端:


  1. // Create the low-level client

  2. RestClient httpClient = RestClient.builder(

  3. new HttpHost("localhost", 9200)

  4. ).build();

  5. // Create the HLRC

  6. RestHighLevelClient hlrc = new RestHighLevelClientBuilder(httpClient)

  7. .setApiCompatibilityMode(true)

  8. .build();

  9. // Create the Java API Client with the same low level client

  10. ElasticsearchTransport transport = new RestClientTransport(

  11. httpClient,

  12. new JacksonJsonpMapper()

  13. );

  14. ElasticsearchClient esClient = new ElasticsearchClient(transport);

  15. // hlrc and esClient share the same httpClient

另外附上Spring Boot与Elasticsearch的对应版本:

ElasticSearch-7.17支持两种客户端连接方式(RestHighLevelClient 和Elasticsearch Java API)_第1张图片

 ElasticSearch-7.17支持两种客户端连接方式(RestHighLevelClient 和Elasticsearch Java API)_明湖起风了的博客-CSDN博客_elasticsearch 客户端连接

你可能感兴趣的:(搜索,elasticsearch,java,大数据)