假设我有很多这样的文件:
{
"foo": "Something",
"bars":
[
{
"identifier": 1,
"content": "meh",
"quantity": 2
},
{
"identifier": 2,
"content": "bah",
"quantity": 1
}
]
}
如果考虑公式出现次数*数量,我如何查询前10个最强柱[]。标识符?
编辑:我实现了类似的目标
{
"size":0,
"aggs":{
"bars":{
"nested":{
"path":"bars"
},
"aggs":{
"top-terms-aggregation":{
"terms":{
"field":"bars.identifier",
"size":10
}
}
}
}
}
}
但仍不能乘以数量字段。
答案 0 :(得分:1)
我使用与此类似的查询实现了这一目标:
{
"query": {
"match_all": {}
},
"size": 0,
"aggs": {
"bars": {
"nested": {
"path": "bars"
},
"aggs": {
"bars_group": {
"terms": {
"field": "bars.identifier",
"size": 10,
"order": {
"count_bars": "desc"
}
},
"aggs": {
"count_bars": {
"sum": {
"field": "bars.quantity"
}
}
}
}
}
}
}
}
我希望这对你有帮助。