我曾使用弹性搜索版本0.19中的以下代码检索索引中的文档数量
private long getNumberOfDocuments(String indexName) {
IndicesStatusResponse response =
client.admin().indices().prepareStatus(indexName).execute().actionGet();
return response.getIndex(indexName).getDocs().getNumDocs();
}
但由于不推荐使用IndiceStatusResponse,我不想再使用它了,我建议使用RecoveryResponse,但不确定如何使用Recovery API获取文档数量。
请帮忙。
答案 0 :(得分:2)
要获取索引的实际文档数,您应该使用count api。
status提供的文档数实际上将嵌套文档计为单个文档,类似于indices stats api提供的文档。
因此,如果您需要上述状态行为,则可以使用 indices stats 。
Recovery Api 不会为您提供此数据。