【问题标题】:How could I keep the synchronization within elasticsearch-rails我怎样才能在 elasticsearch-rails 中保持同步
【发布时间】:2016-02-24 05:06:00
【问题描述】:

我在 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

【问题讨论】:

    标签: ruby-on-rails-4 elasticsearch-rails


    【解决方案1】:

    应该已经同步了: 添加

    include Elasticsearch::Model::Callbacks
    

    您的模型应确保任何修改都会调用 ElasticSearch API

    要检查这一点,只需修改一个模型并使用您的 ES 搜索,它应该会为您提供包括最新更新的模型在内的结果。

    更新:这是ElasticSearch-Model gem中的Automatic Callbacks documentation

    【讨论】:

      猜你喜欢
      • 2021-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多