Индексные файлы json навалом эластичный поиск 5.6
У меня есть папка около 590,035 json
файлы. Каждый файл - это документ, который необходимо проиндексировать. Если я индексирую каждый документ с использованием Python, то это занимает более 30 часов. Как быстро проиндексировать эти документы?
Примечание. Я видел массовый API, но для этого требуется объединить все файлы в один, что занимает примерно столько же времени, как указано выше. Подскажите пожалуйста, как улучшить скорость. Благодарю вас.
1 ответ
Если вы уверены, что ввод-вывод является вашим узким местом, используйте потоки для чтения файлов, т.е. ThreadPoolExecutor
и либо накапливать для массового запроса, либо сохранять по одному. У ES не будет никаких проблем, пока вы не используете ни уникальные, ни внутренние идентификаторы.
Bulk будет работать быстрее, просто сэкономив ваше время на издержках HTTP, сохранение кода 1 на 1 немного проще для кода.