我尝试了各种链接,但似乎找不到一个关于如何在生产环境中创建可与Rails配合使用的运行中Solr实例的好资源。
我知道需要设置Solr服务器以供生产使用。我尝试过使用Tomcat设置Solr,但是我无法将其连接到Rails应用程序。
是否有任何好的资源可以使用?
谢谢
我尝试了各种链接,但似乎找不到一个关于如何在生产环境中创建可与Rails配合使用的运行中Solr实例的好资源。
我知道需要设置Solr服务器以供生产使用。我尝试过使用Tomcat设置Solr,但是我无法将其连接到Rails应用程序。
是否有任何好的资源可以使用?
谢谢
rake sunspot:solr:start RAILS_ENV=production
。 solrconfig.xml
和 schema.xml
。solrconfig.xml
中的autoCommit
设置。你可以通过在config/sunspot.yml
中设置auto_commit_after_request: false
来禁用这些提交。
最后,如果您只想外包所有这些工作,还有我自己谦虚托管的Solr服务http://websolr.com/ - 我们只需要点击几下即可让您运行起来。
这篇博客可能会解决您的问题:
在CentOS上安装Solr 4.4并使用Jetty,以及设置Solr服务器与Sunspot Gem一起工作。 (http://blogs.pigrider.com/blogs/26)
以下是该博客的部分内容: ......
8) 从Rails应用程序中复制配置文件schema.yml到运行的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) 将version字段添加到配置文件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 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>
......