所以我已经使用 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/