Преобразователь Elasticsearch 7.6 «invalid_argument_exception» [process.pid] другого типа, current_type [text], merged_type [long] - PullRequest
0 голосов
/ 03 марта 2020

Я загружаю документ в новый экземпляр Elasticsearch. Я использую динамическое отображение c и у меня включено 'numeric_detection'.

Поле, которое вызывает исключение, является числом ...

{
  "processes": [
    {
      "pid": 1,
      "user": "root",
      "pr": 20,
...

Вот отображение индекса ...

{
  "mapping": {
    "_doc": {
      "dynamic": "true",
      "_meta": {},
      "_source": {
        "includes": [],
        "excludes": []
      },
      "dynamic_date_formats": [
        "strict_date_optional_time",
        "yyyy/MM/dd HH:mm:ss Z||yyyy/MM/dd Z"
      ],
      "date_detection": true,
      "numeric_detection": true
    }
  }
}

Любые идеи, почему я получить это исключение?

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Это была проблема с моим документом, а не с ElasticSearch. Процесс, который создал документ, поместил пустой элемент в массив «процессы». Этот пустой элемент имеет «pid» в виде строки, в то время как другие элементы имеют «pid» в виде чисел. Отсюда и исключение.

0 голосов
/ 03 марта 2020

Кажется, что processes.pid уже отображен как текст. Вы вставляли перед документами с полем pid в виде строки?

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