diff --git a/lib/searchkick/index.rb b/lib/searchkick/index.rb index 37a3d0d..38cef52 100644 --- a/lib/searchkick/index.rb +++ b/lib/searchkick/index.rb @@ -50,11 +50,14 @@ module Searchkick end def remove(record) - client.delete( - index: name, - type: document_type(record), - id: search_id(record) - ) + id = search_id(record) + unless id.blank? + client.delete( + index: name, + type: document_type(record), + id: id + ) + end end def import(records) diff --git a/test/index_test.rb b/test/index_test.rb index 61fe8d3..5651630 100644 --- a/test/index_test.rb +++ b/test/index_test.rb @@ -80,6 +80,14 @@ class TestIndex < Minitest::Test Product.reindex end + def test_remove_blank_id + store_names ["Product A"] + Product.searchkick_index.remove(Product.new) + assert_search "product", ["Product A"] + ensure + Product.reindex + end + def test_missing_index assert_raises(Searchkick::MissingIndexError) { Product.search "test", index_name: "not_found" } end -- libgit2 0.21.0