Команда CURL не индексирует большие данные вasticsearch - PullRequest
0 голосов
/ 21 мая 2018

Я экспортировал группу данных (500 000 записей) из устаревшей базы данных RDBMS в плоский файл в формате json, например:

{"index", {"_id": 1}}
{"Name": "Jack"}
...
{"index", {"_id": 500000}}
{"Name": "Joe"}

Я пытаюсь проиндексировать этот файл в Elasticsearch с помощью CURLкоманда, но команда CURL просто завершается без индексации каких-либо данных и без каких-либо сообщений.

Это команда CURL:

curl -XPUT "localhost:9200/person/_doc/_bulk" -H "Content-Type: application/json" --data-binary "@person_data.json"

Кто-нибудь может подсказать, что я делаю неправильно?или команда CURL не способна отправлять большие данные (хотя их размер составляет примерно 175 МБ)?

Я выполняю большой запрос на соединение, который занимает много времени при получении всех строк 500 КБ из СУБД.Затем я экспортирую эти записи в файл в формате json, чтобы их мог использовать массовый API эластичного поиска.Однако, как я вижу, команда CURL просто не может индексировать такие огромные данные без какого-либо сообщения об ошибке.

В таком случае существует ли какой-либо инструмент с графическим интерфейсом или консолью для индексации данных в большом количестве?

1 Ответ

0 голосов
/ 22 мая 2018

В Elasticsearch есть параметр http.max_content_length, который настраивает максимальный размер содержимого http.

По умолчанию он равен 100 МБ, поэтому его нельзя правильно проиндексировать.Итак, вам нужно изменить его и перезапустить Elasticsearch.Максимально возможное значение Integer.MAX_VALUE.

Более подробная информация о нем - https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html

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