В данный момент у меня есть таблица с примерно 100 000 строк.Я хочу проиндексировать данные в этой таблице в индексе Solr.
Таким образом, наивный метод будет:
- Получить все строки
- Для каждой строки: преобразовать в SolrDocument и добавить каждый документ в запрос
- После того, как все строки будут преобразованы, отправьте запрос
Некоторые проблемы с этим подходом, о которых я могу думать:
- Загрузка слишком большого количества данных (содержимого всей таблицы) в память
- Отправка большого запроса
Однако, некоторые преимущества:
- Только один запрос к базе данных
- Только один запрос POST к Solr
Подход не масштабируемый, я вижу, что с ростом таблицы память будет растиТребования и размер запроса POST.Возможно, мне нужно взять n
количество строк, обработать их, затем взять следующие n
?
Интересно, есть ли у кого-нибудь какие-либо советы о том, как лучше всего реализовать это?
(ps. Я выполнил поиск по сайту, но не нашел вопросов, похожих на этот.)
Спасибо.