Я создал отображение следующим образом:
PUT cars
{
"mappings":{
"_doc":{
"properties":{
"metadata":{
"type":"nested"
}
}
}
}
}
Затем я вставляю документ:
PUT /cars/_doc/1
{
"metadata":[
{
"key":"price",
"value":20000
},
{
"key":"miles",
"value":1000
}
]
}
Теперь я хочу получить сумму всех цен (здесь есть только один документ, но я все еще думаю, что этого достаточно, чтобы показать смысл).
Я пробовал:
GET cars/_doc/_search
{
"aggs": {
"metadata": {
"nested": {
"path": "metadata"
},
"aggs": {
"prices": {
"sum": {
"field": "metadata.value"
}
}
}
}
}
}
Но это включает в себя miles
, который я не хочу.
Как добавить фильтр, чтобы в мой запрос входил только price
, то есть, как получить запрос, возвращающий 20 000, а не 21 000?