ruby-on-rails - 不同环境下的Solr太阳黑子

标签 ruby-on-rails ruby solr sunspot

所以我已经使用 solr sunspot 几天了,并且因为它的一个问题而变得有点疯狂。我在许多不同的网站上搜索了答案,但很多人似乎有不同的想法。我试图弄清楚 sunspot 如何在启用自动索引的情况下管理不同环境中模型的索引/重新索引。这是我得出的结论:

开发/生产:保存/更新对象会自动更新该对象在 solr 中的索引

测试:保存/更新对象不会自动更新索引,需要调用object.reindex!以使其生效。

控制台:与测试相同。需要重新索引才能正确更新 solr。

那么这看起来正确吗?我的 solr sunspot 设置是否有问题,或者它是否在这些不同的环境中工作不一样,这让我很困惑。任何帮助将不胜感激!

最佳答案

在 Solr 中更新文档后,您必须发出“提交”以告诉 Solr 将更改写入磁盘并让它们开始出现在搜索结果中。 Sunspot::Rails 在 Rails 请求过程中自动处理此问题,但除此之外(在测试中,从控制台),您需要明确地执行此操作。这是一个简单的 Sunspot.commit

关于ruby-on-rails - 不同环境下的Solr太阳黑子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5864674/

相关文章:

ruby-on-rails - 正则表达式 "\w"不处理 Ruby 1.9.2 中的 utf-8 字符

ruby-on-rails - 未定义的方法 `get?' 为 302 :Integer

java - 在SOLR中使用类似操作

solr - 来自 Solrj 的引用格式 json

ruby-on-rails - 从对象列表中获取关联对象的 Activerecord 列表

ruby-on-rails - 在 Ruby 中,如何在哈希而不是数组中获取实例变量?

ruby - 如何在 Ruby 中丢弃浮点精度

solr - 如果一个字段适合其中之一,我应该更喜欢 Solr 模式中的整数还是字符串?

mysql - 更新连接表上的列

ruby - 使用 ruby​​ on rails 进行图像上传的 Carrierwave