class ElasticSearchHelper attr_accessor :server_uri, :index, :pastebinner, :doctype DEFAULT_METHOD = :post def initialize(server_uri, index, doctype='_doc') @server_uri = server_uri @index = index @doctype = doctype @pastebinner = Pastebinner.new(ENV['pastebin_api_key'], ENV['pastebin_username'], ENV['pastebin_password']) end def create_index response = RestClient::Request.execute( method: :put, url: "#{server_uri}/#{index}") end def json_to_es(paste_json, method=nil) header = { 'Content-type': 'application/json' } response = RestClient::Request.execute( method: method ||= DEFAULT_METHOD, url: "#{server_uri}/#{index}/#{doctype}", headers: header, payload: paste_json) end def json_to_es_bulk(array_of_paste_json) array_of_paste_json.each do |paste_json| self.to_es(paste_json) end end end