Я пытаюсь воспроизвести фильтрованное агрегирование в примере ниже: здесь я пытаюсь отфильтровать документы, соответствующие имени конвейера, и найти максимальную продолжительность выполнения среди этих конвейеров.
{
"_source" : {"excludes": ["stderr"]},
"aggs" : {
"max_duration_filtered" : {
"filter" : {
"term": {
"pipeline": "{name_of_pipeline}"
}
},
"aggs" : {
"max_duration" : {
"max" : {
"field" : "duration"
}
}
}
}
}
}
Вызов этого возвращает следующий вывод вместе с 1 попаданием (я также передал размер = 1)
{
"took" : 5,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 63643,
"max_score" : 1.0,
"hits" : [
{
"_index" : "{name-of-index}",
"_type" : "raw_data",
"_id" : "{an-id}",
"_score" : 1.0,
"_source" : {
"duration" : 42.8,
"pipeline" : "{a-different-pipeline}",
"buildNumber" : {build-number-integer}
}
}
]
},
"aggregations" : {
"max_duration_filtered" : {
"doc_count" : 0,
"max_duration" : {
"value" : null
}
}
}
}
Мне бы очень хотелось понять, почему значение максимальной продолжительности равно нулю. Кажется, я довольно тщательно отразил то, что было в документах. Есть ли что-нибудь, что я могу попытаться исправить? Спасибо!