我正在使用Java API更新Elasticsearch中的文档,并且在没有任何提示的情况下(可能是1/10)失败。我可以看到更新是否成功的唯一方法是阅读文档以检查是否已更新。如何检测Elasticsearch中的文档更新是否失败
IndexResponse
有一个名为isCreated
的方法,正如其名称所示,只有在插入成功后才返回true。无论成功还是失败,此方法都将在更新上返回false。
这里是我的代码,以更新文档:
IndexRequest indexRequest = new IndexRequest(index_name, type_name, doc_id)
.source(json);
UpdateRequest updateRequest = new UpdateRequest(index_name, type_name, doc_id)
.doc(json)
.upsert(indexRequest);
UpdateResponse response = es_client.update(updateRequest).actionGet();
之前,我可以修复失败的更新,我需要检测,如果该请求已成功与否。但是如何?
P.S. UpdateResponse
继承自IndexResponse
并没有额外的方法来指示更新状态,或者至少据我所知。
我_think_您需要获取文档并在更新后检查它。 –