首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Elasticsearch Java High-Level Client 6.8的响应中仅获取失败文档

如何在Elasticsearch Java High-Level Client 6.8的响应中仅获取失败文档
EN

Stack Overflow用户
提问于 2020-06-05 14:21:45
回答 1查看 413关注 0票数 3

有没有办法在使用Elasticsearch Java High-Level REST客户端进行批量请求时只获取响应中的失败文档。

目前,ES在响应中发送所有成功和失败的文档,我们正在重新处理所有失败的文档,我们正在迭代BulkItemResponse以找到失败的文档并重新处理它。

代码语言:javascript
复制
private BulkRequest createBulkRequestsForRetry(BulkResponse bulkItemResponses, BulkRequest currentBulkRequest) {
        BulkRequest bulkRequest = new BulkRequest();
        int index = 0;
        for (BulkItemResponse bulkItemResponse : bulkItemResponses.getItems()) {
            if (bulkItemResponse.isFailed()) {
                bulkRequest.add(currentBulkRequest.requests().get(index));
            }
            index++;
        }
        return bulkRequest;
    }

作为代表批量操作中执行的每个操作的bulkItemResponse.getItems() (以相同的顺序!)。

EN

回答 1

Stack Overflow用户

发布于 2020-06-05 14:31:00

到目前为止,即使在最新的7.7版本的客户端中,这个功能也不存在,如果你想要这个功能,你可以创建一个问题,或者更好地提交一个解决问题的PR,这将是一个非常有用的功能。

你可以看看complete BulkResponse,看看你自己,在主分支中也没有这样的功能。

另外,你还可以在here上创建一个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62209300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档