IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Delete API
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Delete API
editDelete Request
editA DeleteRequest requires the following arguments:
Optional arguments
editThe following arguments can optionally be provided:
|
Timeout to wait for primary shard to become available as a |
|
|
Timeout to wait for primary shard to become available as a |
Synchronous Execution
editDeleteResponse deleteResponse = client.delete(request);
Asynchronous Execution
editDelete Response
editThe returned DeleteResponse allows to retrieve information about the executed
operation as follows:
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();
}
}
|
Handle the situation where number of successful shards is less than total shards |
|
|
Handle the potential failures |
It is also possible to check whether the document was found or not:
DeleteRequest request = new DeleteRequest("posts", "doc", "does_not_exist");
DeleteResponse deleteResponse = client.delete(request);
if (deleteResponse.getResult() == DocWriteResponse.Result.NOT_FOUND) {
}
If there is a version conflict, an ElasticsearchException will
be thrown: