2011-02-08 102 views
28

我已經嘗試過各種鏈接,但似乎無法找到創建與生產中的導軌一起工作的運行solr實例的好資源。在生產環境中安裝帶導軌的太陽黑子解決方案

我知道你必須設置solr服務器進行生產。我曾嘗試用tomcat設置solr,但我似乎不能將它連接到rails應用程序。

有沒有我可以使用的優質資源?

由於

回答

7

這個博客可能會解決你的問題:

在CentOS的與碼頭安裝Solr的4.4,並設置Solr的服務器與太陽黑子寶石工作。 (http://blogs.pigrider.com/blogs/26

下面是一些地方從博客: ......

8)從Rails應用程序的運行Solr的4.4實例的主目錄複製此配置文件的schema.yml。它將覆蓋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,下的L H 2 O 2 S T:8983/Solr的/管理員

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 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> 

......

42

太陽黑子寶石包括sunspot-solr二進制。最簡單的設置就是運行sunspot-solr start。根據應用程序的部署方式,您可能還會在Capistrano部署中包含一項任務,該任務使用Sunspot提供的Rake任務來啓動Solr服務器。即,rake sunspot:solr:start RAILS_ENV=production。由此可能涉及更深入:將Tomcat作爲獨立服務安裝,使用其自己的初始化腳本(或Upstart配置)啓動和停止,由monit或god進行理想監控;在Tomcat中下載和部署solr.war,並將solr.xml配置爲指向索引數據的磁盤上方便的位置,即solrconfig.xmlschema.xml以進行存儲。

Solr維基還在installing Solr with Tomcatother servlet containers上包含一個頁面。

在上述任何一種自主託管選項中,都要牢記Sunspot的一個重點:禁用自動提交,並依靠Solr自己的autoCommit設置solrconfig.xml。您可以通過在config/sunspot.yml中設置auto_commit_after_request: false來禁用這些提交。

最後,如果您只是將所有這一切都外包,我還有我自己謙卑的託管Solr服務http://websolr.com/ - 我們只需點擊幾下即可啓動並運行。

+1

我終於成功地用在Ubuntu 10.04服務器Tomcat的Solr的運行。剩下的最後一件事是我如何將它連接到我的rails應用程序? – 2011-02-10 17:34:58