gpt4 book ai didi

ruby-on-rails - Solr Sunspot - 重新索引对象不会自动运行

转载 作者:可可西里 更新时间:2023-11-01 09:13:31 24 4
gpt4 key购买 nike

我使用 Sunspot Solr 在我们的带有 MangoDB 的 Ruby on Rails 应用程序中进行索引和搜索数据库(Mongo 映射器)

搜索效果很好,但当我对数据库进行更改时,对象不会自动索引到 Solr。

我尝试手动索引一个类本身:

Top.reindex Sunspot.commit

或者,我在 sunspot.yml 上添加:auto_commit_after_request:真我还在 solrconfig.xml 上以一定间隔自动提交:

<autoCommit>
<maxDocs>10000</maxDocs>
<maxTime>15000</maxTime>
</autoCommit>

所有这些解决方案都无法自动重新索引我的对象,除非我使用 rake 任务重新索引所有对象:

bundle exec rake sunspot:reindex 

还有其他解决方案吗?

非常感谢。

最佳答案

如果您使用 ActiveRecord ( check this ),

Sunspot 应该默认重新索引。

这里的问题是您使用的是 Mongo,而不是 AR。为此,我找到了一个集成了 sunspotmongo mapper 的 gem。你可能想要 check it看看它是否解决了您的自动索引问题 - gem 应该可以解决它(检查 this )

如果这不起作用,您可以尝试对涉及的模型进行一些手动索引,类似于 ActiveRecord Hook ,例如在用户模型上:

after_save { |user| Sunspot.index!(user) }
after_destroy { User.reindex; Sunspot.commit }

关于ruby-on-rails - Solr Sunspot - 重新索引对象不会自动运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36621611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com