Как обрабатывать пустые имена полей в ElasticSearch? - PullRequest
0 голосов
/ 17 мая 2018

Я хотел бы зарегистрировать входные данные пользователя в мой RESTful API для целей отладки, но всякий раз, когда в полезной нагрузке JSON есть пустое поле, генерируется ошибка и журнал отбрасывается.

Например,

{
  "extra": {
    "request": {
      "body": {
        "": ""
      }
    }
  }
}

... приведет к

{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "failed to parse"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "failed to parse",
    "caused_by": {
      "type": "illegal_argument_exception",
      "reason": "field name cannot be an empty string"
    }
  },
  "status": 400
}

Кажется, это вызвано https://github.com/elastic/elasticsearch/blob/45e7e24736eeb4a157ac89bd16a374dbf917ae26/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java#L191.

Это немного сложно, так как это происходит на этапе синтаксического анализа.Есть ли обходной путь для удаления / переименования таких полей, чтобы ES мог переварить эти журналы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...