梦想仗剑走天涯 2021-12-03 10:15 采纳率: 0%
浏览 14
已结题

第三方传过来的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都能存

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 12月9日
    • 创建了问题 12月3日