聚合分页
ES支持同时返回查询结果和聚合结果,前面的博客在介绍聚合查询时,查询结果和聚合结果各自封装在不同的子句中。但有时我们希望聚合的结果按照每组选出前N个文档的方式进行呈现,最常见的一个场景就是电商搜索,如搜索苹果手机6S,搜索结果应该展示手机6S型号中的一款手机即可,而不论该型号手机的颜色有多少种。另外,当聚合结果和查询结果封装在一起时,还需要考虑对结果分页的问题,此时之前的博客介绍的聚合查询就不能解决这些问题了。
ES提供的Top hits
聚合和Collapse
聚合可以满足上述需求,但是这两种查询的分页方案是不同的。
1.1 Top hits聚合
Top hits
聚合指的是聚合时在每个分组内按照某个规则选出前N个文档进行展示。
例如,搜索”金都“时,如果希望按照城市分组,每组按照匹配分数降序展示3条文档数据,DSL如下:
# Top hits聚合
GET /hotel_poly/_search
{
"query"</
标签:hits,聚合,分页,结果,Top,查询,ElasticSearch
From: https://blog.csdn.net/qq_43753724/article/details/138119343