Class: Elastomer::Client::NativeDeleteByQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/elastomer/client/native_delete_by_query.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client, query, parameters) ⇒ NativeDeleteByQuery

Returns a new instance of NativeDeleteByQuery.



23
24
25
26
27
28
29
30
31
# File 'lib/elastomer/client/native_delete_by_query.rb', line 23

def initialize(client, query, parameters)
  unless client.version_support.native_delete_by_query?
    raise IncompatibleVersionException, "Elasticsearch '#{client.version}' does not support _delete_by_query"
  end

  @client = client
  @query = query
  @parameters = parameters
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



21
22
23
# File 'lib/elastomer/client/native_delete_by_query.rb', line 21

def client
  @client
end

#parametersObject (readonly)

Returns the value of attribute parameters.



21
22
23
# File 'lib/elastomer/client/native_delete_by_query.rb', line 21

def parameters
  @parameters
end

#queryObject (readonly)

Returns the value of attribute query.



21
22
23
# File 'lib/elastomer/client/native_delete_by_query.rb', line 21

def query
  @query
end

Instance Method Details

#executeObject



33
34
35
36
37
# File 'lib/elastomer/client/native_delete_by_query.rb', line 33

def execute
  # TODO: Require index parameter. type is optional.
  response = client.post("/{index}{/type}/_delete_by_query", parameters.merge(body: query, action: "delete_by_query", rest_api: "delete_by_query"))
  response.body
end