现在我有这样的查询:
{ "query": { "bool": { "must": [ { "match": { "uuid": "xxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxxx" } }, { "range": { "date": { "from": "now-12h", "to": "now" } } } ] } }, "aggs": { "query": { "terms": [ { "field": "query", "size": 3 } ] } } }
聚合效果非常好,但我似乎无法找到一种方法来控制返回的命中数据,我可以使用dsl顶部的size参数,但返回的命中不会返回以桶为单位,因此桶结果不符合命中结果.有没有办法纠正这个问题,还是我必须发出2个单独的查询?
为了扩展Filipe的答案,看起来top_hits聚合就像你要找的那样,例如
{ "query": { ... snip ... }, "aggs": { "query": { "terms": { "field": "query", "size": 3 }, "aggs": { "top": { "top_hits": { "size": 42 } } } } } }