elasticsearch-api 6.3.0 → 6.3.1
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/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
|