在Sesam中使用DTL将字符串拆分为字符

时间:2017-12-04 13:50:52

标签: sesam

我希望将字符串拆分为单个字符,但很难让DTL正确。

我有:

"foo":"bar"

我希望得到

"foo":["b","a","r"]

1 个答案:

答案 0 :(得分:1)

你可以使用" range"来解决这个问题。和" substring"。表现可能不太好。

{
  "_id": "split-word",
  "type": "pipe",
  "source": {
    "type": "embedded",
    "entities": [{
      "_id": "baz",
      "foo": "bar"
    }]
  },
  "transform": {
    "type": "dtl",
    "rules": {
      "default": [
        ["add", "foo",
          ["map",
            ["substring",
              "_.", ["plus", "_.", 1], "_S.foo"],
            ["range", 0,
              ["length", "_S.foo"]
            ]
          ]
        ]
      ]
    }
  }
}

给出以下结果:

[
  {
    "_id": "baz",
    "foo": [
      "b",
      "a",
      "r"
    ]
  }
]