2011-11-05 50 views
3

我在Ubuntu 10.4 LTS和mongoid上運行Rails 3.1。我也通過this guide安裝tomcat6和solr。一切都很好,但我不確定是否配置了最好的配置。我禁用auto_commit_after_request在我的sunspot.yml問中談到了here在生產中運行黑子

我也取消了我的solrcongif.xml中的自動提交部分的註釋。對索引記錄的更新似乎比對非索引記錄的更新稍微長一點。有什麼方法可以檢查auto_commit_after_request是否真的關閉?

此外,當我檢查solr中的分析頁面時,已更新的模型似乎被加倍索引(因爲沒有太多數據,所以我可以說)。所以我有一個帶有關鍵字的模型,但是在索引中說它有三個單詞(一個用於創建,另外兩個是我在mondel上做的更新)。這是正常的嗎?這看起來似乎會對經常更新的模型產生偏見,但也會增加索引的大小。

以下是我的config/sunspot.yml文件。如果需要的話,我也可以發佈solrconfig.xml,但它很大,所以我現在就把它放棄。有沒有關於調整太陽黑子生產的指南?謝謝!

production: 
    solr: 
    hostname: localhost 
    port: 8080 
    log_level: WARNING 
    path: '/solr' 
    auto_commit_after_request: false 

development: 
    solr: 
    hostname: localhost 
    port: 8982 
    log_level: INFO 

test: 
    solr: 
    hostname: localhost 
    port: 8981 
    log_level: WARNING 

回答

0

這裏有一大堆問題。

大部分性能調整將在SOlr上進行,而不是Sunspot,它只是Solr的一個界面。請參閱http://wiki.apache.org/solr/SolrPerformanceFactors。正如您在提交時注意到的,以及是否在後臺完成可能會影響應用程序的性能。

Solr(Lucene)中的更新實際上是通過刪除舊對象並再次添加它來實現的。這可能是您注意到速度差異的原因。

更新不會將這些條款多次添加到索引中。你必須觀察別的東西。如果您使用相同的索引進行開發,有時您可能會看到舊的字段名稱會污染索引;嘗試刪除整個索引(磁盤上的實際索引文件夾)並重新開始;