"key" : 21,
"doc_count" : 2
}
]
}
}
经过观察发现聚合结果确实没有我们新增的筛选项, 同时返回的数据只有...经过查询发现有段描述:
就是只会返回top结果, 部分结果不响应返回
那如何让这部分结果返回呢?
带着问题, 发现使用桶聚合,默认会根据doc_count 降序排序,同时默认只返回10条聚合结果....},
{
"key" : 241,
"doc_count" : 1
}
]
}
把ES所有的筛选项数据都统计返回来...以我们上面遇到的场景为例:
默认返回top 10 聚合结果, 首先在各节点分片取自己的topic 10 返回给协调节点,然后协调节点进行汇总. 这样就会导致全量的实际聚合结果跟预期的不一致....总结
本文主要针对实际工作的应用问题,来排查解决ES聚合数据部分数据未展示问题, 同时对ES的聚合检索原理进行讲解 .在数据量大、聚合精度要求高、响应速度快的业务场景ES并不擅长.