我正在Ubuntu 10.4 LTS上运行Rails 3.1,并使用mongoid。我还通过this guide安装tomcat6和solr。一切都很好,但我不确定我是否配置了最好的。我在我的sunspot.yml中禁用了auto_commit_after_request
,请谈谈here。
我还在我的solrcongif.xml中取消注释了自动提交部分。看起来索引记录的更新比非索引记录的更新要长一些。有什么方法可以检查auto_commit_after_request是否真的关闭?
另外,当我在solr中检查分析页面时,已更新的模型似乎被加倍索引(我可以说因为还没有很多数据)。所以我有一个带有关键字的模型,但在索引中它说有3个单词的实例(一个用于创建,两个更新我在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 :(得分:0)
这里有很多问题。
你的大多数性能调整都是在SOlr上,而不是Sunspot,它只是Solr的一个接口。见http://wiki.apache.org/solr/SolrPerformanceFactors。正如您在提交时所指出的那样,以及它是否在后台完成会影响您应用的性能。
Solr(Lucene)中的更新实际上是通过删除旧对象并再次添加它来实现的。这可能是您发现速度差异的原因。
更新不会多次将条款添加到索引中。你必须观察别的东西。如果您使用相同的索引进行开发,有时您可能会看到旧字段名称污染索引;尝试删除整个索引(磁盘上的实际索引文件夹)并重新启动;