在销毁记录时处理ThinkingSphinx实时索引

时间:2017-07-04 15:02:59

标签: ruby-on-rails thinking-sphinx

我正在尝试将ThinkingSphinx中基于delta的索引转换为实时索引。根据文档,我添加了这个回调:

after_save ThinkingSphinx::RealTime.callback_for(:location)

这适用于添加和更新记录,哇。我的问题是删除记录,根据Rails文档,不会触发after_save回调。我已经通过删除记录来确认这一点,该记录不会从我的sphinx索引中删除。

我试过

after_destroy ThinkingSphinx::RealTime.callback_for(:location)

但这会引发错误(因为实时回调不支持after_destroy)。

如何在使用实时索引时从索引中删除条目?

thinking-sphinx 3.3.0rails 5.0.4,如果有帮助的话)

1 个答案:

答案 0 :(得分:1)

思考Sphinx会自动将自己的after_destroy回调添加到所有索引模型中,因此无需添加任何代码即可从实时索引中删除这些记录。