Установка солнечного пятна solr с рельсами в производственной среде
Я пробовал разные ссылки, но я не могу найти хороший ресурс для создания исполняемого экземпляра solr, который работает с рельсами в процессе производства.
Я понимаю, что вам нужно настроить сервер solr для производства. Я пробовал настройку solr с tomcat, но я не могу связать его с приложением rails.
Есть ли хороший ресурс, который я мог бы использовать?
Спасибо
Ответы
Ответ 1
Этот блог может решить ваш вопрос:
Установите Solr 4.4 с Jetty в CentOS и настройте сервер Solr для работы с Sunspot Gem. (http://blogs.pigrider.com/blogs/26)
Ниже приведены некоторые части из блога:
......
8) Скопируйте этот файл конфигурации schema.yml из приложения Rails в домашний каталог запущенного экземпляра Solr 4.4. Он переберет там конфигурационный файл Solr, и он настроит сервер Solr 4.4 для работы с Sunspot Gem.
cp/RailsApplicationPath/Solr/conf/schema.yml/opt/solr/solr/collection1/conf/.
Домашний каталог исполняемого экземпляра Solr 4.4 -/opt/solr/solr/collection1/. Вы можете найти эту информацию на странице администрирования Solr http://l o c a l h o s t: 8983/solr/admin
9) Добавьте поле версии в файл конфигурации schema.yml, чтобы удовлетворить требование инициализации Solr 4.4. На самом деле в файл нужно добавить две строки кода. Это:
<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
Конфигурационный файл schema.yml в конце концов будет выглядеть так:
<schema name="sunspot" version="1.0">
<types>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
<!-- *** Other Sunspot fieldType Definitions *** -->
</types>
<fields>
<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
<!-- *** Other Sunspot field Definitions *** -->
</fields>
<!-- *** Other Sunspot Configurations *** -->
</schema>
......
Ответ 2
Жестка Sunspot содержит двоичный файл sunspot-solr
. Простейшей настройкой было бы просто запустить sunspot-solr start
. В зависимости от того, как развертывается ваше приложение, вы также можете включить задачу в развертывание Capistrano, которая использует Sunspot для выполнения задачи rake для запуска сервера Solr. А именно, rake sunspot:solr:start RAILS_ENV=production
.
Получение более подробной информации о том, что может потребоваться: установка Tomcat в качестве автономной службы, запуск и останов с помощью собственного init script (или Upstart config), в идеале контролируемый monit или god; загрузку и развертывание solr.war в Tomcat и настройку файла solr.xml для ссылки на удобное расположение на диске для данных индекса, solrconfig.xml
и schema.xml
для сохранения.
В вики Solr также включена страница установка Solr с Tomcat и другие контейнеры сервлетов.
В любом из приведенных выше вариантов самостоятельного размещения важно помнить о Sunspot: отключить его автоматические коммиты и полагаться на собственные настройки Solr autoCommit
в solrconfig.xml
. Вы можете отключить эти коммиты, установив auto_commit_after_request: false
в свой config/sunspot.yml
.
Наконец, если вас больше интересует просто аутсорсинг всего этого, там также мое собственное скромное размещение службы Solr на http://websolr.com/ - мы можем запустить вас всего за несколько кликов.