背景
在对ES某个筛选字段聚合查询,类似groupBy操作后,发现该字段新增的数据,聚合结果没有展示出来,但是用户在全文检索新增的筛选数据后,又可以查询出来, 针对该问题进行了相关排查。...},
{
"key" : 21,
"doc_count" : 2
}
]
}
}
经过观察发现聚合结果确实没有我们新增的筛选项...经过查询发现有段描述:
就是只会返回top结果, 部分结果不响应返回
那如何让这部分结果返回呢?
带着问题, 发现使用桶聚合,默认会根据doc_count 降序排序,同时默认只返回10条聚合结果....},
{
"key" : 241,
"doc_count" : 1
}
]
}
把ES所有的筛选项数据都统计返回来...以我们上面遇到的场景为例:
默认返回top 10 聚合结果, 首先在各节点分片取自己的topic 10 返回给协调节点,然后协调节点进行汇总. 这样就会导致全量的实际聚合结果跟预期的不一致.