RestHighLevelClient с проблемой BulkProcessor Elastic Search

Ранее я использовал TransportClient в своем приложении. В последнее время переход на AWS управляет сервисами Elastic Search. Узнал, что управляемый AWS ES Cluster не будет поддерживать TransportClient.

Таким образом, перенос кода, где он использовал BulkProcessort для вставки документов в ES. Когда я выполняю рефакторинг кода как часть документации ES, я добавил эту строку.

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

и я получаю сообщение об ошибке в client::bulkAsync, в котором говорится, что клиент не является функциональным интерфейсом.

Нужна помощь, чтобы понять, что я делаю не так.

Ссылка на документ Для справки,

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

1 ответ

Какой тип вашего клиентского объекта? Это должен быть экземпляр RestHighLevelClient.

Вот рабочий код: https://github.com/dadoonet/legacy-search/blob/02-bulk/src/main/java/fr/pilato/demo/legacysearch/dao/ElasticsearchDao.java

Другие вопросы по тегам