如何在sunspot中的acts_as_paranoid行中删除索引

时间:2015-07-01 06:47:07

标签: ruby-on-rails ruby solr sunspot acts-as-paranoid

我在轨道应用程序中使用红宝石和act_as_paranoid gems in ruby​​。

当我删除记录时,acts_as_paranoid gem会覆盖ActiveRecord行为而不是删除它,但将deleted_at字段更新为非空值。默认情况下,添加到所有AR查询WHERE deleted_at IS NULL scipe。

我有很多已删除的用户。在adminpanel页面中,我需要查看和搜索它们。

问题在于,当重新索引User模型时,太阳黑子根本没有为已删除的用户编制索引(默认添加WHERE deleted_at IS NULL范围)。

将其编入索引的唯一机会是手动运行

User.with_deleted.solr_reindex

所以,问题是:我应该如何更改我的代码,太阳黑子始终索引删除User模型中的记录?

class User < ActiveRecord::Base
  searchable do
    string  :class_name do
      self.class.name
    end

    integer(:model_id) { |user| user.id }
    integer :community_ids, references: 'Community', multiple: true

   # ...
  end

  # ...
end

0 个答案:

没有答案