以另一个问题为例
product = Product.find(10)
`raise_record_not_found_exception!'
product.nil?
=> true
product = Product.search "*", where: {id: 10}, load: false
product.count
=> 1
如何在没有干净擦拭的情况下移除文档?
由于
答案 0 :(得分:1)
如果您的索引与您的数据库不同步,并且您不想完全重新索引,则可以执行以下操作:
missing_product = Product.new
missing_product.id = 10
Product.search_index.remove(missing_product)
答案 1 :(得分:0)
这是由Searchkick中的default完成的,除非您使用跳过回调的some methods删除了此记录。
来自Searchkick的报道:
保持索引与您同步的策略有四种 数据库中。
立即(默认)随时插入,更新或删除记录
异步使用后台作业以获得更好的性能......