Les*_*ial 28 solr ruby-on-rails production-environment sunspot
我尝试了各种链接,但我似乎无法找到一个很好的资源来创建一个在生产中使用rails的运行solr实例.
我知道你必须设置solr服务器进行生产.我已尝试使用tomcat设置solr,但我似乎无法将其链接到rails应用程序.
我有什么好的资源可供我使用吗?
谢谢
Nic*_*zny 42
太阳黑子宝石包括sunspot-solr二进制.最简单的设置就是运行sunspot-solr start.根据应用程序的部署方式,您可能还在Capistrano部署中包含一个任务,该任务使用Sunspot提供的rake任务来启动Solr服务器.即,rake sunspot:solr:start RAILS_ENV=production.
从中获得更深入的内容可能涉及:将Tomcat作为独立服务安装,使用自己的init脚本(或Upstart配置)启动和停止,理想情况下由monit或god监控; 在Tomcat中下载和部署solr.war,并配置solr.xml以引用磁盘上方便的索引数据位置solrconfig.xml并schema.xml进行存储.
Solr wiki还包含一个关于使用Tomcat和其他servlet容器安装Solr的页面.
在上述任何一个自托管选项中,要记住太阳黑子的重要一点:禁用其自动提交,并依赖于Solr自己的autoCommit设置solrconfig.xml.您可以通过设置禁用这些提交auto_commit_after_request: false你的config/sunspot.yml.
最后,如果您对将所有这些外包更感兴趣,还可以在http://websolr.com/上找到我自己谦虚的托管Solr服务- 我们只需点击几下即可启动并运行.
小智 7
此博客可能会解决您的问题:
在CentOS中使用Jetty安装Solr 4.4,并设置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"/>
Run Code Online (Sandbox Code Playgroud)
配置文件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>
Run Code Online (Sandbox Code Playgroud)
......