Solr за постоянно обновляемый индекс - PullRequest
1 голос
/ 10 июля 2010

У меня есть новостной сайт с 150 000 новостных статей. Ежедневно в базу данных добавляется около 250 новых статей с интервалом в 5-15 минут. Я понимаю, что Solr оптимизирован для миллионов записей, и мои 150K не будут проблемой для него. Но я волнуюсь, что частое обновление будет проблемой, так как кеш становится недействительным с каждым обновлением. На моем dev-сервере холодная загрузка страницы занимает 5-7 секунд (так как каждая страница выполняет несколько запросов MLT).

Поможет ли это, если я разделю свой индекс на два - индекс архива и последний индекс. Индекс архива будет обновляться один раз в день.

Кто-нибудь может предложить какие-либо способы оптимизации моей установки для постоянно обновляемого индекса?

Спасибо

Ответы [ 2 ]

1 голос
/ 13 июля 2010

Мой ответ: проверь! Не пытайтесь оптимизировать еще, если вы не знаете, как это работает. Как вы сказали, 150K - это не много, нужно быстро составить индекс такого размера для ваших тестов. После этого запустите пару запросов MLT из разных параллельных потоков (для имитации пользователей), пока вы индексируете больше документов, чтобы посмотреть, как они себя ведут.

Один параметр, за которым вы должны следить, - это автоматическая фиксация. Поскольку вы постоянно индексируете, вы не можете зафиксировать каждый документ (вы отключите Solr). Значение, которое вы выберете для этого параметра, позволит вам настроить задержку системы (сколько раз потребуется, чтобы новые документы возвращались в результатах), сохраняя при этом реакцию системы.

0 голосов
/ 16 июля 2010

Подумайте об использовании mlt = true в основном запросе, а не о выдаче за каждый запрос MoreLikeThis.Вы сохраните туда и обратно, и это будет быстрее.

...