Class: ElasticSearch::Type

Inherits:
Object
  • Object
show all
Defined in:
lib/elastic_search/type.rb

Instance Method Summary collapse

Constructor Details

#initialize(type_name, index) ⇒ Type

Returns a new instance of Type.



3
4
5
6
# File 'lib/elastic_search/type.rb', line 3

def initialize(type_name, index)
  @type_name = type_name
  @index = index
end

Instance Method Details

#count(parameters = {}) ⇒ Object



41
42
43
44
# File 'lib/elastic_search/type.rb', line 41

def count(parameters = {})
  request = build_request({ method: :post, action: :update, id: id.to_s, body: doc })
  execute(request).body['count']
end

#delete(id) ⇒ Object



26
27
28
29
# File 'lib/elastic_search/type.rb', line 26

def delete(id)
  request = build_request({ method: :delete, id: id.to_s })
  execute(request)
end

#delete_by_query(body, parameters = {}) ⇒ Object



31
32
33
34
# File 'lib/elastic_search/type.rb', line 31

def delete_by_query(body, parameters = {})
  request = build_request({ method: :delete, action: :search, parameters: parameters, body: body || {} })
  execute(request)
end

#delete_mappingObject



60
61
62
63
# File 'lib/elastic_search/type.rb', line 60

def delete_mapping
  request = build_request({ method: :delete })
  execute(request).status.eql?(200)
end

#execute(request) ⇒ Object



65
66
67
# File 'lib/elastic_search/type.rb', line 65

def execute(request)
  @index.client.execute(request)
end

#get(id) ⇒ Object



20
21
22
23
24
# File 'lib/elastic_search/type.rb', line 20

def get(id)
  request = build_request({ method: :get, id: id.to_s })
  response = execute(request)
  ElasticSearch::Item.new(response)
end

#mappingObject



50
51
52
53
# File 'lib/elastic_search/type.rb', line 50

def mapping
  request = build_request(method: :get, action: :mapping)
  execute(request).body
end

#mapping=(mapping) ⇒ Object



55
56
57
58
# File 'lib/elastic_search/type.rb', line 55

def mapping=(mapping)
  request = build_request(method: :put, action: :mapping, body: mapping)
  execute(request).status.eql?(200)
end

#more_like_this(id, parameters = {}) ⇒ Object



46
47
48
# File 'lib/elastic_search/type.rb', line 46

def more_like_this(id, parameters = {})
  request = build_request({ method: :get, id: id.to_s, action: :mlt, parameters: parameters, body: doc })
end

#put(id, doc) ⇒ Object Also known as: index



14
15
16
17
# File 'lib/elastic_search/type.rb', line 14

def put(id, doc)
  request = build_request({ method: :put, id: id.to_s, body: doc })
  execute(request)
end

#search(body, parameters = {}) ⇒ Object



8
9
10
11
12
# File 'lib/elastic_search/type.rb', line 8

def search(body, parameters = {})
  request = build_request({ method: :get, action: :search, parameters: parameters, body: body || {} })
  response = execute(request)
  ElasticSearch::Search::Results.new(response)
end

#update(id, body, parameters = {}) ⇒ Object



36
37
38
39
# File 'lib/elastic_search/type.rb', line 36

def update(id, body, parameters = {})
  request = build_request({ method: :post, id: id.to_s, action: :update, parameters: parameters, body: doc })
  execute(request)
end