Настройка солнечного пятна с рельсами в производственной среде
Я пробовал разные ссылки, но не могу найти хороший ресурс по созданию работающего экземпляра solr, который работает с rails в рабочей среде.
Я понимаю, что вы должны настроить сервер Solr для производства. Я попытался настроить solr с tomcat, но я не могу связать его с приложением rails.
Есть ли хороший ресурс, который я мог бы использовать?
Спасибо
2 ответа
Этот блог может решить ваш вопрос:
Установите 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: // localhost: 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>
......
Самоцвет Sunspot включает в себя sunspot-solr
двоичный файл. Самая простая установка будет просто запустить sunspot-solr start
, В зависимости от того, как развернуто ваше приложение, вы также можете включить задачу в ваше развертывание Capistrano, которая использует предоставленную Sunspot задачу rake для запуска сервера Solr. А именно, rake sunspot:solr:start RAILS_ENV=production
,
Чтобы получить более глубокое понимание этого, необходимо: установить Tomcat как отдельную службу, запускать и останавливать с помощью собственного сценария инициализации (или конфигурации Upstart), который в идеале должен отслеживать monit или god; загрузку и развертывание solr.war в Tomcat и настройку solr.xml для ссылки на удобное место на диске для ваших данных индекса, solrconfig.xml
а также schema.xml
быть сохраненным
Solr wiki также содержит страницу по установке Solr с Tomcat и другими сервлет-контейнерами.
В любом из вышеперечисленных вариантов собственного размещения важно помнить о Sunspot: отключить его автоматическую фиксацию и полагаться на собственный Solr. autoCommit
настройки в solrconfig.xml
, Вы можете отключить эти коммиты, установив auto_commit_after_request: false
в вашем config/sunspot.yml
,
Наконец, если вас больше интересует просто аутсорсинг всего этого, есть также мой собственный скромный хостинг Solr по адресу http://websolr.com/ - мы можем запустить вас всего за несколько кликов.