计算字段和聚合字段

时间:2016-12-02 19:12:21

标签: elasticsearch

我必须运行复杂的聚合,其中一个步骤是计算sold_qty字段的总和,然后我需要用非聚合字段all_qty减去此总和。我的数据如下:

{item_id: XXX, sold_qty: 1, all_qty: 20, price: 100 }
{item_id: XXX, sold_qty: 3, all_qty: 20, price: 100 }
{item_id: YYY, sold_qty: 1, all_qty: 20, price: 80 }

这些是来自报价的交易。 all_qty和price字段是多余的 - 表示来自其他结构的单个值 - 提供并且仅在单个商品的所有交易中重复(由item_id标识)。

在SQL方面,我需要的是:

SELECT (all_qty - sum(sold_qty)) * price GROUP BY item_id

我所做的是聚合

'{
"query": {"term": {"seller": 9059247}},
"size": 0,
"aggs": {
  "group_by_offer": {
    "terms": { "field": "item_id", size: 0},
    "aggs": { "sold_sum": {"sum": {"field": "sold_qty"}}}
}
}
}'

但我不知道接下来要做什么来实现我的目标。

0 个答案:

没有答案