Некоторое время мы используем драгоценный камень Solr от sunspot в режиме разработки. Теперь приложение необходимо перенести в производственную среду.
Есть ли какие-либо недостатки в настройке solr в производственной среде с использованием встроенного гема sunspot?
Мне вообще нравится идея tomcat + solr, но ее сложнее настроить.
Собрать драгоценный камень Sunspot в комплекте очень просто. При условии, что у нас есть 1 проект rails в 3 этапа (постановка, производство, контроль качества), 2 сервера приложений и один сервер db/solr, необходимо :
- отправить проект rails на сервер db
- запустить solr на сервере db в рабочей среде с пакетом exec rake sunspot:solr:start for (мы просто используем разные порты для каждого экземпляра solr)
- переиндексировать с помощью rake sunspot:solr:reindex
- измените sunspot.yml для сервера приложений, чтобы они подключались к серверу БД через определенный порт этапа
Вышеприведенное применимо для X экземпляров производственных/постановочных солров.
Tomcat6 + Sunspot не так прост и эффективен с точки зрения времени и результата. Насколько я понимаю (поправьте меня) нужно :
- Установите и поддерживайте Tomcat на сервере БД
- При условии, что мы хотим иметь 3 инстанса solr — разворачиваем 3 solr wars с отдельными solr’ами (или используем многоядерный solr, который довольно сложно настроить)
- развернуть проект rails на сервере db
- Каждый раз, когда мы меняем нашу схему/конфигурацию/что-то еще в рельсах, мы должны позаботиться о создании solr xmls и confs и скопировать их в веб-приложения tomcat.
- Измените каталоги в solr conf/xml, чтобы они указывали на индексные файлы и т. д.
- Перезагружайте экземпляр приложения tomcat solr при каждом развертывании на рельсах, что включает в себя некоторые сценарии и «не-рельсовый» подход к процедуре развертывания :)