in lib/es/client.rb [183:213]
def raise_if_necessary(response)
if response['errors']
first_error = nil
ops = %w[index delete]
response['items'].each do |item|
ops.each do |op|
next unless item.key?(op) && item[op].key?('error')
first_error = item
break
end
end
@system_logger.warn("Errors found in bulk response. Full response: #{response}")
if first_error
raise IndexingFailedError,
"Failed to index documents into Elasticsearch with an error '#{first_error.to_json}'."
else
raise IndexingFailedError,
"Failed to index documents into Elasticsearch due to unknown error. Full response: #{response}"
end
else
@system_logger.debug('No errors found in bulk response.')
end
response
end