diff --git a/lib/searchkick/record_indexer.rb b/lib/searchkick/record_indexer.rb index 098be1a..c73f786 100644 --- a/lib/searchkick/record_indexer.rb +++ b/lib/searchkick/record_indexer.rb @@ -56,7 +56,7 @@ module Searchkick private def reindex_record(method_name) - if record.destroyed? || !record.should_index? + if record.destroyed? || !record.persisted? || !record.should_index? begin index.remove(record) rescue Elasticsearch::Transport::Transport::Errors::NotFound diff --git a/lib/searchkick/reindex_v2_job.rb b/lib/searchkick/reindex_v2_job.rb index 38cfc92..bb1b0e2 100644 --- a/lib/searchkick/reindex_v2_job.rb +++ b/lib/searchkick/reindex_v2_job.rb @@ -21,19 +21,12 @@ module Searchkick nil end - index = model.searchkick_index - if !record || !record.should_index? - # hacky - record ||= model.new + unless record + record = model.new record.id = id - begin - index.remove record - rescue Elasticsearch::Transport::Transport::Errors::NotFound - # do nothing - end - else - index.store record end + + RecordIndexer.new(record).reindex(mode: true) end end end -- libgit2 0.21.0