如何将每个文档的计数乘以其中的值



>假设我有很多这样的文档:

{
    "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"
                            }
                        }
                    }
                }
            }
        }
    }
}

我希望这对你有所帮助。

相关内容

  • 没有找到相关文章

最新更新