2010-07-10 5 views
1

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

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

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

Thanks

+0

Можете ли вы указать, сколько из них «несколько запросов MLT»? Сколько всего запросов Solr выполняется на странице? –

+0

какую клиентскую платформу вы используете? –

+0

Мой локальный сервер-сервер - Mac. Производственным сервером является CentOS. Индексная страница раздела содержит 20 статей с запросом MLT для каждой статьи. В то время как страница статьи содержит два запроса MLT. –

ответ

1

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

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

+0

Мне нравится идея настройки вашего интервала COMMIT. Вы должны иметь возможность постоянно добавлять документы и просто COMMIT через регулярные промежутки времени. Затем вы платите только повторный кеш за один интервал. –

0

Рассмотрите возможность использования mlt = true в основном запросе вместо того, чтобы выдавать результат за результат. Больше запросовLikeThis. Вы сохраните обратные вызовы, и это будет быстрее.

Смежные вопросы