用Elasticsearch做Terms聚合计算数据不准的问题
在上一篇文章 通过某瓣真实案例看 Elasticsearch 优化 写了最近获得的一些优化 Elasticsearch (以下简称 ES) 的经验,也把这些分享给厂内使用 ES 的同事和萨 (SA)。 讨论中萨同事提了一个问题: 话说项目有 topK 这种聚合请求么?记得多分片情况下请求参数不合理可能出现不准确的聚合结果 我当时看完的第一反应是「啥?」,但是同事一提我突然隐约想起来曾经在什么地方看过这个问题。然后一顿搜索找到了官方文档的说明 (延伸阅读链接 1),我详细的说说 聚合的结果不准确的原因 我们假设要聚合符合某要求的 N 个结果 (也就是请求参数中的 size),ES 集群分片数为 S。 ES 分发聚合请求到所有的分片上单独处理,最后汇总结果。在单个分片的聚合过程中会把每个要聚合的...阅读全文
