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

相關文章
相關標籤/搜索