编辑时自动重新索引Sunspot / Solr

时间:2015-11-14 05:11:25

标签: ruby-on-rails solr sunspot sunspot-rails sunspot-solr

我在我的rails应用中使用SunspotSolr-based search engine

根据this Rails Cast episode on Search with Sunspot:

  

Sunspot会自动索引任何新记录,但不会记录现有记录。我们可以通过运行:rake sunspot:reindex

告诉Sunspot重新编制现有记录

基本上应该重新索引整个模型。

但是,我有一个模型(TicketSubject),其属性为category,我希望每次对其{{1}进行编辑时重新索引ticket_subject }}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

为什么不为此使用ActiveRecord回调,即after_update

<强> after_update() 在具有记录的现有对象上的Base.save之后调用。请注意,此回调仍包含在围绕保存的事务中。例如,如果此时调用外部索引器,则不会在数据库中看到更改。 http://api.rubyonrails.org/v2.3.8/classes/ActiveRecord/Callbacks.html#M001377

定义:回调挂钩到Active Record对象的生命周期,允许您在对象状态的更改之前或之后触发逻辑。 http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html