Ошибка mapper_parsing_exception для массива JSON при добавлении в ES - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь создать массив объектов в ES, используя приведенный ниже код. Остальные параметры вставляются правильно, кроме этого параметра. Я думаю, что это из-за проблемы с типом данных

 var body = {
      "expertise": [{
          "productName": "solution architecture"
        },
        {
          "productName": "product architecture"
        }
      ]
    }

 client.index({
  index: index,
  type: type,
  body: body
}, function(error, resp, status) {
  if (error) {
    console.log(error);
    callback(error);
  }
  console.log('success');
  callback(null, event);
});

ES поддерживает тип данных массива JSON https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html, тогда почему я получаю такую ​​ошибку.

Ошибка, которую я получаю

 "errorMessage": "[mapper_parsing_exception] failed to parse [expertise]",
  "errorType": "Error",
  "stackTrace": [
    "respond (/var/task/node_modules/elasticsearch/src/lib/transport.js:308:15)",
    "checkRespForFailure (/var/task/node_modules/elasticsearch/src/lib/transport.js:267:7)",
    "HttpConnector.<anonymous> (/var/task/node_modules/elasticsearch/src/lib/connectors/http.js:165:7)",

1 Ответ

0 голосов
/ 14 января 2019

Разрешается изменением ключа.

"expertises":  [ // instead of expertise i used expertises
        {
          "productName": "solution architecture"
        },
        {
          "productName": "product architecture"
        }
      ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...