отображение дампа из ES 2.1 в ES 7.2 - PullRequest
0 голосов
/ 25 января 2020

Я новичок вasticsearch, но действительно нужна помощь, чтобы решить эту проблему. Я пытаюсь перенести все индексы и данные из ES 2.1.1 (порт 6200) в ES 7.2.1 (порт 9200), и когда я запускаю эту команду, тогда возникает проблема. Кто-нибудь может помочь? Ты

Mac$ elasticdump \
>   --input=http://localhost:6200/twitter \
>   --output=http://localhost:9200/twitter \
>   --type=analyzer
Fri, 24 Jan 2020 20:38:23 GMT | starting dump
Fri, 24 Jan 2020 20:38:24 GMT | got 1 objects from source elasticsearch (offset: 0)
Fri, 24 Jan 2020 20:38:56 GMT | sent 1 objects to destination elasticsearch, wrote 1
Fri, 24 Jan 2020 20:38:56 GMT | got 0 objects from source elasticsearch (offset: 1)
Fri, 24 Jan 2020 20:38:56 GMT | Total Writes: 1
Fri, 24 Jan 2020 20:38:56 GMT | dump complete

Mac$ elasticdump \
>   --input=http://localhost:6200/twitter \
>   --output=http://localhost:9200/twitter \
>   --type=mapping
Fri, 24 Jan 2020 20:39:45 GMT | starting dump
Fri, 24 Jan 2020 20:39:45 GMT | got 1 objects from source elasticsearch (offset: 0)
Fri, 24 Jan 2020 20:39:46 GMT | Error Emitted => {"root_cause":[{"type":"mapper_parsing_exception","reason":"No handler for type [string] declared on field [display_url]"}],"type":"mapper_parsing_exception","reason":"No handler for type [string] declared on field [display_url]"}
Fri, 24 Jan 2020 20:39:46 GMT | Error Emitted => {"root_cause":[{"type":"mapper_parsing_exception","reason":"No handler for type [string] declared on field [display_url]"}],"type":"mapper_parsing_exception","reason":"No handler for type [string] declared on field [display_url]"}
Fri, 24 Jan 2020 20:39:46 GMT | Total Writes: 0
Fri, 24 Jan 2020 20:39:46 GMT | dump ended with error (get phase) => [object Object]

1 Ответ

1 голос
/ 25 января 2020

Это связано с тем, что поле display_url имеет тип string, а в ES 5.0 оно изменилось на text. Поэтому вам нужно заменить все вхождения от string до text в вашем отображении, прежде чем пытаться отправить это в ES 7.

Так что вам нужно сделать это в два шага:

Mac$ elasticdump \
>   --input=http://localhost:6200/twitter \
>   --file=twitter-mapping.json \
>   --type=mapping

Затем измените все string вхождения на text, и затем вы можете отправить отображение.

Mac$ elasticdump \
>   --file=twitter-mapping.json \
>   --output=http://localhost:9200/twitter \
>   --type=mapping
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...