我有一个模型,该模型可以部署延迟的作业,以更新其某些属性。该模型被声明为“可搜索” ...
searchable do
text :content, :stored => true
end
...我认为保存后会重新编制索引。在测试中,情况似乎并非如此。如果我运行:
rake sunspot:reindex
,则一切正常。是什么导致此问题? 最佳答案
如Jason所述,您可以调用Sunspot.commit_if_dirty
来从客户端发出提交。
从服务器配置方面,另一种方法是在autoCommit
中设置solrconfig.xml
属性,以在对索引进行更改时自动发出提交。大多数站点的60000毫秒(一分钟)的maxTime
就足够了。
在生产应用程序中使用autoCommit
可能是更明智的选择,在该应用程序中,大量提交很容易影响Solr服务器的性能。实际上,当您的站点开始获得大量更新时,使用Sunspot禁用其auto_commit_after_request option
是一个好习惯。
最后,autoCommit
的优点是能够设置它并忘记它。
在Websolr,我们的默认设置是忽略客户端发出的支持autoCommit
的提交。
关于ruby-on-rails - 保存后,sunspot_rails不会重新建立模型索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3632278/