elasticsearch-api 0.4.11 → 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -6
- data/README.md +3 -4
- data/lib/elasticsearch/api.rb +16 -9
- data/lib/elasticsearch/api/actions/cat/aliases.rb +67 -0
- data/lib/elasticsearch/api/actions/cat/allocation.rb +69 -0
- data/lib/elasticsearch/api/actions/cat/count.rb +59 -0
- data/lib/elasticsearch/api/actions/cat/health.rb +43 -0
- data/lib/elasticsearch/api/actions/cat/help.rb +25 -0
- data/lib/elasticsearch/api/actions/cat/indices.rb +77 -0
- data/lib/elasticsearch/api/actions/cat/master.rb +40 -0
- data/lib/elasticsearch/api/actions/cat/nodes.rb +38 -0
- data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +40 -0
- data/lib/elasticsearch/api/actions/cat/recovery.rb +73 -0
- data/lib/elasticsearch/api/actions/cat/shards.rb +72 -0
- data/lib/elasticsearch/api/actions/cluster/put_settings.rb +3 -1
- data/lib/elasticsearch/api/actions/cluster/state.rb +23 -14
- data/lib/elasticsearch/api/actions/count_percolate.rb +78 -0
- data/lib/elasticsearch/api/actions/indices/exists.rb +4 -1
- data/lib/elasticsearch/api/actions/indices/exists_alias.rb +5 -3
- data/lib/elasticsearch/api/actions/indices/exists_template.rb +34 -0
- data/lib/elasticsearch/api/actions/indices/exists_type.rb +4 -1
- data/lib/elasticsearch/api/actions/indices/get_alias.rb +5 -3
- data/lib/elasticsearch/api/actions/indices/get_aliases.rb +6 -3
- data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +2 -1
- data/lib/elasticsearch/api/actions/indices/get_mapping.rb +8 -3
- data/lib/elasticsearch/api/actions/indices/get_settings.rb +7 -2
- data/lib/elasticsearch/api/actions/indices/get_warmer.rb +0 -2
- data/lib/elasticsearch/api/actions/indices/put_alias.rb +0 -1
- data/lib/elasticsearch/api/actions/indices/put_mapping.rb +11 -4
- data/lib/elasticsearch/api/actions/indices/put_warmer.rb +0 -1
- data/lib/elasticsearch/api/actions/mpercolate.rb +58 -0
- data/lib/elasticsearch/api/actions/mtermvectors.rb +67 -0
- data/lib/elasticsearch/api/actions/{cluster/node_hot_threads.rb → nodes/hot_threads.rb} +3 -3
- data/lib/elasticsearch/api/actions/{cluster/node_info.rb → nodes/info.rb} +3 -3
- data/lib/elasticsearch/api/actions/{cluster/node_shutdown.rb → nodes/shutdown.rb} +3 -3
- data/lib/elasticsearch/api/actions/nodes/stats.rb +79 -0
- data/lib/elasticsearch/api/actions/percolate.rb +67 -21
- data/lib/elasticsearch/api/actions/snapshot/create.rb +48 -0
- data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +44 -0
- data/lib/elasticsearch/api/actions/snapshot/delete.rb +41 -0
- data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +38 -0
- data/lib/elasticsearch/api/actions/snapshot/get.rb +47 -0
- data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +42 -0
- data/lib/elasticsearch/api/actions/snapshot/restore.rb +53 -0
- data/lib/elasticsearch/api/actions/termvector.rb +77 -0
- data/lib/elasticsearch/api/namespace/cat.rb +20 -0
- data/lib/elasticsearch/api/namespace/nodes.rb +20 -0
- data/lib/elasticsearch/api/namespace/snapshot.rb +20 -0
- data/lib/elasticsearch/api/utils.rb +2 -4
- data/lib/elasticsearch/api/version.rb +1 -1
- data/test/integration/yaml_test_runner.rb +37 -8
- data/test/unit/cat/aliases_test.rb +26 -0
- data/test/unit/cat/allocation_test.rb +26 -0
- data/test/unit/cat/count_test.rb +26 -0
- data/test/unit/cat/health_test.rb +26 -0
- data/test/unit/cat/help_test.rb +26 -0
- data/test/unit/cat/indices_test.rb +26 -0
- data/test/unit/cat/master_test.rb +26 -0
- data/test/unit/cat/nodes_test.rb +26 -0
- data/test/unit/cat/pending_tasks_test.rb +26 -0
- data/test/unit/cat/recovery_test.rb +26 -0
- data/test/unit/cat/shards_test.rb +26 -0
- data/test/unit/cluster/state_test.rb +12 -3
- data/test/unit/count_percolate_test.rb +26 -0
- data/test/unit/indices/exists_alias_test.rb +0 -6
- data/test/unit/indices/exists_template_test.rb +59 -0
- data/test/unit/indices/get_alias_test.rb +0 -6
- data/test/unit/indices/get_aliases_test.rb +10 -0
- data/test/unit/indices/get_field_mapping_test.rb +1 -1
- data/test/unit/indices/get_mapping_test.rb +3 -3
- data/test/unit/indices/get_settings_test.rb +10 -0
- data/test/unit/indices/get_warmer_test.rb +0 -6
- data/test/unit/indices/put_alias_test.rb +0 -6
- data/test/unit/indices/put_mapping_test.rb +5 -11
- data/test/unit/indices/put_settings_test.rb +9 -0
- data/test/unit/indices/put_warmer_test.rb +0 -6
- data/test/unit/mpercolate_test.rb +51 -0
- data/test/unit/mtermvectors_test.rb +38 -0
- data/test/unit/{cluster/node_hot_threads_test.rb → nodes/hot_threads_test.rb} +5 -5
- data/test/unit/{cluster/node_info_test.rb → nodes/info_test.rb} +6 -6
- data/test/unit/{cluster/node_shutdown_test.rb → nodes/shutdown_test.rb} +6 -6
- data/test/unit/{cluster/node_stats_test.rb → nodes/stats_test.rb} +10 -10
- data/test/unit/percolate_test.rb +2 -13
- data/test/unit/snapshot/create_repository_test.rb +38 -0
- data/test/unit/snapshot/create_test.rb +38 -0
- data/test/unit/snapshot/delete_repository_test.rb +35 -0
- data/test/unit/snapshot/delete_test.rb +38 -0
- data/test/unit/snapshot/get_repository_test.rb +26 -0
- data/test/unit/snapshot/get_test.rb +38 -0
- data/test/unit/snapshot/restore_test.rb +38 -0
- data/test/unit/termvector_test.rb +44 -0
- data/test/unit/utils_test.rb +11 -0
- metadata +89 -17
- data/lib/elasticsearch/api/actions/cluster/node_stats.rb +0 -75
@@ -17,6 +17,8 @@ module Elasticsearch
|
|
17
17
|
# `missing` ones (options: none, missing) @until 1.0
|
18
18
|
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
19
19
|
# unavailable (missing, closed, etc)
|
20
|
+
# @option arguments [Boolean] :local Return local information, do not retrieve the state from master node
|
21
|
+
# (default: false)
|
20
22
|
#
|
21
23
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-indices-types-exists/
|
22
24
|
#
|
@@ -27,7 +29,8 @@ module Elasticsearch
|
|
27
29
|
:ignore_indices,
|
28
30
|
:ignore_unavailable,
|
29
31
|
:allow_no_indices,
|
30
|
-
:expand_wildcards
|
32
|
+
:expand_wildcards,
|
33
|
+
:local
|
31
34
|
]
|
32
35
|
|
33
36
|
method = 'HEAD'
|
@@ -14,7 +14,7 @@ module Elasticsearch
|
|
14
14
|
# client.indices.get_alias index: 'log*', name: '2013'
|
15
15
|
#
|
16
16
|
# @option arguments [List] :index A comma-separated list of index names to filter aliases
|
17
|
-
# @option arguments [List] :name A comma-separated list of alias names to return
|
17
|
+
# @option arguments [List] :name A comma-separated list of alias names to return
|
18
18
|
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
|
19
19
|
# no concrete indices. (This includes `_all` string or when no
|
20
20
|
# indices have been specified)
|
@@ -24,16 +24,18 @@ module Elasticsearch
|
|
24
24
|
# `missing` ones (options: none, missing) @until 1.0
|
25
25
|
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
26
26
|
# unavailable (missing, closed, etc)
|
27
|
+
# @option arguments [Boolean] :local Return local information, do not retrieve the state from master node
|
28
|
+
# (default: false)
|
27
29
|
#
|
28
30
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-indices-aliases/
|
29
31
|
#
|
30
32
|
def get_alias(arguments={})
|
31
|
-
raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
|
32
33
|
valid_params = [
|
33
34
|
:ignore_indices,
|
34
35
|
:ignore_unavailable,
|
35
36
|
:allow_no_indices,
|
36
|
-
:expand_wildcards
|
37
|
+
:expand_wildcards,
|
38
|
+
:local
|
37
39
|
]
|
38
40
|
|
39
41
|
method = 'GET'
|
@@ -10,15 +10,18 @@ module Elasticsearch
|
|
10
10
|
# client.indices.get_aliases
|
11
11
|
#
|
12
12
|
# @option arguments [List] :index A comma-separated list of index names to filter aliases
|
13
|
+
# @option arguments [List] :name A comma-separated list of alias names to filter
|
13
14
|
# @option arguments [Time] :timeout Explicit timestamp for the document
|
15
|
+
# @option arguments [Boolean] :local Return local information,
|
16
|
+
# do not retrieve the state from master node (default: false)
|
14
17
|
#
|
15
|
-
# @see http://www.elasticsearch.org/guide/reference/
|
18
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html
|
16
19
|
#
|
17
20
|
def get_aliases(arguments={})
|
18
|
-
valid_params = [ :timeout ]
|
21
|
+
valid_params = [ :timeout, :local ]
|
19
22
|
|
20
23
|
method = 'GET'
|
21
|
-
path = Utils.__pathify Utils.__listify(arguments[:index]), '_aliases'
|
24
|
+
path = Utils.__pathify Utils.__listify(arguments[:index]), '_aliases', Utils.__listify(arguments[:name])
|
22
25
|
|
23
26
|
params = Utils.__validate_and_extract_params arguments, valid_params
|
24
27
|
body = nil
|
@@ -46,8 +46,9 @@ module Elasticsearch
|
|
46
46
|
method = 'GET'
|
47
47
|
path = Utils.__pathify(
|
48
48
|
Utils.__listify(arguments[:index]),
|
49
|
+
'_mapping',
|
49
50
|
Utils.__listify(arguments[:type]),
|
50
|
-
'
|
51
|
+
'field',
|
51
52
|
Utils.__listify(arguments[:field])
|
52
53
|
)
|
53
54
|
params = Utils.__validate_and_extract_params arguments, valid_params
|
@@ -28,19 +28,24 @@ module Elasticsearch
|
|
28
28
|
# `missing` ones (options: none, missing) @until 1.0
|
29
29
|
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
30
30
|
# unavailable (missing, closed, etc)
|
31
|
+
# @option arguments [Boolean] :local Return local information, do not retrieve the state from master node
|
32
|
+
# (default: false)
|
31
33
|
#
|
32
|
-
# @see http://www.elasticsearch.org/guide/reference/
|
34
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-get-mapping.html
|
33
35
|
#
|
34
36
|
def get_mapping(arguments={})
|
35
37
|
valid_params = [
|
36
38
|
:ignore_indices,
|
37
39
|
:ignore_unavailable,
|
38
40
|
:allow_no_indices,
|
39
|
-
:expand_wildcards
|
41
|
+
:expand_wildcards,
|
42
|
+
:local
|
40
43
|
]
|
41
44
|
|
42
45
|
method = 'GET'
|
43
|
-
path = Utils.__pathify Utils.__listify(arguments[:index]),
|
46
|
+
path = Utils.__pathify Utils.__listify(arguments[:index]),
|
47
|
+
'_mapping',
|
48
|
+
Utils.__listify(arguments[:type])
|
44
49
|
params = Utils.__validate_and_extract_params arguments, valid_params
|
45
50
|
body = nil
|
46
51
|
|
@@ -23,6 +23,7 @@ module Elasticsearch
|
|
23
23
|
#
|
24
24
|
# @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string
|
25
25
|
# to perform the operation on all indices
|
26
|
+
# @option arguments [List] :name The name of the settings that should be included in the response
|
26
27
|
# @option arguments [String] :prefix The prefix all settings must have in order to be included
|
27
28
|
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
|
28
29
|
# no concrete indices. (This includes `_all` string or when no
|
@@ -34,6 +35,8 @@ module Elasticsearch
|
|
34
35
|
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
35
36
|
# unavailable (missing, closed, etc)
|
36
37
|
# @option arguments [Boolean] :flat_settings Return settings in flat format (default: false)
|
38
|
+
# @option arguments [Boolean] :local Return local information, do not retrieve the state from master node
|
39
|
+
# (default: false)
|
37
40
|
#
|
38
41
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-indices-get-settings/
|
39
42
|
#
|
@@ -44,14 +47,16 @@ module Elasticsearch
|
|
44
47
|
:ignore_unavailable,
|
45
48
|
:allow_no_indices,
|
46
49
|
:expand_wildcards,
|
47
|
-
:flat_settings
|
50
|
+
:flat_settings,
|
51
|
+
:local
|
48
52
|
]
|
49
53
|
|
50
54
|
method = 'GET'
|
51
55
|
path = Utils.__pathify Utils.__listify(arguments[:index]),
|
52
56
|
Utils.__listify(arguments[:type]),
|
53
57
|
arguments.delete(:prefix),
|
54
|
-
'_settings'
|
58
|
+
'_settings',
|
59
|
+
Utils.__escape(arguments[:name])
|
55
60
|
params = Utils.__validate_and_extract_params arguments, valid_params
|
56
61
|
body = nil
|
57
62
|
|
@@ -39,8 +39,6 @@ module Elasticsearch
|
|
39
39
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-indices-warmers/
|
40
40
|
#
|
41
41
|
def get_warmer(arguments={})
|
42
|
-
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
43
|
-
|
44
42
|
valid_params = [
|
45
43
|
:ignore_indices,
|
46
44
|
:ignore_unavailable,
|
@@ -24,7 +24,6 @@ module Elasticsearch
|
|
24
24
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-indices-aliases/
|
25
25
|
#
|
26
26
|
def put_alias(arguments={})
|
27
|
-
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
28
27
|
raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
|
29
28
|
valid_params = [ :timeout ]
|
30
29
|
|
@@ -17,9 +17,17 @@ module Elasticsearch
|
|
17
17
|
# }
|
18
18
|
# }
|
19
19
|
#
|
20
|
+
# @example Update the mapping for a specific type in all indices
|
21
|
+
#
|
22
|
+
# client.indices.put_mapping type: 'mytype', body: {
|
23
|
+
# mytype: {
|
24
|
+
# dynamic: 'strict'
|
25
|
+
# }
|
26
|
+
# }
|
27
|
+
#
|
20
28
|
# @option arguments [Hash] :body The mapping definition (*Required*)
|
21
|
-
# @option arguments [List] :index A comma-separated list of index names; use `_all`
|
22
|
-
#
|
29
|
+
# @option arguments [List] :index A comma-separated list of index names; use `_all` or omit to
|
30
|
+
# update the mapping for all indices
|
23
31
|
# @option arguments [String] :type The name of the document type (*Required*)
|
24
32
|
# @option arguments [Boolean] :ignore_conflicts Specify whether to ignore conflicts while updating the mapping
|
25
33
|
# (default: false)
|
@@ -38,7 +46,6 @@ module Elasticsearch
|
|
38
46
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/
|
39
47
|
#
|
40
48
|
def put_mapping(arguments={})
|
41
|
-
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
42
49
|
raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
|
43
50
|
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
44
51
|
|
@@ -53,7 +60,7 @@ module Elasticsearch
|
|
53
60
|
]
|
54
61
|
|
55
62
|
method = 'PUT'
|
56
|
-
path = Utils.__pathify Utils.__listify(arguments[:index]), Utils.__escape(arguments[:type])
|
63
|
+
path = Utils.__pathify Utils.__listify(arguments[:index]), '_mapping', Utils.__escape(arguments[:type])
|
57
64
|
|
58
65
|
params = Utils.__validate_and_extract_params arguments, valid_params
|
59
66
|
body = arguments[:body]
|
@@ -38,7 +38,6 @@ module Elasticsearch
|
|
38
38
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-indices-warmers/
|
39
39
|
#
|
40
40
|
def put_warmer(arguments={})
|
41
|
-
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
42
41
|
raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
|
43
42
|
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
44
43
|
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Actions
|
4
|
+
|
5
|
+
# Perform multiple percolate operations in a single request, similar to the {#msearch} API
|
6
|
+
#
|
7
|
+
# Pass the percolate definitions as header-body pairs in the `:body` argument, as an Array of Hashes.
|
8
|
+
#
|
9
|
+
# @example Perform two different percolations in a single request
|
10
|
+
#
|
11
|
+
# client.mpercolate \
|
12
|
+
# body: [
|
13
|
+
# { percolate: { index: "my-index", type: "my-type" } },
|
14
|
+
# { doc: { message: "foo bar" } },
|
15
|
+
# { percolate: { index: "my-other-index", type: "my-other-type", id: "1" } },
|
16
|
+
# { }
|
17
|
+
# ]
|
18
|
+
#
|
19
|
+
# @option arguments [String] :index The index of the document being count percolated to use as default
|
20
|
+
# @option arguments [String] :type The type of the document being percolated to use as default.
|
21
|
+
# @option arguments [Array<Hash>] The percolate request definitions (header & body pairs) (*Required*)
|
22
|
+
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
23
|
+
# unavailable (missing or closed)
|
24
|
+
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
|
25
|
+
# no concrete indices. (This includes `_all` string or when no
|
26
|
+
# indices have been specified)
|
27
|
+
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are
|
28
|
+
# open, closed or both. (options: open, closed)
|
29
|
+
#
|
30
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-percolate.html
|
31
|
+
#
|
32
|
+
def mpercolate(arguments={})
|
33
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
34
|
+
valid_params = [
|
35
|
+
:ignore_unavailable,
|
36
|
+
:allow_no_indices,
|
37
|
+
:expand_wildcards ]
|
38
|
+
|
39
|
+
method = 'GET'
|
40
|
+
path = "_mpercolate"
|
41
|
+
|
42
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
43
|
+
body = arguments[:body]
|
44
|
+
|
45
|
+
case
|
46
|
+
when body.is_a?(Array)
|
47
|
+
payload = body.map { |d| d.is_a?(String) ? d : MultiJson.dump(d) }
|
48
|
+
payload << "" unless payload.empty?
|
49
|
+
payload = payload.join("\n")
|
50
|
+
else
|
51
|
+
payload = body
|
52
|
+
end
|
53
|
+
|
54
|
+
perform_request(method, path, params, payload).body
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Actions
|
4
|
+
|
5
|
+
# Returns information and statistics about terms in the fields of multiple documents
|
6
|
+
# in a single request/response. The semantics are similar to the {#mget} API.
|
7
|
+
#
|
8
|
+
# @example Return information about multiple documents in a specific index
|
9
|
+
#
|
10
|
+
# subject.mtermvectors index: 'my-index', type: 'my-type', body: { ids: [1, 2, 3] }
|
11
|
+
#
|
12
|
+
# @option arguments [String] :index The name of the index
|
13
|
+
# @option arguments [String] :type The type of the document
|
14
|
+
# @option arguments [Hash] :body Document identifiers; can be either `docs` (containing full document information)
|
15
|
+
# or `ids` (when index and type is provided in the URL (*Required*)
|
16
|
+
# @option arguments [List] :ids A comma-separated list of documents ids (alternative to `:body`)
|
17
|
+
# @option arguments [Boolean] :term_statistics Whether total term frequency and
|
18
|
+
# document frequency should be returned.
|
19
|
+
# @option arguments [Boolean] :field_statistics Whether document count, sum of document frequencies
|
20
|
+
# and sum of total term frequencies should be returned.
|
21
|
+
# @option arguments [List] :fields A comma-separated list of fields to return
|
22
|
+
# @option arguments [Boolean] :offsets Whether term offsets should be returned
|
23
|
+
# @option arguments [Boolean] :positions Whether term positions should be returned
|
24
|
+
# @option arguments [Boolean] :payloads Whether term payloads should be returned
|
25
|
+
# @option arguments [String] :preference Specify the node or shard the operation should be performed on
|
26
|
+
# (default: random)
|
27
|
+
# @option arguments [String] :routing Specific routing value
|
28
|
+
# @option arguments [String] :parent Parent ID of documents
|
29
|
+
#
|
30
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/docs-multi-termvectors.html
|
31
|
+
#
|
32
|
+
# @see #mget
|
33
|
+
# @see #termvector
|
34
|
+
#
|
35
|
+
def mtermvectors(arguments={})
|
36
|
+
valid_params = [
|
37
|
+
:ids,
|
38
|
+
:term_statistics,
|
39
|
+
:field_statistics,
|
40
|
+
:fields,
|
41
|
+
:offsets,
|
42
|
+
:positions,
|
43
|
+
:payloads,
|
44
|
+
:preference,
|
45
|
+
:routing,
|
46
|
+
:parent ]
|
47
|
+
|
48
|
+
ids = arguments.delete(:ids)
|
49
|
+
|
50
|
+
method = 'GET'
|
51
|
+
path = Utils.__pathify Utils.__escape(arguments[:index]),
|
52
|
+
Utils.__escape(arguments[:type]),
|
53
|
+
'_mtermvectors'
|
54
|
+
|
55
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
56
|
+
|
57
|
+
if ids
|
58
|
+
body = { :ids => ids }
|
59
|
+
else
|
60
|
+
body = arguments[:body]
|
61
|
+
end
|
62
|
+
|
63
|
+
perform_request(method, path, params, body).body
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Elasticsearch
|
2
2
|
module API
|
3
|
-
module
|
3
|
+
module Nodes
|
4
4
|
module Actions
|
5
5
|
|
6
6
|
# Returns information about the hottest threads in the cluster or on a specific node as a String.
|
@@ -11,7 +11,7 @@ module Elasticsearch
|
|
11
11
|
#
|
12
12
|
# @example Return 10 hottest threads
|
13
13
|
#
|
14
|
-
# client.
|
14
|
+
# client.nodes.hot_threads threads: 10
|
15
15
|
#
|
16
16
|
# @option arguments [List] :node_id A comma-separated list of node IDs or names to limit the returned information;
|
17
17
|
# use `_local` to return information from the node you're connecting to,
|
@@ -25,7 +25,7 @@ module Elasticsearch
|
|
25
25
|
#
|
26
26
|
# @see http://www.elasticsearch.org/guide/reference/api/admin-cluster-nodes-hot-threads/
|
27
27
|
#
|
28
|
-
def
|
28
|
+
def hot_threads(arguments={})
|
29
29
|
valid_params = [
|
30
30
|
:interval,
|
31
31
|
:snapshots,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Elasticsearch
|
2
2
|
module API
|
3
|
-
module
|
3
|
+
module Nodes
|
4
4
|
module Actions
|
5
5
|
|
6
6
|
# Returns information about nodes in the cluster (cluster settings, JVM version, etc).
|
@@ -12,7 +12,7 @@ module Elasticsearch
|
|
12
12
|
#
|
13
13
|
# @example Return information about JVM
|
14
14
|
#
|
15
|
-
# client.
|
15
|
+
# client.nodes.info jvm: true
|
16
16
|
#
|
17
17
|
# @option arguments [List] :node_id A comma-separated list of node IDs or names to limit the returned information;
|
18
18
|
# use `_local` to return information from the node you're connecting to, leave
|
@@ -31,7 +31,7 @@ module Elasticsearch
|
|
31
31
|
#
|
32
32
|
# @see http://elasticsearch.org/guide/reference/api/admin-cluster-nodes-info/
|
33
33
|
#
|
34
|
-
def
|
34
|
+
def info(arguments={})
|
35
35
|
valid_params = [
|
36
36
|
:all,
|
37
37
|
:clear,
|
@@ -1,13 +1,13 @@
|
|
1
1
|
module Elasticsearch
|
2
2
|
module API
|
3
|
-
module
|
3
|
+
module Nodes
|
4
4
|
module Actions
|
5
5
|
|
6
6
|
# Shutdown one or all nodes
|
7
7
|
#
|
8
8
|
# @example Shut down node named _Bloke_
|
9
9
|
#
|
10
|
-
# client.
|
10
|
+
# client.nodes.shutdown node_id: 'Bloke'
|
11
11
|
#
|
12
12
|
# @option arguments [List] :node_id A comma-separated list of node IDs or names to perform the operation on; use
|
13
13
|
# `_local` to shutdown the node you're connected to, leave empty to
|
@@ -17,7 +17,7 @@ module Elasticsearch
|
|
17
17
|
#
|
18
18
|
# @see http://elasticsearch.org/guide/reference/api/admin-cluster-nodes-shutdown/
|
19
19
|
#
|
20
|
-
def
|
20
|
+
def shutdown(arguments={})
|
21
21
|
valid_params = [
|
22
22
|
:delay,
|
23
23
|
:exit ]
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Nodes
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Returns statistical information about nodes in the cluster.
|
7
|
+
#
|
8
|
+
# @example Return statistics about JVM
|
9
|
+
#
|
10
|
+
# client.nodes.stats metric: 'jvm'
|
11
|
+
#
|
12
|
+
# @example Return statistics about field data structures for all fields
|
13
|
+
#
|
14
|
+
# client.nodes.stats metric: 'indices', index_metric: 'fielddata', fields: '*', human: true
|
15
|
+
#
|
16
|
+
# @option arguments [List] :metric Limit the information returned to the specified metrics
|
17
|
+
# (options: _all, breaker, fs, http, indices, jvm, network,
|
18
|
+
# os, process, thread_pool, transport)
|
19
|
+
# @option arguments [List] :index_metric Limit the information returned for the `indices` metric
|
20
|
+
# to the specified index metrics. Used only when
|
21
|
+
# `indices` or `all` metric is specified.
|
22
|
+
# (options: _all, completion, docs, fielddata, filter_cache, flush, get,
|
23
|
+
# id_cache, indexing, merge, percolate, refresh, search, segments, store,
|
24
|
+
# warmer)
|
25
|
+
# @option arguments [List] :node_id A comma-separated list of node IDs or names to limit
|
26
|
+
# the returned information; use `_local` to return information
|
27
|
+
# from the node you're connecting to, leave empty to get information
|
28
|
+
# from all nodes
|
29
|
+
# @option arguments [List] :completion_fields A comma-separated list of fields for `fielddata` and `suggest`
|
30
|
+
# index metrics (supports wildcards)
|
31
|
+
# @option arguments [List] :fielddata_fields A comma-separated list of fields for `fielddata` index metric
|
32
|
+
# (supports wildcards)
|
33
|
+
# @option arguments [List] :fields A comma-separated list of fields for `fielddata` and `completion` index
|
34
|
+
# metrics (supports wildcards)
|
35
|
+
# @option arguments [Boolean] :groups A comma-separated list of search groups for `search` index metric
|
36
|
+
# @option arguments [Boolean] :human Whether to return time and byte values in human-readable format
|
37
|
+
# @option arguments [String] :level Specify the level for aggregating indices stats
|
38
|
+
# (options: node, indices, shards)
|
39
|
+
# @option arguments [List] :types A comma-separated list of document types for the `indexing` index metric
|
40
|
+
#
|
41
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/cluster-nodes-stats.html
|
42
|
+
#
|
43
|
+
def stats(arguments={})
|
44
|
+
arguments = arguments.clone
|
45
|
+
|
46
|
+
valid_params = [
|
47
|
+
:metric,
|
48
|
+
:index_metric,
|
49
|
+
:node_id,
|
50
|
+
:completion_fields,
|
51
|
+
:fielddata_fields,
|
52
|
+
:fields,
|
53
|
+
:groups,
|
54
|
+
:human,
|
55
|
+
:level,
|
56
|
+
:types ]
|
57
|
+
|
58
|
+
method = 'GET'
|
59
|
+
|
60
|
+
path = Utils.__pathify '_nodes',
|
61
|
+
Utils.__listify(arguments[:node_id]),
|
62
|
+
'stats',
|
63
|
+
Utils.__listify(arguments.delete(:metric)),
|
64
|
+
Utils.__listify(arguments.delete(:index_metric))
|
65
|
+
|
66
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
67
|
+
|
68
|
+
[:completion_fields, :fielddata_fields, :fields, :groups, :types].each do |key|
|
69
|
+
params[key] = Utils.__listify(params[key]) if params[key]
|
70
|
+
end
|
71
|
+
|
72
|
+
body = nil
|
73
|
+
|
74
|
+
perform_request(method, path, params, body).body
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|