У меня есть следующие документы, хранящиеся в elasticsearch: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
}
}
}
}
}
}
Но агрегация max_run_number с размером = 1 только ограничивает вложенные ведра, которые возвращаются. Это все равно возвращает все хиты.