mR_*_*r0g 5 java elasticsearch
Elasticsearch 版本 5.6
我正在使用 elasticsearch 本机传输客户端并通过查询UpdateByQueryRequestBuilder执行更新。
我想异步执行此操作并使用任务 api 跟踪进度。文档显示参数 wait_for_completion=false 正是我想要的,因为我看不到对 java 客户端的支持。有没有办法设置这个并取回任务ID?
小智 -1
使用本机传输客户端检索任务 api 响应,您必须执行如下请求:
UpdateByQueryRequestBuilder u = UpdateByQueryAction.INSTANCE.newRequestBuilder(client);
BulkIndexByScrollResponse r = u.source("source").filter(matchQuery("field", "value")).get();
Run Code Online (Sandbox Code Playgroud)
响应有两个失败列表和状态成员,您可以使用获取计数。该状态与您从任务管理 API 获取的状态完全相同。
仅当缺少依赖项时,才尝试导入此 Maven 依赖项:
<dependency>
<groupId>org.elasticsearch.module</groupId>
<artifactId>reindex</artifactId>
<version>x.x.x</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
并在客户端设置中添加调用:
clientBuilder.addPlugin(ReindexPlugin.class);
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到更多信息。
| 归档时间: |
|
| 查看次数: |
1393 次 |
| 最近记录: |