Elasticsearch Java High-Level REST Client を使用して一括リクエスト中に、レスポンスで失敗したドキュメントのみを取得する方法はありますか?
現在、ES はすべての成功したドキュメントと失敗したドキュメントを応答で送信しており、失敗したすべてのBulkItemResponse
ドキュメントを再処理しています。失敗したドキュメントを見つけて再処理しています。
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()
一括操作で実行される各アクションを表すものとして(同じ順序で!)。