Каков наилучший способ переиндексировать только модели, которые изменились во время простоя Solr? - PullRequest
3 голосов
/ 04 мая 2011

если у меня есть миллионы записей пользователя с некоторыми текстовыми полями, индексируемыми для поиска при создании и обновлении, как я могу вернуться и переиндексировать те несколько записей, которые никогда не делались для решения?

т.е. Что делать, если solr отключается на несколько минут в течение дня, и около 300 записей из миллионов никогда не индексируются.

Я не хочу переиндексировать миллионы записей, только 300.

1 Ответ

5 голосов
/ 04 мая 2011

Хороший способ справиться с этим - просто вставить идентификаторы записей в таблицу очередей при создании и обновлении, а затем запустить процесс для индексации записей позже.Таким образом, если Solr выйдет из строя, вам не нужно беспокоиться о том, какие записи не были обработаны, они просто будут оставаться в очереди, пока не будут обработаны.Преимущество этого заключается в том, что вашей базе данных не нужно ждать завершения обновления solr, прежде чем завершить транзакцию.Недостатком является то, что Solr не идеально синхронизируется с тем, что находится в базе данных.Вы можете настроить частоту запуска программы чтения очереди в соответствии с вашими потребностями.

...