elasticsearch-api 6.3.0 → 6.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/elasticsearch/api/actions/delete_template.rb +21 -0
- data/lib/elasticsearch/api/actions/field_stats.rb +36 -0
- data/lib/elasticsearch/api/actions/get_template.rb +27 -0
- data/lib/elasticsearch/api/actions/indices/delete_mapping.rb +26 -0
- data/lib/elasticsearch/api/actions/indices/delete_warmer.rb +32 -0
- data/lib/elasticsearch/api/actions/indices/get_aliases.rb +37 -0
- data/lib/elasticsearch/api/actions/indices/get_warmer.rb +62 -0
- data/lib/elasticsearch/api/actions/indices/optimize.rb +77 -0
- data/lib/elasticsearch/api/actions/indices/put_warmer.rb +65 -0
- data/lib/elasticsearch/api/actions/indices/seal.rb +24 -0
- data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +44 -0
- data/lib/elasticsearch/api/actions/indices/status.rb +63 -0
- data/lib/elasticsearch/api/actions/list_benchmarks.rb +27 -0
- data/lib/elasticsearch/api/actions/mlt.rb +130 -0
- data/lib/elasticsearch/api/actions/mpercolate.rb +62 -0
- data/lib/elasticsearch/api/actions/nodes/shutdown.rb +39 -0
- data/lib/elasticsearch/api/actions/percolate.rb +73 -0
- data/lib/elasticsearch/api/actions/put_template.rb +25 -0
- data/lib/elasticsearch/api/actions/remote/info.rb +21 -0
- data/lib/elasticsearch/api/actions/search_exists.rb +63 -0
- data/lib/elasticsearch/api/actions/suggest.rb +49 -0
- data/lib/elasticsearch/api/version.rb +1 -1
- data/spec/elasticsearch/api/actions/delete_template_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/field_stats_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/get_template_spec.rb +52 -0
- data/spec/elasticsearch/api/actions/indices/delete_mapping_spec.rb +77 -0
- data/spec/elasticsearch/api/actions/indices/delete_warmer_spec.rb +86 -0
- data/spec/elasticsearch/api/actions/indices/get_aliases_spec.rb +55 -0
- data/spec/elasticsearch/api/actions/indices/get_warmer_spec.rb +48 -0
- data/spec/elasticsearch/api/actions/indices/optimize_spec.rb +63 -0
- data/spec/elasticsearch/api/actions/indices/put_warmer_spec.rb +101 -0
- data/spec/elasticsearch/api/actions/indices/seal_spec.rb +18 -0
- data/spec/elasticsearch/api/actions/indices/snapshot_index_spec.rb +89 -0
- data/spec/elasticsearch/api/actions/indices/status_spec.rb +92 -0
- data/spec/elasticsearch/api/actions/list_benchmarks_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/mlt_spec.rb +130 -0
- data/spec/elasticsearch/api/actions/mpercolate_spec.rb +49 -0
- data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +59 -0
- data/spec/elasticsearch/api/actions/percolate_spec.rb +67 -0
- data/spec/elasticsearch/api/actions/put_template_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/remote/info_spec.rb +18 -0
- data/spec/elasticsearch/api/actions/search_exists_spec.rb +63 -0
- data/spec/elasticsearch/api/actions/suggest_spec.rb +77 -0
- metadata +65 -2
@@ -0,0 +1,63 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Indices
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Return information about one or more indices
|
7
|
+
#
|
8
|
+
# @example Get information about all indices
|
9
|
+
#
|
10
|
+
# client.indices.status
|
11
|
+
#
|
12
|
+
# @example Get information about a specific index
|
13
|
+
#
|
14
|
+
# client.indices.status index: 'foo'
|
15
|
+
#
|
16
|
+
# @example Get information about shard recovery for a specific index
|
17
|
+
#
|
18
|
+
# client.indices.status index: 'foo', recovery: true
|
19
|
+
#
|
20
|
+
# @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string
|
21
|
+
# to perform the operation on all indices
|
22
|
+
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
|
23
|
+
# no concrete indices. (This includes `_all` string or when no
|
24
|
+
# indices have been specified)
|
25
|
+
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that
|
26
|
+
# are open, closed or both. (options: open, closed)
|
27
|
+
# @option arguments [String] :ignore_indices When performed on multiple indices, allows to ignore
|
28
|
+
# `missing` ones (options: none, missing) @until 1.0
|
29
|
+
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
30
|
+
# unavailable (missing, closed, etc)
|
31
|
+
# @option arguments [Boolean] :recovery Return information about shard recovery (progress, size, etc)
|
32
|
+
# @option arguments [Boolean] :snapshot Return information about snapshots (when shared gateway is used)
|
33
|
+
#
|
34
|
+
# @see http://elasticsearch.org/guide/reference/api/admin-indices-status/
|
35
|
+
#
|
36
|
+
def status(arguments={})
|
37
|
+
method = HTTP_GET
|
38
|
+
path = Utils.__pathify Utils.__listify(arguments[:index]), '_status'
|
39
|
+
|
40
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
41
|
+
body = nil
|
42
|
+
|
43
|
+
if Array(arguments[:ignore]).include?(404)
|
44
|
+
Utils.__rescue_from_not_found { perform_request(method, path, params, body).body }
|
45
|
+
else
|
46
|
+
perform_request(method, path, params, body).body
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
# Register this action with its valid params when the module is loaded.
|
51
|
+
#
|
52
|
+
# @since 6.2.0
|
53
|
+
ParamsRegistry.register(:status, [
|
54
|
+
:ignore_indices,
|
55
|
+
:ignore_unavailable,
|
56
|
+
:allow_no_indices,
|
57
|
+
:expand_wildcards,
|
58
|
+
:recovery,
|
59
|
+
:snapshot ].freeze)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Actions
|
4
|
+
|
5
|
+
# Return a list of running benchmarks
|
6
|
+
#
|
7
|
+
# @example
|
8
|
+
#
|
9
|
+
# client.list_benchmarks
|
10
|
+
#
|
11
|
+
# @option arguments [List] :index A comma-separated list of index names; use `_all` or empty string
|
12
|
+
# to perform the operation on all indices
|
13
|
+
# @option arguments [String] :type The name of the document type
|
14
|
+
#
|
15
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-benchmark.html
|
16
|
+
#
|
17
|
+
def list_benchmarks(arguments={})
|
18
|
+
method = HTTP_GET
|
19
|
+
path = "_bench"
|
20
|
+
params = {}
|
21
|
+
body = nil
|
22
|
+
|
23
|
+
perform_request(method, path, params, body).body
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Actions
|
4
|
+
|
5
|
+
# Return documents similar to the specified one.
|
6
|
+
#
|
7
|
+
# Performs a `more_like_this` query with the specified document as the input.
|
8
|
+
#
|
9
|
+
# @example Search for similar documents using the `title` property of document `myindex/mytype/1`
|
10
|
+
#
|
11
|
+
# # First, let's setup a synonym-aware analyzer ("quick" <=> "fast")
|
12
|
+
# client.indices.create index: 'myindex', body: {
|
13
|
+
# settings: {
|
14
|
+
# analysis: {
|
15
|
+
# filter: {
|
16
|
+
# synonyms: {
|
17
|
+
# type: 'synonym',
|
18
|
+
# synonyms: [ "quick,fast" ]
|
19
|
+
# }
|
20
|
+
# },
|
21
|
+
# analyzer: {
|
22
|
+
# title_synonym: {
|
23
|
+
# type: 'custom',
|
24
|
+
# tokenizer: 'whitespace',
|
25
|
+
# filter: ['lowercase', 'stop', 'snowball', 'synonyms']
|
26
|
+
# }
|
27
|
+
# }
|
28
|
+
# }
|
29
|
+
# },
|
30
|
+
# mappings: {
|
31
|
+
# mytype: {
|
32
|
+
# properties: {
|
33
|
+
# title: {
|
34
|
+
# type: 'string',
|
35
|
+
# analyzer: 'title_synonym'
|
36
|
+
# }
|
37
|
+
# }
|
38
|
+
# }
|
39
|
+
# }
|
40
|
+
# }
|
41
|
+
#
|
42
|
+
# # Index three documents
|
43
|
+
# client.index index: 'myindex', type: 'mytype', id: 1, body: { title: 'Quick Brown Fox' }
|
44
|
+
# client.index index: 'myindex', type: 'mytype', id: 2, body: { title: 'Slow Black Dog' }
|
45
|
+
# client.index index: 'myindex', type: 'mytype', id: 3, body: { title: 'Fast White Rabbit' }
|
46
|
+
# client.indices.refresh index: 'myindex'
|
47
|
+
#
|
48
|
+
# client.mlt index: 'myindex', type: 'mytype', id: 1, mlt_fields: 'title', min_doc_freq: 1, min_term_freq: 1
|
49
|
+
# # => { ... {"title"=>"Fast White Rabbit"}}]}}
|
50
|
+
#
|
51
|
+
# @option arguments [String] :id The document ID (*Required*)
|
52
|
+
# @option arguments [String] :index The name of the index (*Required*)
|
53
|
+
# @option arguments [String] :type The type of the document (use `_all` to fetch
|
54
|
+
# the first document matching the ID across all types) (*Required*)
|
55
|
+
# @option arguments [Hash] :body A specific search request definition
|
56
|
+
# @option arguments [Number] :boost_terms The boost factor
|
57
|
+
# @option arguments [Number] :max_doc_freq The word occurrence frequency as count: words with higher occurrence
|
58
|
+
# in the corpus will be ignored
|
59
|
+
# @option arguments [Number] :max_query_terms The maximum query terms to be included in the generated query
|
60
|
+
# @option arguments [Number] :max_word_len The minimum length of the word: longer words will be ignored
|
61
|
+
# @option arguments [Number] :min_doc_freq The word occurrence frequency as count: words with lower occurrence
|
62
|
+
# in the corpus will be ignored
|
63
|
+
# @option arguments [Number] :min_term_freq The term frequency as percent: terms with lower occurence
|
64
|
+
# in the source document will be ignored
|
65
|
+
# @option arguments [Number] :min_word_len The minimum length of the word: shorter words will be ignored
|
66
|
+
# @option arguments [List] :mlt_fields Specific fields to perform the query against
|
67
|
+
# @option arguments [Number] :percent_terms_to_match How many terms have to match in order to consider
|
68
|
+
# the document a match (default: 0.3)
|
69
|
+
# @option arguments [String] :routing Specific routing value
|
70
|
+
# @option arguments [Number] :search_from The offset from which to return results
|
71
|
+
# @option arguments [List] :search_indices A comma-separated list of indices to perform the query against
|
72
|
+
# (default: the index containing the document)
|
73
|
+
# @option arguments [String] :search_query_hint The search query hint
|
74
|
+
# @option arguments [String] :search_scroll A scroll search request definition
|
75
|
+
# @option arguments [Number] :search_size The number of documents to return (default: 10)
|
76
|
+
# @option arguments [String] :search_source A specific search request definition (instead of using the request body)
|
77
|
+
# @option arguments [String] :search_type Specific search type (eg. `dfs_then_fetch`, `count`, etc)
|
78
|
+
# @option arguments [List] :search_types A comma-separated list of types to perform the query against
|
79
|
+
# (default: the same type as the document)
|
80
|
+
# @option arguments [List] :stop_words A list of stop words to be ignored
|
81
|
+
#
|
82
|
+
# @see http://elasticsearch.org/guide/reference/api/more-like-this/
|
83
|
+
#
|
84
|
+
def mlt(arguments={})
|
85
|
+
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
86
|
+
raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
|
87
|
+
raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
|
88
|
+
method = HTTP_GET
|
89
|
+
path = Utils.__pathify Utils.__escape(arguments[:index]),
|
90
|
+
Utils.__escape(arguments[:type]),
|
91
|
+
Utils.__escape(arguments[:id]),
|
92
|
+
'_mlt'
|
93
|
+
|
94
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
95
|
+
|
96
|
+
[:mlt_fields, :search_indices, :search_types, :stop_words].each do |name|
|
97
|
+
params[name] = Utils.__listify(params[name]) if params[name]
|
98
|
+
end
|
99
|
+
|
100
|
+
body = arguments[:body]
|
101
|
+
|
102
|
+
perform_request(method, path, params, body).body
|
103
|
+
end
|
104
|
+
|
105
|
+
# Register this action with its valid params when the module is loaded.
|
106
|
+
#
|
107
|
+
# @since 6.2.0
|
108
|
+
ParamsRegistry.register(:mlt, [
|
109
|
+
:boost_terms,
|
110
|
+
:max_doc_freq,
|
111
|
+
:max_query_terms,
|
112
|
+
:max_word_len,
|
113
|
+
:min_doc_freq,
|
114
|
+
:min_term_freq,
|
115
|
+
:min_word_len,
|
116
|
+
:mlt_fields,
|
117
|
+
:percent_terms_to_match,
|
118
|
+
:routing,
|
119
|
+
:search_from,
|
120
|
+
:search_indices,
|
121
|
+
:search_query_hint,
|
122
|
+
:search_scroll,
|
123
|
+
:search_size,
|
124
|
+
:search_source,
|
125
|
+
:search_type,
|
126
|
+
:search_types,
|
127
|
+
:stop_words ].freeze)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
@@ -0,0 +1,62 @@
|
|
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
|
+
method = HTTP_GET
|
35
|
+
path = "_mpercolate"
|
36
|
+
|
37
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
38
|
+
body = arguments[:body]
|
39
|
+
|
40
|
+
case
|
41
|
+
when body.is_a?(Array)
|
42
|
+
payload = body.map { |d| d.is_a?(String) ? d : Elasticsearch::API.serializer.dump(d) }
|
43
|
+
payload << "" unless payload.empty?
|
44
|
+
payload = payload.join("\n")
|
45
|
+
else
|
46
|
+
payload = body
|
47
|
+
end
|
48
|
+
|
49
|
+
perform_request(method, path, params, payload).body
|
50
|
+
end
|
51
|
+
|
52
|
+
# Register this action with its valid params when the module is loaded.
|
53
|
+
#
|
54
|
+
# @since 6.2.0
|
55
|
+
ParamsRegistry.register(:mpercolate, [
|
56
|
+
:ignore_unavailable,
|
57
|
+
:allow_no_indices,
|
58
|
+
:expand_wildcards,
|
59
|
+
:percolate_format ].freeze)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Nodes
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Shutdown one or all nodes
|
7
|
+
#
|
8
|
+
# @example Shut down node named _Bloke_
|
9
|
+
#
|
10
|
+
# client.nodes.shutdown node_id: 'Bloke'
|
11
|
+
#
|
12
|
+
# @option arguments [List] :node_id A comma-separated list of node IDs or names to perform the operation on; use
|
13
|
+
# `_local` to shutdown the node you're connected to, leave empty to
|
14
|
+
# shutdown all nodes
|
15
|
+
# @option arguments [Time] :delay Set the delay for the operation (default: 1s)
|
16
|
+
# @option arguments [Boolean] :exit Exit the JVM as well (default: true)
|
17
|
+
#
|
18
|
+
# @see http://elasticsearch.org/guide/reference/api/admin-cluster-nodes-shutdown/
|
19
|
+
#
|
20
|
+
def shutdown(arguments={})
|
21
|
+
method = HTTP_POST
|
22
|
+
path = Utils.__pathify '_cluster/nodes', Utils.__listify(arguments[:node_id]), '_shutdown'
|
23
|
+
|
24
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
25
|
+
body = nil
|
26
|
+
|
27
|
+
perform_request(method, path, params, body).body
|
28
|
+
end
|
29
|
+
|
30
|
+
# Register this action with its valid params when the module is loaded.
|
31
|
+
#
|
32
|
+
# @since 6.2.0
|
33
|
+
ParamsRegistry.register(:shutdown, [
|
34
|
+
:delay,
|
35
|
+
:exit ].freeze)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Actions
|
4
|
+
|
5
|
+
# Return names of queries matching a document.
|
6
|
+
#
|
7
|
+
# Percolator allows you to register queries and then evaluate a document against them:
|
8
|
+
# the IDs of matching queries are returned in the response.
|
9
|
+
#
|
10
|
+
# @deprecated The `_percolate` API has been deprecated in favour of a special field mapping and the
|
11
|
+
# `percolate` query;
|
12
|
+
# see https://www.elastic.co/guide/en/elasticsearch/reference/5.5/breaking_50_percolator.html
|
13
|
+
#
|
14
|
+
# See full example for Elasticsearch 5.x and higher in <https://github.com/elastic/elasticsearch-ruby/blob/master/examples/percolator/percolator_alerts.rb>
|
15
|
+
#
|
16
|
+
# @option arguments [String] :index The index of the document being percolated. (*Required*)
|
17
|
+
# @option arguments [String] :type The type of the document being percolated. (*Required*)
|
18
|
+
# @option arguments [String] :id Fetch the document specified by index/type/id and
|
19
|
+
# use it instead of the passed `doc`
|
20
|
+
# @option arguments [Hash] :body The percolator request definition using the percolate DSL
|
21
|
+
# @option arguments [List] :routing A comma-separated list of specific routing values
|
22
|
+
# @option arguments [String] :preference Specify the node or shard the operation should be performed on
|
23
|
+
# (default: random)
|
24
|
+
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
25
|
+
# unavailable (missing or closed)
|
26
|
+
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
|
27
|
+
# no concrete indices. (This includes `_all` string or when no
|
28
|
+
# indices have been specified)
|
29
|
+
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are
|
30
|
+
# open, closed or both. (options: open, closed)
|
31
|
+
# @option arguments [String] :percolate_index The index to percolate the document into. Defaults to passed `index`.
|
32
|
+
# @option arguments [String] :percolate_format Return an array of matching query IDs instead of objects.
|
33
|
+
# (options: ids)
|
34
|
+
# @option arguments [String] :percolate_type The type to percolate document into. Defaults to passed `type`.
|
35
|
+
# @option arguments [Number] :version Explicit version number for concurrency control
|
36
|
+
# @option arguments [String] :version_type Specific version type (options: internal, external, external_gte, force)
|
37
|
+
#
|
38
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-percolate.html
|
39
|
+
#
|
40
|
+
def percolate(arguments={})
|
41
|
+
Utils.__report_unsupported_method :percolate
|
42
|
+
|
43
|
+
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
44
|
+
raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
|
45
|
+
method = HTTP_GET
|
46
|
+
path = Utils.__pathify Utils.__escape(arguments[:index]),
|
47
|
+
Utils.__escape(arguments[:type]),
|
48
|
+
Utils.__escape(arguments[:id]),
|
49
|
+
'_percolate'
|
50
|
+
|
51
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
52
|
+
body = arguments[:body]
|
53
|
+
|
54
|
+
perform_request(method, path, params, body).body
|
55
|
+
end
|
56
|
+
|
57
|
+
# Register this action with its valid params when the module is loaded.
|
58
|
+
#
|
59
|
+
# @since 6.2.0
|
60
|
+
ParamsRegistry.register(:percolate, [
|
61
|
+
:routing,
|
62
|
+
:preference,
|
63
|
+
:ignore_unavailable,
|
64
|
+
:allow_no_indices,
|
65
|
+
:expand_wildcards,
|
66
|
+
:percolate_index,
|
67
|
+
:percolate_type,
|
68
|
+
:percolate_format,
|
69
|
+
:version,
|
70
|
+
:version_type ].freeze)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Actions
|
4
|
+
|
5
|
+
# Store a template for the search definition in Elasticsearch,
|
6
|
+
# to be later used with the `search_template` method
|
7
|
+
#
|
8
|
+
# @option arguments [String] :id Template ID (*Required*)
|
9
|
+
# @option arguments [Hash] :body The document (*Required*)
|
10
|
+
#
|
11
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-template.html
|
12
|
+
#
|
13
|
+
def put_template(arguments={})
|
14
|
+
raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
|
15
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
16
|
+
method = HTTP_POST
|
17
|
+
path = "_scripts/#{arguments[:id]}"
|
18
|
+
params = {}
|
19
|
+
body = arguments[:body]
|
20
|
+
|
21
|
+
perform_request(method, path, params, body).body
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Remote
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Returns all of the configured remote cluster information
|
7
|
+
#
|
8
|
+
# @see http://www.elastic.co/guide/en/elasticsearch/reference/master/remote-info.html
|
9
|
+
#
|
10
|
+
def info(arguments={})
|
11
|
+
method = HTTP_GET
|
12
|
+
path = "_remote/info"
|
13
|
+
params = {}
|
14
|
+
body = nil
|
15
|
+
|
16
|
+
perform_request(method, path, params, body).body
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|