Решение, которое я использую в аналогичной проблеме, заключается в обновлении этой информации в базе данных и выполнении обновлений / вставок SOLR каждые десять минут с использованием документов, которые были изменены с момента последнего обновления.
Также каждую ночь, когда у меня мало трафика, я оптимизирую индексирование.
После каждого импорта я настраивал несколько разогревающих запросов в конфигурации SOLR.
В моем индексе SOLR у меня есть около 1,5 миллионов документов, каждый документ имеет 24 поля и около 2000 символов во всем документе.
Я обновляю индекс каждые 10 минут около 500 документов (без оптимизации индекса) и делаю около 50 разогревающих запросов, состоящих из самых распространенных аспектов, наиболее часто используемых запросов фильтра и поиска в свободном тексте.
Я не получаю негативного влияния на производительность. (по крайней мере, это не видно) - мои запросы выполняются в среднем за 0,1 секунды. (до обновления каждые 10 минут среднее количество запросов составляло 0,09 секунды)
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ:
Я не столкнулся с какими-либо проблемами во время этого обновления. Я всегда беру документы из базы данных и вставляю их с уникальным ключом в SOLR. Если документ существует в SOLR, он заменяется (это я имею в виду под обновлением).
Обновление SOLR никогда не занимает более 3 минут. На самом деле я делаю 10 минут перерыв после каждого обновления. Итак, я запускаю обновление индекса, жду, пока он завершится, и затем жду еще 10 минут, чтобы начать снова.
Я не смотрел на производительность ночью, но для меня это не актуально, так как я хочу получать свежую информацию о данных во время пиков посещений пользователей.