2011-11-05 54 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)中的更新实际上是通过删除旧对象并再次添加它来实现的。这可能是您注意到速度差异的原因。

更新不会将这些条款多次添加到索引中。你必须观察别的东西。如果您使用相同的索引进行开发,有时您可能会看到旧的字段名称会污染索引;尝试删除整个索引(磁盘上的实际索引文件夹)并重新开始;