update_all 之后 Rails Elastic Search 重新索引数据

Sub*_*dra 5 ruby-on-rails elasticsearch searchkick

我正在使用 Searchkick 与我的 Rails 应用程序中的弹性搜索 api 进行交互,并且它几乎在所有情况下都能正常工作,但我面临的问题是我的模型中有状态字段,并且通过选择所有复选框,用户可以更改所有记录的状态,因此我使用它更新数据,update_all不会触发任何回调,并通过after_commit回调重新索引数据。因为我的数据没有以reindexed这种方式进入 Elastic Search,所以它给出了相同的结果,我应该做什么,Model.reindex手动调用是一个不错的选择吗?

Sub*_*dra 5

我实际上解决了它,没有重新索引整个数据,这将是一个非常幼稚的解决方案,相反,我们还可以重新索引单个记录,如下所示

product = Product.find 10
product.reindex
# or to reindex in the background
product.reindex_async
Run Code Online (Sandbox Code Playgroud)