0

我正在使用 elasticsearch-rails gem,并且我的订单对象在创建时没有被完全索引。这是我的代码:

after_commit on: [:create] do
  begin
      __elasticsearch__.index_document
  rescue
      Rails.logger.error "Elastic Search error indexing new order."
  end
end

def self.index_orders
  Order.all.import force: true
end

def as_indexed_json(options={})
  as_json(only: [:id, :transaction_id, :purchase_order_number, :status], include: [:order_addresses])
end

当我调用 self.index_orders 时,一切都按预期工作。但是,在创建订单时,after_commit 函数不会索引 order_addresses,因为它们是在 as_indexed_json 函数中指定的。

我还没有找到其他人有这个问题。有谁知道如何在 after_create 中索引 order_addresses?

更新

我还没有找到解决这个问题的方法。任何帮助,将不胜感激。

4

0 回答 0