如果要计算索引(Elasticsearch的索引)中的文档数,则有(至少?)两种可能性:
count
POST my_index / _count
应该返回中的文档数my_index。
my_index
search
在这里,可以将count用作search_type或其他类型。无论哪种情况,都可以从现场提取总计数['hits']['total']
search_type
['hits']['total']
我的问题是:
不同方法之间有什么区别?我应该选哪一个?
我提出这个问题是因为根据所选择的方法,我会遇到不同的结果。我现在正在调试问题,此问题突然出现。
可能_count会更快一些,因为它不必执行带有排名和结果获取的完整查询,并且只需返回大小即可。
_count
了解更多有关如何获得不同结果的知识会很有趣。为此,我需要更多信息,例如您要发送的确切查询以及索引上是否正在进行任何索引。
但是假设您执行以下操作
_search和_count(匹配所有查询)应返回相同的总数。如果没有,那将很奇怪。
_search