Elasticsearch Java High Level REST Client(Exists API)

Exists API

若是文档存在,则existsAPI返回true,不然返回falsesegmentfault

Exists请求

它就像Get API同样使用GetRequest,支持全部可选参数,因为exists()只返回truefalse,咱们建议关闭获取_source和任何存储的字段,以便请求稍微轻一点:异步

GetRequest getRequest = new GetRequest(
    "posts", 
    "doc",   
    "1");    
getRequest.fetchSourceContext(new FetchSourceContext(false)); 
getRequest.storedFields("_none_");
  • posts — 索引。
  • doc — 类型。
  • 1 — 索引id。
  • FetchSourceContext(false) — 禁用提取_source
  • storedFields("_none_") — 禁用提取存储的字段。

同步执行

如下列方式执行GetRequest时,客户端在继续执行代码以前等待返回booleanide

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

异步执行

执行GetRequest也能够以异步方式完成,以便客户端能够直接返回,用户须要经过将请求和侦听器传递给异步exists方法来指定响应或潜在故障的处理方式:post

client.existsAsync(getRequest, RequestOptions.DEFAULT, listener);
  • 要执行的GetRequest和执行完成时要使用的ActionListener

异步方法不会阻塞并当即返回,完成后,若是执行成功完成,则使用onResponse方法回调ActionListener,若是失败则使用onFailure方法。fetch

exists的典型侦听器以下所示:code

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

    @Override
    public void onFailure(Exception e) {
        
    }
};
  • onResponse — 执行成功完成时调用。
  • onFailure — 在整个GetRequest失败时调用。

上一篇:Get API

下一篇:Delete API

相关文章
相关标签/搜索