Exists API

edit

The exists API returns true if a document exists, and false otherwise.

Exists Request

edit

It uses GetRequest just like the Get API. All of its optional arguments are supported. Since exists() only returns true or false, we recommend turning off fetching _source and any stored fields so the request is slightly lighter:

GetRequest getRequest = new GetRequest(
    "posts", 
    "doc",   
    "1");    
getRequest.fetchSourceContext(new FetchSourceContext(false)); 
getRequest.storedFields("_none_");                            

Index

Type

Document id

Disable fetching _source.

Disable fetching stored fields.

Synchronous Execution

edit
boolean exists = client.exists(getRequest, RequestOptions.DEFAULT);

Asynchronous Execution

edit

The asynchronous execution of exists request requires both the GetRequest instance and an ActionListener instance to be passed to the asynchronous method:

client.existsAsync(getRequest, RequestOptions.DEFAULT, listener); 

The GetRequest to execute and the ActionListener to use when the execution completes.

The asynchronous method does not block and returns immediately. Once it is completed the ActionListener is called back using the onResponse method if the execution successfully completed or using the onFailure method if it failed.

A typical listener for GetResponse looks like:

ActionListener<Boolean> listener = new ActionListener<Boolean>() {
    @Override
    public void onResponse(Boolean exists) {
        
    }

    @Override
    public void onFailure(Exception e) {
        
    }
};

Called when the execution is successfully completed. The response is provided as an argument.

Called in case of failure. The raised exception is provided as an argument.