【问题标题】:Elasticsearch object mapping for tried to parse field [null] as object, but found a concrete valueElasticsearch 对象映射尝试将字段 [null] 解析为对象,但找到了具体值
【发布时间】:2020-10-02 07:21:36
【问题描述】:

如何使用 AWS 上的 elasticsearch 更改映射或输入以解决这些错误,

映射:

{
    "index_patterns": ["*-students-log"],
    "mappings": {
        "properties": {
            "Data": {
                "type": "object",
                "properties": {
                    "PASSED": {
                        "type": "object"
                    }
                }
            },
            "insertion_timestamp": {
                "type": "date",
                "format": "epoch_second"
            }
        }
    }
}

我的数据:

curl -XPOST -H 'Content-Type: application/json' https://******.us-east-1.es.amazonaws.com/index_name/_doc/1 -d '{"Data": {"PASSED": ["Vivek"]},"insertion_timestamp": 1591962493}'

我得到的错误:

{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"object mapping for [Data.PASSED] tried to parse field [null] as object, but found a concrete value"}],"type":"mapper_parsing_exception","reason":"object mapping for [Data.PASSED] tried to parse field [null] as object, but found a concrete value"},"status":400}

上述数据中缺失或错误的部分是什么?我应该将任何其他数据类型用于字符串数组吗? 任何帮助将不胜感激...

【问题讨论】:

    标签: amazon-web-services elasticsearch aws-elasticsearch elasticsearch-mapping


    【解决方案1】:

    JSON 数组在被摄取到 Elasticsearch 时被视为 JSON 对象

    关于arrays 的文档声明如下:

    没有专用的数组数据类型。任何字段都可以包含零或 默认情况下有更多值,但是,数组中的所有值都必须是 相同的数据类型。

    因此,不要将整个数组声明为 object,而是直接指定数组条目的数据类型 (text):

    PUT abc-students-log
    {
      "mappings": {
        "properties": {
          "Data": {
            "type": "object",
            "properties": {
              "PASSED": {
                "type": "text"   
              }
            }
          },
          "insertion_timestamp": {
            "type": "date",
            "format": "epoch_second"
          }
        }
      }
    }
    
    POST abc-students-log/_doc
    {
      "Data": {
        "PASSED": [
          "Vivek"
        ]
      },
      "insertion_timestamp": 1591962493
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      相关资源
      最近更新 更多