Использование Sunspot для генерации индексных представлений - это умно? - PullRequest
0 голосов
/ 19 июня 2011

В настоящее время мы разрабатываем приложение, в котором несколько индексных представлений используют множество виртуальных атрибутов. В то же время нам требуется функциональность полнотекстового поиска.

Решение, которое мы выбрали, заключается в использовании Sunspot / Solr для индексации моделей, включая виртуальные атрибуты. Затем мы используем Sunspot для извлечения правильных записей, их сортировки, поиска и т. Д. Все это очень хорошо работает в наших настройках разработки.

Очевидно, что этот подход требует, чтобы мы поддерживали синхронизацию индекса Solr с базой данных, или f.e. пользователь не увидит свою вновь созданную запись в списке на странице индекса. Чтобы добиться этого, мы заставляем индексные действия в разных точках приложения.

Прежде чем мы разработаем это решение, я просто хотел проверить, есть ли проблемы с использованием Sunspot таким образом. В частности, если приложение станет больше, придется ли поддерживать идеальную синхронизацию индекса, чтобы начать действовать?

Кажется, это очень хороший способ работы с виртуальными атрибутами на индексных страницах, но я хочу убедиться, что не очень хорошо быть правдой ...

Спасибо за нашу помощь
Эрвин

1 Ответ

0 голосов
/ 20 июня 2011

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

...