Я новичок в ES и борюсь с вложенными агрегатами.
Вот мой фиктивный объект данных ([Вот мой объект данных] [1] [1]: https://i.stack.imgur.com/X7oaM.png). Я просто пытаюсь получить минимальную стоимость из «современного» поля.
Я прочитал следующие сообщения о проблеме, которую пытаюсь решить. Никто из них не помог мне решить проблему
- Эластичный поиск 6 вложенных запросов
- https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-nested-aggregation.html
- https://madewithlove.be/elasticsearch-aggregations/
- https://iridakos.com/tutorials/2018/10/22/elasticsearch-bucket-aggregations.html
- https://github.com/elastic/elasticsearch/issues/9317
Более того, я искал весь стекопоток и не имел успеха ( да , я пробовал практически все решения, с которыми сталкивался, но безуспешно).
В соответствии с документами и указанными выше постами и т. Д. Вложенная агрегация должна выполняться следующим образом:
GET /loquesea/_search
{
"size": 0,
"aggs": {
"modern_costs": {
"nested": {
"path": "modern"
},
"aggs": {
"min_cost": {
"min": {
"field": "modern.cost1"
}
}
}
}
}
}
Однако по завершении я получаю вот что:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 3,
"max_score" : 0.0,
"hits" : [ ]
},
"aggregations" : {
"modern_costs" : {
"doc_count" : 0
}
}
}
Я часами пытался сделать простую работу с вложенным агрегированием. Что я делаю не так?