Elasticsearch中的自定义直方图聚合

2024-06-13 16:50:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下结构的索引

item_id: unique item id
sale_date: date of the date
price: price of the sale wrt the date

我想创建一个每个项目的最新销售价格直方图。聚合项item_id和最后或最新price的直方图

我的第一个选择是term聚合item_id并从top_hits中选择price大小为1的sale_datedesc并在python端创建直方图。你知道吗

但是。 因为数据是在一个月内的千万条记录中。及时下载所有sources来执行直方图是不可行的。你知道吗

注意:有些商品每天出售,有些则在不同的时间间隔出售。这使得挑选最新的sale_date变得很棘手

更新

输入:基于项目的销售时间序列数据。你知道吗

输出:根据最新信息,项目计数的历史图表位于特定的价格桶中


Tags: ofthe数据项目iddate时间sale
1条回答
网友
1楼 · 发布于 2024-06-13 16:50:00

我使用了类似的case,可以使用maxaggs和date类型,也可以基于嵌套的aggsorder聚合,如下所示:

"aggs": {
  "item ID": {
    "terms": {
      "field": "item_id",
      "size": 10000
    },
    "aggs": {
      "price": {
        "terms": {
          "field": "price",
          "size": 1,
          "order": {
            "sale_date": "desc"
          }
        },
        "aggs": {
          "sale_date": {
            "max": {
              "field": "sale_date"
            }
          }
        }
      }
    }
  }
}

我希望这会对你有所帮助,如果对你有用,我希望你能告诉我。你知道吗

相关问题 更多 >