2017-02-15 30 views
0

在一個java應用程序中,我想知道我的索引是否爲空(包含零個文檔或至少包含一個文檔)。如何檢查Elasticsearch中的索引是否爲空?

我覺得,計數所有文件(通過發送大小爲0的搜索請求)是不可讀的,可能不是最佳的性能。

是否有專門的方法來檢查索引是否爲空?

回答

1

你可以做到這一點與下面的Java代碼:

IndicesStatsResponse indicesStatsResponse = client().admin().indices().prepareStats(INDEX).get(); 

indicesStatsResponse.getIndices().get(INDEX).getTotal().docs.getCount()); 

其中clientorg.elasticsearch.client.ClientINDEXString,代表了指數的名稱。

有趣的是,一些簡單的測試表明,平均來說,這個請求比做MatchAllDocsQuery要快20%。但我不確定這是否是一個正確的測試。也許我會稍後做一個適當的