在弹性搜索中自动合并/汇总数据

Han*_*ink 6 rollup elasticsearch

有没有一种简单的方法可以从另一个索引的聚合结果中创建一个新索引(也许可以合并它们).

我有一个大型索引,产品类似.他们有一个产品ID来识别哪些产品属于一起,但他们有不同的URL /价格和不同的标题(我想在合并中以某种方式保存,以便我可以搜索它).

因此,如果我输入8个产品系列,我很乐意将其全部汇总到1个带有类似产品数据的嵌套数组的产品中.

我尝试使用以下作业的汇总API.但我无法按照我想要的方式进行,我感觉这只是历史/日志数据.我的所有数据都是一样的,timestamp因为我每天早上更新所有这些数据.

PUT _xpack/rollup/job/product
{
  "index_pattern": "products",
  "rollup_index": "products_rollup",
  "cron": "*/30 * * * * ?",
  "page_size": 1000,
  "groups": {
    "date_histogram": {
      "field": "timestamp",
      "interval": "7d"
    },
    "terms": {
      "fields": [
        "product_id"
      ]
    }
  },
  "metrics": [
    {
      "field": "total_price",
      "metrics": [
        "min",
        "max",
        "sum"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Dav*_*man 1

目前,rollup API 主要用于及时汇总数值数据。不合并文档。在您的情况下,我将合并应用程序级别的文档,并获取一个包含nested object.