1

mysql に既存のデータがあります。

rakeタスクを使用して、mysqlからelasticsearchにすべてのレコードをインポートしました

ただし、Rails内でレコードを削除、更新、挿入するときに同期を維持するにはどうすればよいでしょうか

Railsはelasticsearchへの変更をどのようにトリガーできますか? ありがとう

モデル

require 'elasticsearch/model'
class Job < ActiveRecord::Base
  attr_accessor :deadline_asap
  include Elasticsearch::Model
  include Elasticsearch::Model::Callbacks  

end

レーキタスク

最初の ES インデックス作成用

  task :import_all => :environment do
    Job.__elasticsearch__.create_index!
  end
4

1 に答える 1

1

すでに同期されているはずです: 追加

include Elasticsearch::Model::Callbacks

モデルに変更を加えると、ElasticSearch API が呼び出されるようにする必要があります。

これを確認するには、モデルを変更して ES 検索を使用するだけで、新しく更新されたモデルを含む結果が得られるはずです。

更新: ElasticSearch-Model gemの自動コールバックのドキュメントは次のとおりです。

于 2016-02-25T08:24:34.677 に答える