摘要:將刷新策略作為。的典型偵聽器如下所示執行成功完成時調用。響應返回的允許檢索有關已執行操作的信息,如下所示處理成功碎片數小于總分片數的情況。處理潛在的失敗。如果存在版本沖突,則拋出引發的異常表示返回了版本沖突錯誤。
Delete API Delete請求
DeleteRequest沒有參數。
DeleteRequest request = new DeleteRequest( "posts", "doc", "1");
posts — 索引。
doc — 類型。
1 — 文檔id。
可選參數可以選擇提供以下參數:
request.routing("routing");
路由值。
request.parent("parent");
parent值。
request.timeout(TimeValue.timeValueMinutes(2)); request.timeout("2m");
等待主碎片可用的作為TimeValue的超時。
等待主碎片可用的作為String 的超時。
request.setRefreshPolicy(WriteRequest.RefreshPolicy.WAIT_UNTIL); request.setRefreshPolicy("wait_for");
將刷新策略作為WriteRequest.RefreshPolicy實例。
將刷新策略作為String。
request.version(2);
版本。
request.versionType(VersionType.EXTERNAL);
版本類型。
同步執行以下列方式執行DeleteRequest時,客戶端在繼續執行代碼之前等待返回DeleteResponse:
DeleteResponse deleteResponse = client.delete( request, RequestOptions.DEFAULT);異步執行
執行DeleteRequest也可以以異步方式完成,以便客戶端可以直接返回,用戶需要通過將請求和偵聽器傳遞給異步刪除方法來指定響應或潛在故障的處理方式:
client.deleteAsync(request, RequestOptions.DEFAULT, listener);
要執行的DeleteRequest和執行完成時要使用的ActionListener。
異步方法不會阻塞并立即返回,完成后,如果執行成功完成,則使用onResponse方法回調ActionListener,如果失敗則使用onFailure方法。
delete的典型偵聽器如下所示:
listener = new ActionListener() { @Override public void onResponse(DeleteResponse deleteResponse) { } @Override public void onFailure(Exception e) { } };
onResponse — 執行成功完成時調用。
onFailure — 在整個DeleteRequest失敗時調用。
Delete響應返回的DeleteResponse允許檢索有關已執行操作的信息,如下所示:
String index = deleteResponse.getIndex(); String type = deleteResponse.getType(); String id = deleteResponse.getId(); long version = deleteResponse.getVersion(); ReplicationResponse.ShardInfo shardInfo = deleteResponse.getShardInfo(); if (shardInfo.getTotal() != shardInfo.getSuccessful()) { } if (shardInfo.getFailed() > 0) { for (ReplicationResponse.ShardInfo.Failure failure : shardInfo.getFailures()) { String reason = failure.reason(); } }
處理成功碎片數小于總分片數的情況。
處理潛在的失敗。
還可以檢查文檔是否被找到:
DeleteRequest request = new DeleteRequest("posts", "doc", "does_not_exist"); DeleteResponse deleteResponse = client.delete( request, RequestOptions.DEFAULT); if (deleteResponse.getResult() == DocWriteResponse.Result.NOT_FOUND) { }
如果找不到要刪除的文檔,請執行某些操作。
如果存在版本沖突,則拋出ElasticsearchException:
try { DeleteResponse deleteResponse = client.delete( new DeleteRequest("posts", "doc", "1").version(2), RequestOptions.DEFAULT); } catch (ElasticsearchException exception) { if (exception.status() == RestStatus.CONFLICT) { } }
引發的異常表示返回了版本沖突錯誤。
上一篇:Exists API文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72370.html
摘要:用于的官方高級別客戶端,基于低級別客戶端,它公開特定的方法,并負責請求編組和響應反編組。入門初始化執行請求讀取響應日志記錄通用配置嗅探器在中被添加。依賴于核心項目,它接受與相同的請求參數,并返回相同的響應對象。 Elasticsearch Java REST Client Java REST Client有兩種類型: Java Low Level REST Client:用于Elast...
摘要:如果文檔存在,則返回,否則返回。禁用提取存儲的字段。異步方法不會阻塞并立即返回,完成后,如果執行成功完成,則使用方法回調,如果失敗則使用方法。的典型偵聽器如下所示執行成功完成時調用。 Exists API 如果文檔存在,則existsAPI返回true,否則返回false。 Exists請求 它就像Get API一樣使用GetRequest,支持所有可選參數,由于exists()只返回...
閱讀 2702·2023-04-25 14:59
閱讀 889·2021-11-22 11:59
閱讀 635·2021-11-17 09:33
閱讀 2468·2021-09-27 13:34
閱讀 3898·2021-09-09 11:55
閱讀 2321·2019-08-30 15:44
閱讀 1123·2019-08-30 14:06
閱讀 1925·2019-08-29 16:55