【问题标题】:The RestHighLevelClient cannot be used with elasticsearch 7 BulkProcessor. Which client should be used?RestHighLevelClient 不能与 elasticsearch 7 BulkProcessor 一起使用。应该使用哪个客户端?
【发布时间】:2019-07-31 16:42:56
【问题描述】:

elasticsearch 7 文档 - https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-bulk-processor.html

提到要使用的客户端如下- https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html

这里的 HightLevelRest Client 不能与 elastisearch7 中的批量处理器一起使用。

这与他们在 elasticsearch 6 中建议的不同 - https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.4/client.html

有人可以提及他们在 elasticsearch 7 中与批量处理器一起使用的客户端

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    RestHighLevelClient 可以与 ElasticSearch7 BulkProcessor 一起使用。你应该看看源代码。唯一的变化是 RestHighLevelClient bulkAsycn 方法。它现在需要一个额外的参数 RequestOptions。所以之前的签名是 -

    BulkProcessor.builder(restHighLevelClient()::bulkAsync, listener);
    

    新的签名如下-

    BulkProcessor.builder((request, bulkListener) -> restHighLevelClient.bulkAsync(request, RequestOptions.DEFAULT, bulkListener), bulkProcessorListener
                );
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2020-10-14
      • 1970-01-01
      • 2012-01-14
      • 2014-03-15
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多