elastomer-client 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +4 -0
- data/lib/elastomer/client/bulk.rb +1 -1
- data/lib/elastomer/client/cluster.rb +10 -22
- data/lib/elastomer/client/docs.rb +46 -55
- data/lib/elastomer/client/index.rb +33 -33
- data/lib/elastomer/client/multi_percolate.rb +9 -9
- data/lib/elastomer/client/multi_search.rb +5 -5
- data/lib/elastomer/client/native_delete_by_query.rb +2 -22
- data/lib/elastomer/client/nodes.rb +8 -22
- data/lib/elastomer/client/percolator.rb +5 -5
- data/lib/elastomer/client/repository.rb +7 -7
- data/lib/elastomer/client/rest_api_spec/api_spec.rb +119 -0
- data/lib/elastomer/client/rest_api_spec/api_spec_v2_3.rb +2232 -0
- data/lib/elastomer/client/rest_api_spec/api_spec_v2_4.rb +2250 -0
- data/lib/elastomer/client/rest_api_spec/api_spec_v5_6.rb +2491 -0
- data/lib/elastomer/client/rest_api_spec/rest_api.rb +59 -0
- data/lib/elastomer/client/rest_api_spec.rb +44 -0
- data/lib/elastomer/client/scroller.rb +10 -10
- data/lib/elastomer/client/snapshot.rb +7 -7
- data/lib/elastomer/client/tasks.rb +45 -51
- data/lib/elastomer/client/template.rb +8 -8
- data/lib/elastomer/client/warmer.rb +11 -4
- data/lib/elastomer/client.rb +31 -7
- data/lib/elastomer/version.rb +1 -1
- data/lib/elastomer/version_support.rb +35 -46
- data/script/generate-rest-api-spec +152 -0
- data/test/client/rest_api_spec/api_spec_test.rb +55 -0
- data/test/client/rest_api_spec/rest_api_test.rb +96 -0
- data/test/client/stubbed_client_test.rb +1 -19
- data/test/middleware/opaque_id_test.rb +1 -3
- data/test/notifications_test.rb +0 -5
- data/test/test_helper.rb +5 -4
- data/test/version_support_test.rb +3 -21
- metadata +13 -2
@@ -40,7 +40,7 @@ module Elastomer
|
|
40
40
|
#
|
41
41
|
# Returns true if the index (or type) exists
|
42
42
|
def exists?( params = {} )
|
43
|
-
response = client.head "/{index}{/type}", update_params(params, :
|
43
|
+
response = client.head "/{index}{/type}", update_params(params, action: "index.exists", rest_api: "indices.exists")
|
44
44
|
response.success?
|
45
45
|
end
|
46
46
|
alias_method :exist?, :exists?
|
@@ -54,7 +54,7 @@ module Elastomer
|
|
54
54
|
#
|
55
55
|
# Returns the response body as a Hash
|
56
56
|
def create( body, params = {} )
|
57
|
-
response = client.put "/{index}", update_params(params, :
|
57
|
+
response = client.put "/{index}", update_params(params, body: body, action: "index.create", rest_api: "indices.create")
|
58
58
|
response.body
|
59
59
|
end
|
60
60
|
|
@@ -66,7 +66,7 @@ module Elastomer
|
|
66
66
|
#
|
67
67
|
# Returns the response body as a Hash
|
68
68
|
def delete( params = {} )
|
69
|
-
response = client.delete "/{index}", update_params(params, :
|
69
|
+
response = client.delete "/{index}", update_params(params, action: "index.delete", rest_api: "indices.delete")
|
70
70
|
response.body
|
71
71
|
end
|
72
72
|
|
@@ -78,7 +78,7 @@ module Elastomer
|
|
78
78
|
#
|
79
79
|
# Returns the response body as a Hash
|
80
80
|
def open( params = {} )
|
81
|
-
response = client.post "/{index}/_open", update_params(params, :
|
81
|
+
response = client.post "/{index}/_open", update_params(params, action: "index.open", rest_api: "indices.open")
|
82
82
|
response.body
|
83
83
|
end
|
84
84
|
|
@@ -90,7 +90,7 @@ module Elastomer
|
|
90
90
|
#
|
91
91
|
# Returns the response body as a Hash
|
92
92
|
def close( params = {} )
|
93
|
-
response = client.post "/{index}/_close", update_params(params, :
|
93
|
+
response = client.post "/{index}/_close", update_params(params, action: "index.close", rest_api: "indices.close")
|
94
94
|
response.body
|
95
95
|
end
|
96
96
|
|
@@ -102,7 +102,7 @@ module Elastomer
|
|
102
102
|
#
|
103
103
|
# Returns the response body as a Hash
|
104
104
|
def get_settings( params = {} )
|
105
|
-
response = client.get "{/index}/_settings", update_params(params, :
|
105
|
+
response = client.get "{/index}/_settings", update_params(params, action: "index.get_settings", rest_api: "indices.get_settings")
|
106
106
|
response.body
|
107
107
|
end
|
108
108
|
alias_method :settings, :get_settings
|
@@ -116,7 +116,7 @@ module Elastomer
|
|
116
116
|
#
|
117
117
|
# Returns the response body as a Hash
|
118
118
|
def update_settings( body, params = {} )
|
119
|
-
response = client.put "{/index}/_settings", update_params(params, :
|
119
|
+
response = client.put "{/index}/_settings", update_params(params, body: body, action: "index.update_settings", rest_api: "indices.put_settings")
|
120
120
|
response.body
|
121
121
|
end
|
122
122
|
|
@@ -130,7 +130,7 @@ module Elastomer
|
|
130
130
|
#
|
131
131
|
# Returns the response body as a Hash
|
132
132
|
def get_mapping( params = {} )
|
133
|
-
response = client.get "/{index}/_mapping{/type}", update_params(params, :
|
133
|
+
response = client.get "/{index}/_mapping{/type}", update_params(params, action: "index.get_mapping", rest_api: "indices.get_mapping")
|
134
134
|
response.body
|
135
135
|
end
|
136
136
|
alias_method :mapping, :get_mapping
|
@@ -145,7 +145,7 @@ module Elastomer
|
|
145
145
|
#
|
146
146
|
# Returns the response body as a Hash
|
147
147
|
def update_mapping( type, body, params = {} )
|
148
|
-
response = client.put "/{index}/_mapping/{type}", update_params(params, :
|
148
|
+
response = client.put "/{index}/_mapping/{type}", update_params(params, body: body, type: type, action: "index.update_mapping", rest_api: "indices.put_mapping")
|
149
149
|
response.body
|
150
150
|
end
|
151
151
|
alias_method :put_mapping, :update_mapping
|
@@ -158,7 +158,7 @@ module Elastomer
|
|
158
158
|
#
|
159
159
|
# Returns the response body as a Hash
|
160
160
|
def get_aliases( params = {} )
|
161
|
-
response = client.get "/{index}/
|
161
|
+
response = client.get "/{index}/_alias", update_params(action: "index.get_aliases", rest_api: "indices.get_alias")
|
162
162
|
response.body
|
163
163
|
end
|
164
164
|
alias_method :aliases, :get_aliases
|
@@ -179,7 +179,7 @@ module Elastomer
|
|
179
179
|
#
|
180
180
|
# Returns the response body as a Hash
|
181
181
|
def get_alias( name, params = {} )
|
182
|
-
response = client.get "/{index}/_alias/{name}", update_params(params, :
|
182
|
+
response = client.get "/{index}/_alias/{name}", update_params(params, name: name, action: "index.get_alias", rest_api: "indices.get_alias")
|
183
183
|
response.body
|
184
184
|
end
|
185
185
|
|
@@ -192,13 +192,13 @@ module Elastomer
|
|
192
192
|
#
|
193
193
|
# Examples
|
194
194
|
#
|
195
|
-
# index.add_alias("foo", :
|
195
|
+
# index.add_alias("foo", routing: "foo")
|
196
196
|
#
|
197
197
|
# See https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html
|
198
198
|
#
|
199
199
|
# Returns the response body as a Hash
|
200
200
|
def add_alias( name, params = {} )
|
201
|
-
response = client.put "/{index}/_alias/{name}", update_params(params, :
|
201
|
+
response = client.put "/{index}/_alias/{name}", update_params(params, name: name, action: "index.add_alias", rest_api: "indices.put_alias")
|
202
202
|
response.body
|
203
203
|
end
|
204
204
|
|
@@ -216,7 +216,7 @@ module Elastomer
|
|
216
216
|
#
|
217
217
|
# Returns the response body as a Hash
|
218
218
|
def delete_alias( name, params = {} )
|
219
|
-
response = client.delete "/{index}/_alias/{name}", update_params(params, :
|
219
|
+
response = client.delete "/{index}/_alias/{name}", update_params(params, name: name, action: "index.delete_alias", rest_api: "indices.delete_alias")
|
220
220
|
response.body
|
221
221
|
end
|
222
222
|
|
@@ -231,7 +231,7 @@ module Elastomer
|
|
231
231
|
# Returns the response body as a Hash
|
232
232
|
def analyze( text, params = {} )
|
233
233
|
body = text.is_a?(Hash) ? text : {text: text.to_s}
|
234
|
-
response = client.get "{/index}/_analyze", update_params(params, body: body, action: "index.analyze")
|
234
|
+
response = client.get "{/index}/_analyze", update_params(params, body: body, action: "index.analyze", rest_api: "indices.analyze")
|
235
235
|
response.body
|
236
236
|
end
|
237
237
|
|
@@ -245,7 +245,7 @@ module Elastomer
|
|
245
245
|
#
|
246
246
|
# Returns the response body as a Hash
|
247
247
|
def refresh( params = {} )
|
248
|
-
response = client.post "{/index}/_refresh", update_params(params, :
|
248
|
+
response = client.post "{/index}/_refresh", update_params(params, action: "index.refresh", rest_api: "indices.refresh")
|
249
249
|
response.body
|
250
250
|
end
|
251
251
|
|
@@ -258,7 +258,7 @@ module Elastomer
|
|
258
258
|
#
|
259
259
|
# Returns the response body as a Hash
|
260
260
|
def flush( params = {} )
|
261
|
-
response = client.post "{/index}/_flush", update_params(params, :
|
261
|
+
response = client.post "{/index}/_flush", update_params(params, action: "index.flush", rest_api: "indices.flush")
|
262
262
|
response.body
|
263
263
|
end
|
264
264
|
|
@@ -272,7 +272,7 @@ module Elastomer
|
|
272
272
|
#
|
273
273
|
# Returns the response body as a Hash
|
274
274
|
def forcemerge( params = {} )
|
275
|
-
response = client.post "{/index}/_forcemerge", update_params(params, :
|
275
|
+
response = client.post "{/index}/_forcemerge", update_params(params, action: "index.forcemerge", rest_api: "indices.forcemerge")
|
276
276
|
response.body
|
277
277
|
end
|
278
278
|
# DEPRECATED: ES 5.X has removed the `/_optimize` endpoint.
|
@@ -287,7 +287,7 @@ module Elastomer
|
|
287
287
|
#
|
288
288
|
# Returns the response body as a Hash
|
289
289
|
def recovery( params = {} )
|
290
|
-
response = client.get "{/index}/_recovery", update_params(params, :
|
290
|
+
response = client.get "{/index}/_recovery", update_params(params, action: "index.recovery", rest_api: "indices.recovery")
|
291
291
|
response.body
|
292
292
|
end
|
293
293
|
|
@@ -301,7 +301,7 @@ module Elastomer
|
|
301
301
|
#
|
302
302
|
# Returns the response body as a Hash
|
303
303
|
def clear_cache( params = {} )
|
304
|
-
response = client.post "{/index}/_cache/clear", update_params(params, :
|
304
|
+
response = client.post "{/index}/_cache/clear", update_params(params, action: "index.clear_cache", rest_api: "indices.clear_cache")
|
305
305
|
response.body
|
306
306
|
end
|
307
307
|
|
@@ -320,7 +320,7 @@ module Elastomer
|
|
320
320
|
#
|
321
321
|
# Returns the response body as a Hash
|
322
322
|
def stats( params = {} )
|
323
|
-
response = client.get "{/index}/_stats{/stats}", update_params(params, :
|
323
|
+
response = client.get "{/index}/_stats{/stats}", update_params(params, action: "index.stats", rest_api: "indices.stats")
|
324
324
|
response.body
|
325
325
|
end
|
326
326
|
|
@@ -333,7 +333,7 @@ module Elastomer
|
|
333
333
|
#
|
334
334
|
# Returns the response body as a Hash
|
335
335
|
def segments( params = {} )
|
336
|
-
response = client.get "{/index}/_segments", update_params(params, :
|
336
|
+
response = client.get "{/index}/_segments", update_params(params, action: "index.segments", rest_api: "indices.segments")
|
337
337
|
response.body
|
338
338
|
end
|
339
339
|
|
@@ -358,7 +358,7 @@ module Elastomer
|
|
358
358
|
#
|
359
359
|
# Returns the response body as a Hash
|
360
360
|
def suggest(query, params = {})
|
361
|
-
response = client.post "{/index}/_suggest", update_params(params, :
|
361
|
+
response = client.post "{/index}/_suggest", update_params(params, body: query, action: "index.suggest", rest_api: "suggest")
|
362
362
|
response.body
|
363
363
|
end
|
364
364
|
|
@@ -387,7 +387,7 @@ module Elastomer
|
|
387
387
|
def bulk( params = {}, &block )
|
388
388
|
raise "a block is required" if block.nil?
|
389
389
|
|
390
|
-
params = {:
|
390
|
+
params = {index: self.name}.merge params
|
391
391
|
client.bulk params, &block
|
392
392
|
end
|
393
393
|
|
@@ -413,7 +413,7 @@ module Elastomer
|
|
413
413
|
#
|
414
414
|
# Returns a new Scroller instance
|
415
415
|
def scroll( query, opts = {} )
|
416
|
-
opts = {:
|
416
|
+
opts = {index: name}.merge opts
|
417
417
|
client.scroll query, opts
|
418
418
|
end
|
419
419
|
|
@@ -442,7 +442,7 @@ module Elastomer
|
|
442
442
|
#
|
443
443
|
# Returns a new Scroller instance
|
444
444
|
def scan( query, opts = {} )
|
445
|
-
opts = {:
|
445
|
+
opts = {index: name}.merge opts
|
446
446
|
client.scan query, opts
|
447
447
|
end
|
448
448
|
|
@@ -464,8 +464,8 @@ module Elastomer
|
|
464
464
|
# Examples
|
465
465
|
#
|
466
466
|
# index.multi_search do |m|
|
467
|
-
# m.search({:
|
468
|
-
# m.search({:
|
467
|
+
# m.search({query: {match_all: {}}, size: 0)
|
468
|
+
# m.search({query: {field: {"author" => "grantr"}}}, type: 'tweet')
|
469
469
|
# ...
|
470
470
|
# end
|
471
471
|
#
|
@@ -475,7 +475,7 @@ module Elastomer
|
|
475
475
|
def multi_search( params = {}, &block )
|
476
476
|
raise "a block is required" if block.nil?
|
477
477
|
|
478
|
-
params = {:
|
478
|
+
params = {index: self.name}.merge params
|
479
479
|
client.multi_search params, &block
|
480
480
|
end
|
481
481
|
|
@@ -493,8 +493,8 @@ module Elastomer
|
|
493
493
|
#
|
494
494
|
# # block form
|
495
495
|
# multi_percolate do |m|
|
496
|
-
# m.percolate({ :
|
497
|
-
# m.count({ :
|
496
|
+
# m.percolate({ author: "pea53" }, { type: 'default-type' })
|
497
|
+
# m.count({ author: "pea53" }, { type: 'type2' })
|
498
498
|
# ...
|
499
499
|
# end
|
500
500
|
#
|
@@ -515,7 +515,7 @@ module Elastomer
|
|
515
515
|
# warmer_name - The name of the warmer to operate on.
|
516
516
|
#
|
517
517
|
# Examples
|
518
|
-
# index.warmer('warmer1').create(:
|
518
|
+
# index.warmer('warmer1').create(query: {match_all: {}})
|
519
519
|
# index.warmer('warmer1').get
|
520
520
|
# index.warmer('warmer1').delete
|
521
521
|
#
|
@@ -587,7 +587,7 @@ module Elastomer
|
|
587
587
|
|
588
588
|
# Internal: Returns a Hash containing default parameters.
|
589
589
|
def defaults
|
590
|
-
{ :
|
590
|
+
{ index: name }
|
591
591
|
end
|
592
592
|
|
593
593
|
end
|
@@ -21,12 +21,12 @@ module Elastomer
|
|
21
21
|
# multi_percolate(request_body)
|
22
22
|
#
|
23
23
|
# # index in URI
|
24
|
-
# multi_percolate(request_body, :
|
24
|
+
# multi_percolate(request_body, index: 'default-index')
|
25
25
|
#
|
26
26
|
# # block form
|
27
|
-
# multi_percolate(:
|
28
|
-
# m.percolate({ :
|
29
|
-
# m.count({ :
|
27
|
+
# multi_percolate(index: 'default-index') do |m|
|
28
|
+
# m.percolate({ author: "pea53" }, { type: 'default-type' })
|
29
|
+
# m.count({ author: "pea53" }, { type: 'type2' })
|
30
30
|
# ...
|
31
31
|
# end
|
32
32
|
#
|
@@ -40,7 +40,7 @@ module Elastomer
|
|
40
40
|
raise "multi_percolate request body cannot be nil" if body.nil?
|
41
41
|
params ||= {}
|
42
42
|
|
43
|
-
response = self.post "{/index}{/type}/_mpercolate", params.merge(:body
|
43
|
+
response = self.post "{/index}{/type}/_mpercolate", params.merge(body: body, action: "mpercolate", rest_api: "mpercolate")
|
44
44
|
response.body
|
45
45
|
end
|
46
46
|
end
|
@@ -80,8 +80,8 @@ module Elastomer
|
|
80
80
|
#
|
81
81
|
# Returns this MultiPercolate instance.
|
82
82
|
def percolate(doc, header = {})
|
83
|
-
add_to_actions(:
|
84
|
-
add_to_actions(:
|
83
|
+
add_to_actions(percolate: @params.merge(header))
|
84
|
+
add_to_actions(doc: doc)
|
85
85
|
end
|
86
86
|
|
87
87
|
# Add a percolate acount action to the multi percolate request. This
|
@@ -93,8 +93,8 @@ module Elastomer
|
|
93
93
|
#
|
94
94
|
# Returns this MultiPercolate instance.
|
95
95
|
def count(doc, header = {})
|
96
|
-
add_to_actions(:
|
97
|
-
add_to_actions(:
|
96
|
+
add_to_actions(count: @params.merge(header))
|
97
|
+
add_to_actions(doc: doc)
|
98
98
|
end
|
99
99
|
|
100
100
|
# Execute the multi_percolate call with the accumulated percolate actions.
|
@@ -21,12 +21,12 @@ module Elastomer
|
|
21
21
|
# multi_search(request_body)
|
22
22
|
#
|
23
23
|
# # index in URI
|
24
|
-
# multi_search(request_body, :
|
24
|
+
# multi_search(request_body, index: 'default-index')
|
25
25
|
#
|
26
26
|
# # block form
|
27
|
-
# multi_search(:
|
28
|
-
# m.search({:
|
29
|
-
# m.search({:
|
27
|
+
# multi_search(index: 'default-index') do |m|
|
28
|
+
# m.search({query: {match_all: {}}, size: 0)
|
29
|
+
# m.search({query: {field: {"foo" => "bar"}}}, type: 'default-type')
|
30
30
|
# ...
|
31
31
|
# end
|
32
32
|
#
|
@@ -40,7 +40,7 @@ module Elastomer
|
|
40
40
|
raise "multi_search request body cannot be nil" if body.nil?
|
41
41
|
params ||= {}
|
42
42
|
|
43
|
-
response = self.post "{/index}{/type}/_msearch", params.merge(:body
|
43
|
+
response = self.post "{/index}{/type}/_msearch", params.merge(body: body, action: "msearch", rest_api: "msearch")
|
44
44
|
response.body
|
45
45
|
end
|
46
46
|
end
|
@@ -8,7 +8,7 @@ module Elastomer
|
|
8
8
|
# Examples
|
9
9
|
#
|
10
10
|
# # request body query
|
11
|
-
# native_delete_by_query({:
|
11
|
+
# native_delete_by_query({query: {match_all: {}}}, type: 'tweet')
|
12
12
|
#
|
13
13
|
# See https://www.elastic.co/guide/en/elasticsearch/reference/5.6/docs-delete-by-query.html
|
14
14
|
#
|
@@ -20,39 +20,19 @@ module Elastomer
|
|
20
20
|
class NativeDeleteByQuery
|
21
21
|
attr_reader :client, :query, :parameters
|
22
22
|
|
23
|
-
PARAMETERS = %i[
|
24
|
-
conflicts
|
25
|
-
index
|
26
|
-
q
|
27
|
-
refresh
|
28
|
-
routing
|
29
|
-
scroll_size
|
30
|
-
timeout
|
31
|
-
type
|
32
|
-
wait_for_active_shards
|
33
|
-
wait_for_completion
|
34
|
-
].to_set.freeze
|
35
|
-
|
36
23
|
def initialize(client, query, parameters)
|
37
24
|
unless client.version_support.native_delete_by_query?
|
38
25
|
raise IncompatibleVersionException, "Elasticsearch '#{client.version}' does not support _delete_by_query"
|
39
26
|
end
|
40
27
|
|
41
|
-
parameters.keys.each do |key|
|
42
|
-
unless PARAMETERS.include?(key) || PARAMETERS.include?(key.to_sym)
|
43
|
-
raise IllegalArgument, "'#{key}' is not a valid _delete_by_query parameter"
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
28
|
@client = client
|
48
29
|
@query = query
|
49
30
|
@parameters = parameters
|
50
|
-
|
51
31
|
end
|
52
32
|
|
53
33
|
def execute
|
54
34
|
# TODO: Require index parameter. type is optional.
|
55
|
-
response = client.post("/{index}{/type}/_delete_by_query", parameters.merge(body: query))
|
35
|
+
response = client.post("/{index}{/type}/_delete_by_query", parameters.merge(body: query, action: "delete_by_query", rest_api: "delete_by_query"))
|
56
36
|
response.body
|
57
37
|
end
|
58
38
|
end
|
@@ -41,15 +41,15 @@ module Elastomer
|
|
41
41
|
#
|
42
42
|
# Examples
|
43
43
|
#
|
44
|
-
# info(:
|
45
|
-
# info(:
|
46
|
-
# info(:
|
44
|
+
# info(info: "_all")
|
45
|
+
# info(info: "os")
|
46
|
+
# info(info: %w[os jvm process])
|
47
47
|
#
|
48
48
|
# See https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-info.html
|
49
49
|
#
|
50
50
|
# Returns the response as a Hash
|
51
51
|
def info( params = {} )
|
52
|
-
response = client.get "/_nodes{/node_id}{/info}", update_params(params, :
|
52
|
+
response = client.get "/_nodes{/node_id}{/info}", update_params(params, action: "nodes.info", rest_api: "nodes.info")
|
53
53
|
response.body
|
54
54
|
end
|
55
55
|
|
@@ -62,14 +62,14 @@ module Elastomer
|
|
62
62
|
#
|
63
63
|
# Examples
|
64
64
|
#
|
65
|
-
# stats(:
|
66
|
-
# stats(:
|
65
|
+
# stats(stats: "thread_pool")
|
66
|
+
# stats(stats: %w[os process])
|
67
67
|
#
|
68
68
|
# See https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html
|
69
69
|
#
|
70
70
|
# Returns the response as a Hash
|
71
71
|
def stats( params = {} )
|
72
|
-
response = client.get "/_nodes{/node_id}/stats{/stats}", update_params(params, :
|
72
|
+
response = client.get "/_nodes{/node_id}/stats{/stats}", update_params(params, action: "nodes.stats", rest_api: "nodes.stats")
|
73
73
|
response.body
|
74
74
|
end
|
75
75
|
|
@@ -87,21 +87,7 @@ module Elastomer
|
|
87
87
|
#
|
88
88
|
# Returns the response as a String
|
89
89
|
def hot_threads( params = {} )
|
90
|
-
response = client.get "/_nodes{/node_id}/hot_threads", update_params(params, :
|
91
|
-
response.body
|
92
|
-
end
|
93
|
-
|
94
|
-
# Shutdown one or more nodes in the cluster. There is also a
|
95
|
-
# Cluster#shutdown command for shutting down the entire cluseter.
|
96
|
-
#
|
97
|
-
# params - Parameters Hash
|
98
|
-
# :node_id - a single node ID or Array of node IDs
|
99
|
-
#
|
100
|
-
# See https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-shutdown.html
|
101
|
-
#
|
102
|
-
# Returns the response as a Hash
|
103
|
-
def shutdown( params = {} )
|
104
|
-
response = client.post "/_cluster/nodes{/node_id}/_shutdown", update_params(params, :action => "nodes.shutdown")
|
90
|
+
response = client.get "/_nodes{/node_id}/hot_threads", update_params(params, action: "nodes.hot_threads", rest_api: "nodes.hot_threads")
|
105
91
|
response.body
|
106
92
|
end
|
107
93
|
|
@@ -24,11 +24,11 @@ module Elastomer
|
|
24
24
|
# Examples
|
25
25
|
#
|
26
26
|
# percolator = $client.index("default-index").percolator "1"
|
27
|
-
# percolator.create :
|
27
|
+
# percolator.create query: { match_all: { } }
|
28
28
|
#
|
29
29
|
# Returns the response body as a Hash
|
30
30
|
def create(body, params = {})
|
31
|
-
response = client.put("/{index}/#{@percolator_type}/{id}", defaults.merge(params.merge(:
|
31
|
+
response = client.put("/{index}/#{@percolator_type}/{id}", defaults.merge(params.merge(body: body, action: "percolator.create")))
|
32
32
|
response.body
|
33
33
|
end
|
34
34
|
|
@@ -41,7 +41,7 @@ module Elastomer
|
|
41
41
|
#
|
42
42
|
# Returns the response body as a Hash
|
43
43
|
def get(params = {})
|
44
|
-
response = client.get("/{index}/#{@percolator_type}/{id}", defaults.merge(params.merge(:
|
44
|
+
response = client.get("/{index}/#{@percolator_type}/{id}", defaults.merge(params.merge(action: "percolator.get")))
|
45
45
|
response.body
|
46
46
|
end
|
47
47
|
|
@@ -54,7 +54,7 @@ module Elastomer
|
|
54
54
|
#
|
55
55
|
# Returns the response body as a Hash
|
56
56
|
def delete(params = {})
|
57
|
-
response = client.delete("/{index}/#{@percolator_type}/{id}", defaults.merge(params.merge(:
|
57
|
+
response = client.delete("/{index}/#{@percolator_type}/{id}", defaults.merge(params.merge(action: "percolator.delete")))
|
58
58
|
response.body
|
59
59
|
end
|
60
60
|
|
@@ -72,7 +72,7 @@ module Elastomer
|
|
72
72
|
|
73
73
|
# Internal: Returns a Hash containing default parameters.
|
74
74
|
def defaults
|
75
|
-
{:
|
75
|
+
{index: index_name, id: id}
|
76
76
|
end
|
77
77
|
|
78
78
|
end # Percolator
|
@@ -26,7 +26,7 @@ module Elastomer
|
|
26
26
|
#
|
27
27
|
# Returns true if the repository exists
|
28
28
|
def exists?(params = {})
|
29
|
-
response = client.get "/_snapshot{/repository}", update_params(params, :
|
29
|
+
response = client.get "/_snapshot{/repository}", update_params(params, action: "repository.exists", rest_api: "snapshot.get_repository")
|
30
30
|
response.success?
|
31
31
|
rescue Elastomer::Client::Error => err
|
32
32
|
if err.error && err.error.dig("root_cause", 0, "type") == "repository_missing_exception"
|
@@ -45,7 +45,7 @@ module Elastomer
|
|
45
45
|
#
|
46
46
|
# Returns the response body as a Hash
|
47
47
|
def create(body, params = {})
|
48
|
-
response = client.put "/_snapshot/{repository}", update_params(params, :
|
48
|
+
response = client.put "/_snapshot/{repository}", update_params(params, body: body, action: "repository.create", rest_api: "snapshot.create_repository")
|
49
49
|
response.body
|
50
50
|
end
|
51
51
|
|
@@ -56,7 +56,7 @@ module Elastomer
|
|
56
56
|
#
|
57
57
|
# Returns the response body as a Hash
|
58
58
|
def get(params = {})
|
59
|
-
response = client.get "/_snapshot{/repository}", update_params(params, :
|
59
|
+
response = client.get "/_snapshot{/repository}", update_params(params, action: "repository.get", rest_api: "snapshot.get_repository")
|
60
60
|
response.body
|
61
61
|
end
|
62
62
|
|
@@ -67,7 +67,7 @@ module Elastomer
|
|
67
67
|
#
|
68
68
|
# Returns the response body as a Hash
|
69
69
|
def status(params = {})
|
70
|
-
response = client.get "/_snapshot{/repository}/_status", update_params(params, :
|
70
|
+
response = client.get "/_snapshot{/repository}/_status", update_params(params, action: "repository.status", rest_api: "snapshot.status")
|
71
71
|
response.body
|
72
72
|
end
|
73
73
|
|
@@ -79,7 +79,7 @@ module Elastomer
|
|
79
79
|
#
|
80
80
|
# Returns the response body as a Hash
|
81
81
|
def update(body, params = {})
|
82
|
-
response = client.put "/_snapshot/{repository}", update_params(params, :
|
82
|
+
response = client.put "/_snapshot/{repository}", update_params(params, body: body, action: "repository.update", rest_api: "snapshot.create_repository")
|
83
83
|
response.body
|
84
84
|
end
|
85
85
|
|
@@ -90,7 +90,7 @@ module Elastomer
|
|
90
90
|
#
|
91
91
|
# Returns the response body as a Hash
|
92
92
|
def delete(params = {})
|
93
|
-
response = client.delete "/_snapshot/{repository}", update_params(params, :
|
93
|
+
response = client.delete "/_snapshot/{repository}", update_params(params, action: "repository.delete", rest_api: "snapshot.delete_repository")
|
94
94
|
response.body
|
95
95
|
end
|
96
96
|
|
@@ -120,7 +120,7 @@ module Elastomer
|
|
120
120
|
|
121
121
|
# Internal: Returns a Hash containing default parameters.
|
122
122
|
def defaults
|
123
|
-
{ :
|
123
|
+
{ repository: name }
|
124
124
|
end
|
125
125
|
end
|
126
126
|
end
|