>假设我有很多这样的文档:
{
"foo": "Something",
"bars":
[
{
"identifier": 1,
"content": "meh",
"quantity": 2
},
{
"identifier": 2,
"content": "bah",
"quantity": 1
}
]
}
我将如何查询前 10 个最常出现的柱线[].identifier 考虑到它出现的公式时间 * 数量?
编辑:我实现了这样的事情
{
"size":0,
"aggs":{
"bars":{
"nested":{
"path":"bars"
},
"aggs":{
"top-terms-aggregation":{
"terms":{
"field":"bars.identifier",
"size":10
}
}
}
}
}
}
但仍然不能乘以数量字段。
我使用类似于这个的查询实现了这个:
{
"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"
}
}
}
}
}
}
}
}
我希望这对你有所帮助。