diff --git a/elasticsearch-model/lib/elasticsearch/model/indexing.rb b/elasticsearch-model/lib/elasticsearch/model/indexing.rb index 16ad1b3e4..9659e3408 100644 --- a/elasticsearch-model/lib/elasticsearch/model/indexing.rb +++ b/elasticsearch-model/lib/elasticsearch/model/indexing.rb @@ -270,7 +270,7 @@ def create_index!(options={}) def index_exists?(options={}) target_index = options[:index] || self.index_name - self.client.indices.exists(index: target_index) rescue false + self.client.indices.exists(index: target_index, ignore: 404) end # Deletes the index with corresponding name diff --git a/elasticsearch-model/spec/elasticsearch/model/indexing_spec.rb b/elasticsearch-model/spec/elasticsearch/model/indexing_spec.rb index 09e7717d5..281865a63 100644 --- a/elasticsearch-model/spec/elasticsearch/model/indexing_spec.rb +++ b/elasticsearch-model/spec/elasticsearch/model/indexing_spec.rb @@ -659,36 +659,6 @@ def changes expect(DummyIndexingModel.index_exists?).to be(false) end end - - context 'when the index API raises an error' do - - let(:client) do - double('client').tap do |cl| - expect(cl).to receive(:indices).and_raise(StandardError) - end - end - - it 'returns false' do - expect(DummyIndexingModel.index_exists?).to be(false) - end - end - - context 'when the indices.exists API raises an error' do - - let(:client) do - double('client', indices: indices) - end - - let(:indices) do - double('indices').tap do |ind| - expect(ind).to receive(:exists).and_raise(StandardError) - end - end - - it 'returns false' do - expect(DummyIndexingModel.index_exists?).to be(false) - end - end end describe '#delete_index!' do