具有BulkProcessor弹性搜索问题的RestHighLevelClient

时间:2017-12-06 20:56:09

标签: amazon-web-services elasticsearch aws-elasticsearch

之前我在我的应用中使用了TransportClient。 最近,迈向AWS管理弹性搜索服务。 据悉,AWS托管的ES Cluster不支持TransportClient。

因此,迁移使用BulkProcessort将文档插入ES的代码。 当我将代码重构为ES文档的一部分时,我添加了这一行。

BulkProcessor bulkProcessor = BulkProcessor.builder(client::bulkAsync, listener).build(); 

我在client :: bulkAsync上遇到错误,说Client不是一个功能接口。

需要帮助了解我做错了什么。

文档链接供参考,

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-document-bulk.html#java-rest-high-document-bulk-processor

1 个答案:

答案 0 :(得分:0)

您的客户对象的类型是什么? 它必须是RestHighLevelClient实例。

这是一个有效的代码:https://github.com/dadoonet/legacy-search/blob/02-bulk/src/main/java/fr/pilato/demo/legacysearch/dao/ElasticsearchDao.java