我在elasticsearch中存储了以下文档:
{
run_number: 3,
vendor: v_a,
data: blah
},
{
run_number: 2,
vendor: v_b,
data: blah
},
{
run_number: 2,
vendor: v_b,
data: blah2
},
{
run_number: 1,
vendor: v_a,
data: blah
},
{
run_number: 1,
vendor: v_b,
data: blah
}
我正在尝试针对此运行搜索查询,该查询返回每个供应商的最近运行的文档。在这个例子中,我想返回前3个文档(因为它们具有给定供应商的max' run_number')。
我目前的查询是:
{
"size": 500,
"aggs": {
"group_by_vendor": {
"terms": {
"field": "vendor"
},
"aggs": {
"max_run_number": {
"terms": {
"field": "run_number",
"order": {"_term": "desc"},
"size": 1
}
}
}
}
}
}
但是size_run_number聚合的大小= 1仅限制返回的嵌套存储桶。这仍然会返回所有命中。