class ElastomerClient::Client::Percolator

Attributes

client[R]
id[R]
index_name[R]

Public Class Methods

new(client, index_name, id) click to toggle source

Create a new Percolator for managing a query.

client - ElastomerClient::Client used for HTTP requests to the server index_name - The index name id - The _id for the query

# File lib/elastomer_client/client/percolator.rb, line 13
def initialize(client, index_name, id)
  @client = client
  @index_name = client.assert_param_presence(index_name, "index name")
  @id = client.assert_param_presence(id, "id")
end

Public Instance Methods

create(body, params = {}) click to toggle source

Create a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.create query: { match_all: { } }

Returns the response body as a Hash

# File lib/elastomer_client/client/percolator.rb, line 29
def create(body, params = {})
  response = client.put("/{index}/percolator/{id}", defaults.merge(params.merge(body:, action: "percolator.create")))
  response.body
end
defaults() click to toggle source

Internal: Returns a Hash containing default parameters.

# File lib/elastomer_client/client/percolator.rb, line 73
def defaults
  {index: index_name, id:}
end
delete(params = {}) click to toggle source

Delete a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.delete

Returns the response body as a Hash

# File lib/elastomer_client/client/percolator.rb, line 55
def delete(params = {})
  response = client.delete("/{index}/percolator/{id}", defaults.merge(params.merge(action: "percolator.delete")))
  response.body
end
exists?(params = {}) click to toggle source

Checks for the existence of a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.exists?

Returns a boolean

# File lib/elastomer_client/client/percolator.rb, line 68
def exists?(params = {})
  get(params)["found"]
end
get(params = {}) click to toggle source

Gets a percolator query.

Examples

percolator = $client.index("default-index").percolator "1"
percolator.get

Returns the response body as a Hash

# File lib/elastomer_client/client/percolator.rb, line 42
def get(params = {})
  response = client.get("/{index}/percolator/{id}", defaults.merge(params.merge(action: "percolator.get")))
  response.body
end