在ElasticSearch 5.x索引中有很多文档:
{
"price": 5.1,
"property": 5,
"key": "some-key1"
},
{
"price": 7.1,
"property": 5,
"key": "some-key2"
}
price
和property
是数字,key
在{Elastic}中有keyword
类型。
我可以轻松地将它们聚合为一个字段price
,按property
字段分组。
但我想在按属性字段分组的数组中汇总key
值。
以下是一个例子:
{
"aggs" : {
"by_property" : {
"terms": { "field": "property" }
"aggs": {
"sum_by_property": {
"sum" : { "field" : "price" }
}
}
}
}
}
这将返回按字段price
property
的总和
如何修改查询以使其在数组中返回key
值?按字段property
分组:
{
"key": 5,
"sum_by_property": { "value": 12.2 },
"keys_array": { "value": ["some-key1", "some-key2"] } //how to get this?
}