Solr Sunspot - 不会自动重新索引对象 运行
Solr Sunspot - Reindexing objects is not automatically running
我正在使用 Sunspot Solr 在我们的 Ruby on Rails 应用程序中使用 MangoDB 进行索引和搜索
数据库(Mongo 映射器)
搜索效果很好,但当我对数据库进行更改时,对象不会自动索引到 Solr。
我尝试手动索引 class 本身:
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。为此,我找到了一个集成了 sunspot 和 mongo mapper 的 gem。你可能想要 check it and see if it solves your problem on auto-indexing - gem is supposed to solve it (check this)
如果这不起作用,您可以尝试对涉及的模型进行一些手动索引,类似于 ActiveRecord 挂钩,例如在用户模型上:
after_save { |user| Sunspot.index!(user) }
after_destroy { User.reindex; Sunspot.commit }
我正在使用 Sunspot Solr 在我们的 Ruby on Rails 应用程序中使用 MangoDB 进行索引和搜索 数据库(Mongo 映射器)
搜索效果很好,但当我对数据库进行更改时,对象不会自动索引到 Solr。
我尝试手动索引 class 本身:
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。为此,我找到了一个集成了 sunspot 和 mongo mapper 的 gem。你可能想要 check it and see if it solves your problem on auto-indexing - gem is supposed to solve it (check this)
如果这不起作用,您可以尝试对涉及的模型进行一些手动索引,类似于 ActiveRecord 挂钩,例如在用户模型上:
after_save { |user| Sunspot.index!(user) }
after_destroy { User.reindex; Sunspot.commit }