将现有集合嵌套在对象中

Nesting existing collection inside object

我正在尝试为 logastash 配置文件正确配置过滤器变异,但我失败了。

  1. 我有一个来自 SQL 的标签数组,像这样的字符串:

    "lunch | mellanmål | middag"

  2. 我配置 mutate 将其拆分成这样的集合:

    mutate { split => ["meal_type_tags", " | "] }

  3. 我正在获取包含预期集合的索引:

    "meal_type_tags" : ["lunch", "mellanmål","middag"]

  4. 我正在尝试重命名以通过添加另一个 mutate 将其嵌套在新的 tags 对象中:

    mutate { rename => "meal_type_tags" => "[tags][meal_type]"}

我期望的指数是:

"tags": { 
        "meal_type" : 
                        [
                            "lunch", 
                            "mellanmål"
                            "middag"
                        ] 
    }

...但我得到的是:

"tags" : [
            [
              "meal_type",
              [
                "middag",
                "lunch"
              ]
            ]
          ]

我不知道为什么,但如果我尝试重命名为 tags,它就是行不通。我更改为 recipe_tags 并且效果如我所料。也许@baudsp 知道更多,因为解决方案的灵感来自于他的评论。