首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sunspot_rails不尊重:auto_index和:auto_remove

Sunspot_rails不尊重:auto_index和:auto_remove
EN

Stack Overflow用户
提问于 2012-07-19 00:54:29
回答 1查看 732关注 0票数 2

我正在尝试让我们的应用程序在搜索服务器宕机时更有弹性。为此,我尝试禁用自动索引和删除,并在后台进程中手动执行它们。

我在努力

代码语言:javascript
复制
searchable :auto_index => false, :auto_remove => false do
...
end

但每次我尝试保存或销毁记录时,仍然会收到连接错误。

回溯显示错误来自于solr可搜索文件,所以肯定是sunspot_rails导致了问题。这是一段关于销毁的回溯:

代码语言:javascript
复制
...
rsolr (1.0.8) lib/rsolr/client.rb:67:in `update'
rsolr (1.0.8) lib/rsolr/client.rb:121:in `delete_by_id'
sunspot (1.3.3) lib/sunspot/indexer.rb:36:in `remove'
sunspot (1.3.3) lib/sunspot/session.rb:137:in `block in remove'
sunspot (1.3.3) lib/sunspot/session.rb:136:in `each'
sunspot (1.3.3) lib/sunspot/session.rb:136:in `remove'
sunspot (1.3.3) lib/sunspot/session_proxy/abstract_session_proxy.rb:11:in `remove'
sunspot (1.3.3) lib/sunspot.rb:410:in `remove'
sunspot_rails (1.3.3) lib/sunspot/rails/searchable.rb:390:in `solr_remove_from_index'
sunspot_rails (1.3.3) lib/sunspot/rails/searchable.rb:93:in `block in searchable'
...

知道为什么禁用这些钩子的选项不起作用吗?你知道怎么才能真正禁用它们吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-19 23:09:50

找到了我自己问题的答案:

事实证明,虽然自动回调被禁用了,但我仍然在用不同的步骤使它变脏。sunspot_rails有一个在请求结束时运行的清理步骤,它会尝试将所有脏记录提交到solr服务器。要禁用它,请在sunspot.yml中添加auto_commit_after_request: false

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11546497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档