我正在使用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_您需要獲取文檔並在更新後檢查它。 –