2016-02-24 2 views
0

У меня есть существующие данные в mysql.Как я могу сохранить синхронизацию в elasticsearch-rails

Я импортировал все записи из MySQL в elasticsearch с задачей граблей

Однако, мне интересно знать, как я могу сохранить синхронизацию при удалении, обновления, вставки записи внутри Rails

Как можно Рельсы спровоцировать модификация к elasticsearch? Благодаря

модель
require 'elasticsearch/model' 
class Job < ActiveRecord::Base 
    attr_accessor :deadline_asap 
    include Elasticsearch::Model 
    include Elasticsearch::Model::Callbacks 

end 

Rake задача

Для начальной индексации ES

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

ответ

0

Это уже должно быть синхронизировано: добавление

include Elasticsearch::Model::Callbacks 

вашей модели должно гарантировать, что любая модификация вызовет ElasticSearch API

Чтобы проверить это, просто измените модель и используйте поиск в ES, она должна дать вам результаты, включая обновленную обновленную модель.

Обновление: здесь Automatic Callbacks documentation в ElasticSearch-Model gem

Смежные вопросы