mapper_parsing_exception в Elasticsearch (Причина: для поля [X] не указан тип) - PullRequest
0 голосов
/ 08 июля 2020
• 1000 как:
{
  "error" : {
    "root_cause" : [
      {
        "type" : "mapper_parsing_exception",
        "reason" : "No type specified for field [X]"
      }
    ],
    "type" : "mapper_parsing_exception",
    "reason" : "Failed to parse mapping [_doc]: No type specified for field [X]",
    "caused_by" : {
      "type" : "mapper_parsing_exception",
      "reason" : "No type specified for field [X]"
    }
  },
  "status" : 400
}

Поле X в json документе выглядит так:

"X" : {
      "X" : [
        "a"
      ],
      "Sub_X" : [
        [
          "b"
        ]
      ]
    },

Пожалуйста, помогите мне с этой ошибкой elasti c search mapper_parse_exception.

1 Ответ

1 голос
/ 08 июля 2020

То, что у вас есть, называется вложенный тип данных

У вас есть X, который, в свою очередь, содержит X и Sub_X.

Отображение :

{
  "properties": {
    "X": {
      "type": "nested"
    }
  }
}
    

Данные:

{
  "X": {
    "X": [
      "a"
    ],
    "Sub_X": [
      [
        "b"
      ]
    ]
  }
}

Запрос:

{
  "query": {
    "nested": {
      "path": "X",
      "query": {
        "bool": {
          "must": [
            { "match": { "X.X": "a" }},
            { "match": { "X.Sub_X":  "b" }} 
          ]
        }
      }
    }
  }
}

Выводит документ.

...