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

第三方传过来的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日

    悬赏问题

    • ¥15 关于#hadoop#的问题
    • ¥15 (标签-Python|关键词-socket)
    • ¥15 keil里为什么main.c定义的函数在it.c调用不了
    • ¥50 切换TabTip键盘的输入法
    • ¥15 可否在不同线程中调用封装数据库操作的类
    • ¥15 微带串馈天线阵列每个阵元宽度计算
    • ¥15 keil的map文件中Image component sizes各项意思
    • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
    • ¥15 划分vlan后,链路不通了?
    • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据