如何检查Elasticsearch中索引是否为空?

时间:2017-02-15 13:30:51

标签: elasticsearch

在我想知道的java应用程序中,我的索引是否为空(包含零文档或包含至少一个文档)。

我有一种感觉,即计算所有文档(通过发送大小为0的搜索请求)是不可读的,并且可能不是最佳的性能。

是否有专门的方法来检查索引是否为空?

1 个答案:

答案 0 :(得分:1)

您可以使用以下Java代码执行此操作:

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

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

其中clientorg.elasticsearch.client.ClientINDEXString,代表索引的名称。

有趣的是,一些简单的测试显示,平均而言,此请求比执行MatchAllDocsQuery快20%。但我不确定这是否是正确的测试。也许我以后会做一个合适的