Индексные файлы json навалом эластичный поиск 5.6

У меня есть папка около 590,035 json файлы. Каждый файл - это документ, который необходимо проиндексировать. Если я индексирую каждый документ с использованием Python, то это занимает более 30 часов. Как быстро проиндексировать эти документы?

Примечание. Я видел массовый API, но для этого требуется объединить все файлы в один, что занимает примерно столько же времени, как указано выше. Подскажите пожалуйста, как улучшить скорость. Благодарю вас.

1 ответ

Если вы уверены, что ввод-вывод является вашим узким местом, используйте потоки для чтения файлов, т.е. ThreadPoolExecutor и либо накапливать для массового запроса, либо сохранять по одному. У ES не будет никаких проблем, пока вы не используете ни уникальные, ни внутренние идентификаторы.

Bulk будет работать быстрее, просто сэкономив ваше время на издержках HTTP, сохранение кода 1 на 1 немного проще для кода.

Другие вопросы по тегам