如果想计算(Elasticsearch 的)索引中的文档数量,那么有(至少?)两种可能性:
直接
计数
发布 my_index/_count
应该返回
my_index
中的文档数。使用
搜索
这里可以使用
count
作为search_type
或其他类型。在任何一种情况下,总计数都可以从字段['hits']['total']
中提取
我的问题是:
不同方法之间有什么区别?哪一个 我应该更喜欢?
我提出这个问题是因为我遇到了不同的结果 取决于选择的方法。我现在正在调试 问题,然后弹出这个问题。
最佳答案
_count
可能要快一点,因为它不必执行带有排名和结果获取的完整查询,并且可以简单地返回大小。
不过,如果能多了解一下您是如何设法获得不同结果的,那将会很有趣。为此,我需要更多信息,例如您要发送的确切查询以及索引是否正在进行索引。
但假设您执行以下操作
- 索引一些文档
- 刷新索引
_search
和 _count
(匹配所有查询)应该返回相同的总数。如果不是,那就太奇怪了。
关于elasticsearch - 使用 Elasticsearch 计算文档数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25739888/