У меня есть база данных postgresql. В таблице, которую мне нужно проиндексировать, у меня около 20 миллионов строк. Когда я хочу проиндексировать их все в одной попытке (что-то вроде «select * from table_name»), у меня появляется ошибка Java OutOfMemory, даже если я дам JVM больше памяти.
Есть ли в SOLR возможность индексировать часть таблицы по частям (например, выполнить sql для первых 1000000 строк, затем проиндексировать, а затем выполнить sql для второго миллиона)?
Теперь я использую SQL-запрос с LIMIT. Но каждый раз, когда solr индексирует его, мне нужно вручную запускать его снова.
ОБНОВЛЕНИЕ: Хорошо, сейчас 1.4. Нет исключений OutOfMemory, кажется, Apache проделал очень большую работу над DIH. Кроме того, теперь мы можем передавать параметры через запрос и использовать их в наших SQL-выборках. Ничего себе!