第三方传过来的message数据中,value字段既可能是单字符串,又可能是数组。elasticsearch该如何设置该字段类型映射

问题遇到的现象和发生背景

第三方传过来的String类型message数据中,value字段既可能是单字符串形式,又可能是数组形式。

问题相关代码,请勿粘贴截图
例如"data": [
        {
          "ciAttrvalue": [
            {
              "value": "办公前置区(32个C)"
            },
            {
              "value": "互联网WEB区(12个C)"
            }
          ]
或"data": [
        {
          "ciAttrvalue": "dddddddddd"
          ]

运行结果及报错内容

"reason":"object mapping for [data.ciAttrvalue] tried to parse field [ciAttrvalue] as object, but found a concrete value"

我的解答思路和尝试过的方法

代码逻辑是,第三方String类型message数据→我方转JSONObject→转DTO→转DO(ciAttrvalue类型为object)→通过实体类存入elasticsearch(ciAttrvalue类型为object)

我想要达到的结果

无论第三方的ciAttrvalue字段传字符串或数组,elasticsearch都能存