elasticsearch-api 0.4.11 → 1.0.0.rc1
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.
- 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
@@ -2,50 +2,96 @@ module Elasticsearch
|
|
2
2
|
module API
|
3
3
|
module Actions
|
4
4
|
|
5
|
-
# Return names of queries matching
|
5
|
+
# Return names of queries matching a document.
|
6
6
|
#
|
7
7
|
# Percolator allows you to register queries and then evaluate a document against them:
|
8
8
|
# the IDs of matching queries are returned in the response.
|
9
9
|
#
|
10
|
-
# @example Register queries named "alert-1" and "alert-2" for the "
|
10
|
+
# @example Register queries named "alert-1" and "alert-2" for the "my-index" index
|
11
11
|
#
|
12
|
-
# client.index index: '
|
13
|
-
# type: '
|
12
|
+
# client.index index: 'my-index',
|
13
|
+
# type: '.percolator',
|
14
14
|
# id: 'alert-1',
|
15
15
|
# body: { query: { query_string: { query: 'foo' } } }
|
16
16
|
#
|
17
|
-
# client.index index: '
|
18
|
-
# type: '
|
17
|
+
# client.index index: 'my-index',
|
18
|
+
# type: '.percolator',
|
19
19
|
# id: 'alert-2',
|
20
20
|
# body: { query: { query_string: { query: 'bar' } } }
|
21
21
|
#
|
22
|
-
# @example Evaluate a document against the queries
|
22
|
+
# @example Evaluate a custom document (passed as `:doc`) against the queries
|
23
23
|
#
|
24
|
-
# client.percolate index: '
|
25
|
-
# # => {
|
24
|
+
# client.percolate index: 'my-index', body: { doc: { title: "Foo" } }
|
25
|
+
# # => {..., matches: [ {_index: 'my-index', _id: 'alert-1'} ]}
|
26
26
|
#
|
27
|
-
# client.percolate index: '
|
28
|
-
# # => {
|
27
|
+
# client.percolate index: 'my-index', body: { doc: { title: "Foo Bar" } }
|
28
|
+
# # => {..., matches: [ {_index: 'my-index', _id: 'alert-2'}, {_index: 'my-index', _id: 'alert-1'} ] }
|
29
29
|
#
|
30
|
-
# @
|
31
|
-
# @option arguments [String] :type The document type
|
32
|
-
# @option arguments [Hash] :body The document (`doc`) to percolate against registered queries;
|
33
|
-
# optionally also a `query` to limit the percolation to specific registered queries
|
34
|
-
# @option arguments [Boolean] :prefer_local With `true`, specify that a local shard should be used if available,
|
35
|
-
# with `false`, use a random shard (default: true)
|
30
|
+
# @example Evaluate an existing document against the queries
|
36
31
|
#
|
37
|
-
#
|
32
|
+
# client.index index: 'my-index', type: 'my-type', id: 123, body: { title: "Foo Bar" }
|
33
|
+
#
|
34
|
+
# client.percolate index: 'my-index', type: 'my-type', id: '123'
|
35
|
+
# # => { ..., matches: [ {_index: 'my-index', _id: 'alert-2'}, { _index: 'my-index', _id: 'alert-1'} ] }
|
36
|
+
#
|
37
|
+
# @example Register a query with custom `priority` property
|
38
|
+
#
|
39
|
+
# client.index index: 'my-index',
|
40
|
+
# type: '.percolator',
|
41
|
+
# id: 'alert-high-1',
|
42
|
+
# body: { query: { query_string: { query: 'foo' } },
|
43
|
+
# priority: 'high' }
|
44
|
+
#
|
45
|
+
# @example Evaluate a document against "high priority" percolator queries
|
46
|
+
#
|
47
|
+
# client.percolate index: 'my-index', body: {
|
48
|
+
# doc: { title: "Foo" },
|
49
|
+
# filter: { term: { priority: 'high' } }
|
50
|
+
# }
|
51
|
+
# # => {..., matches: [ {_index: 'my-index', _id: 'alert-high-1'} ]}
|
52
|
+
#
|
53
|
+
#
|
54
|
+
# @option arguments [String] :index The index of the document being percolated. (*Required*)
|
55
|
+
# @option arguments [String] :type The type of the document being percolated. (*Required*)
|
56
|
+
# @option arguments [String] :id Fetch the document specified by index/type/id and
|
57
|
+
# use it instead of the passed `doc`
|
58
|
+
# @option arguments [Hash] :body The percolator request definition using the percolate DSL
|
59
|
+
# @option arguments [List] :routing A comma-separated list of specific routing values
|
60
|
+
# @option arguments [String] :preference Specify the node or shard the operation should be performed on
|
61
|
+
# (default: random)
|
62
|
+
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when
|
63
|
+
# unavailable (missing or closed)
|
64
|
+
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into
|
65
|
+
# no concrete indices. (This includes `_all` string or when no
|
66
|
+
# indices have been specified)
|
67
|
+
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are
|
68
|
+
# open, closed or both. (options: open, closed)
|
69
|
+
# @option arguments [String] :percolate_index The index to percolate the document into. Defaults to passed `index`.
|
70
|
+
# @option arguments [String] :percolate_type The type to percolate document into. Defaults to passed `type`.
|
71
|
+
# @option arguments [Number] :version Explicit version number for concurrency control
|
72
|
+
# @option arguments [String] :version_type Specific version type (options: internal, external)
|
73
|
+
#
|
74
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/search-percolate.html
|
38
75
|
#
|
39
76
|
def percolate(arguments={})
|
40
77
|
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
41
|
-
raise ArgumentError, "Required argument '
|
42
|
-
arguments[:type] ||= 'document'
|
78
|
+
raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
|
43
79
|
|
44
|
-
valid_params = [
|
80
|
+
valid_params = [
|
81
|
+
:routing,
|
82
|
+
:preference,
|
83
|
+
:ignore_unavailable,
|
84
|
+
:allow_no_indices,
|
85
|
+
:expand_wildcards,
|
86
|
+
:percolate_index,
|
87
|
+
:percolate_type,
|
88
|
+
:version,
|
89
|
+
:version_type ]
|
45
90
|
|
46
91
|
method = 'GET'
|
47
92
|
path = Utils.__pathify Utils.__escape(arguments[:index]),
|
48
93
|
Utils.__escape(arguments[:type]),
|
94
|
+
arguments[:id],
|
49
95
|
'_percolate'
|
50
96
|
|
51
97
|
params = Utils.__validate_and_extract_params arguments, valid_params
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Snapshot
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Create a new snapshot in the repository
|
7
|
+
#
|
8
|
+
# @example Create a snapshot of the whole cluster in the `my-backups` repository
|
9
|
+
#
|
10
|
+
# client.snapshot.create repository: 'my-backups', snapshot: 'snapshot-1'
|
11
|
+
#
|
12
|
+
# @example Create a snapshot for specific indices in the `my-backups` repository
|
13
|
+
#
|
14
|
+
# client.snapshot.create repository: 'my-backups',
|
15
|
+
# snapshot: 'snapshot-2',
|
16
|
+
# body: { indices: 'foo,bar', ignore_unavailable: true }
|
17
|
+
#
|
18
|
+
# @option arguments [String] :repository A repository name (*Required*)
|
19
|
+
# @option arguments [String] :snapshot A snapshot name (*Required*)
|
20
|
+
# @option arguments [Hash] :body The snapshot definition
|
21
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
22
|
+
# @option arguments [Boolean] :wait_for_completion Whether the request should block and wait until
|
23
|
+
# the operation has completed
|
24
|
+
#
|
25
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
|
26
|
+
#
|
27
|
+
def create(arguments={})
|
28
|
+
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
29
|
+
raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot]
|
30
|
+
valid_params = [
|
31
|
+
:master_timeout,
|
32
|
+
:wait_for_completion ]
|
33
|
+
|
34
|
+
repository = arguments.delete(:repository)
|
35
|
+
snapshot = arguments.delete(:snapshot)
|
36
|
+
|
37
|
+
method = 'PUT'
|
38
|
+
path = Utils.__pathify( '_snapshot', Utils.__escape(repository), Utils.__escape(snapshot) )
|
39
|
+
|
40
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
41
|
+
body = arguments[:body]
|
42
|
+
|
43
|
+
perform_request(method, path, params, body).body
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Snapshot
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Create a repository for storing snapshots
|
7
|
+
#
|
8
|
+
# @example Create a repository at `/tmp/backup`
|
9
|
+
#
|
10
|
+
# client.snapshot.create_repository repository: 'my-backups',
|
11
|
+
# body: {
|
12
|
+
# type: 'fs',
|
13
|
+
# settings: { location: '/tmp/backup', compress: true }
|
14
|
+
# }
|
15
|
+
#
|
16
|
+
# @option arguments [String] :repository A repository name (*Required*)
|
17
|
+
# @option arguments [Hash] :body The repository definition (*Required*)
|
18
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
19
|
+
# @option arguments [Time] :timeout Explicit operation timeout
|
20
|
+
#
|
21
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
|
22
|
+
#
|
23
|
+
def create_repository(arguments={})
|
24
|
+
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
25
|
+
raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
|
26
|
+
valid_params = [
|
27
|
+
:repository,
|
28
|
+
:master_timeout,
|
29
|
+
:timeout ]
|
30
|
+
|
31
|
+
repository = arguments.delete(:repository)
|
32
|
+
|
33
|
+
method = 'PUT'
|
34
|
+
path = Utils.__pathify( '_snapshot', Utils.__escape(repository) )
|
35
|
+
|
36
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
37
|
+
body = arguments[:body]
|
38
|
+
|
39
|
+
perform_request(method, path, params, body).body
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Snapshot
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Delete a snapshot from the repository
|
7
|
+
#
|
8
|
+
# @note Will also abort a currently running snapshot.
|
9
|
+
#
|
10
|
+
# @example Delete the `snapshot-1` snapshot
|
11
|
+
#
|
12
|
+
# client.snapshot.delete repository: 'my-backups', snapshot: 'snapshot-1'
|
13
|
+
#
|
14
|
+
# @option arguments [String] :repository A repository name (*Required*)
|
15
|
+
# @option arguments [String] :snapshot A snapshot name (*Required*)
|
16
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
17
|
+
#
|
18
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
|
19
|
+
#
|
20
|
+
def delete(arguments={})
|
21
|
+
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
22
|
+
raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot]
|
23
|
+
|
24
|
+
valid_params = [
|
25
|
+
:master_timeout ]
|
26
|
+
|
27
|
+
repository = arguments.delete(:repository)
|
28
|
+
snapshot = arguments.delete(:snapshot)
|
29
|
+
|
30
|
+
method = 'DELETE'
|
31
|
+
path = Utils.__pathify( '_snapshot', Utils.__escape(repository), Utils.__listify(snapshot) )
|
32
|
+
|
33
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
34
|
+
body = nil
|
35
|
+
|
36
|
+
perform_request(method, path, params, body).body
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Snapshot
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Delete a specific repository or repositories
|
7
|
+
#
|
8
|
+
# @example Delete the `my-backups` repository
|
9
|
+
#
|
10
|
+
# client.snapshot.delete_repository repository: 'my-backups'
|
11
|
+
#
|
12
|
+
# @option arguments [List] :repository A comma-separated list of repository names (*Required*)
|
13
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
14
|
+
# @option arguments [Time] :timeout Explicit operation timeout
|
15
|
+
#
|
16
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
|
17
|
+
#
|
18
|
+
def delete_repository(arguments={})
|
19
|
+
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
20
|
+
|
21
|
+
valid_params = [
|
22
|
+
:master_timeout,
|
23
|
+
:timeout ]
|
24
|
+
|
25
|
+
repository = arguments.delete(:repository)
|
26
|
+
|
27
|
+
method = 'DELETE'
|
28
|
+
path = Utils.__pathify( '_snapshot', Utils.__listify(repository) )
|
29
|
+
|
30
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
31
|
+
body = nil
|
32
|
+
|
33
|
+
perform_request(method, path, params, body).body
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Snapshot
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Return information about specific (or all) snapshots
|
7
|
+
#
|
8
|
+
# @example Return information about the `snapshot-2` snapshot
|
9
|
+
#
|
10
|
+
# client.snapshot.get repository: 'my-backup', snapshot: 'snapshot-2'
|
11
|
+
#
|
12
|
+
# @example Return information about multiple snapshots
|
13
|
+
#
|
14
|
+
# client.snapshot.get repository: 'my-backup', snapshot: ['snapshot-2', 'snapshot-3']
|
15
|
+
#
|
16
|
+
# @example Return information about all snapshots in the repository
|
17
|
+
#
|
18
|
+
# client.snapshot.get repository: 'my-backup', snapshot: '_all'
|
19
|
+
#
|
20
|
+
# @option arguments [String] :repository A repository name (*Required*)
|
21
|
+
# @option arguments [List] :snapshot A comma-separated list of snapshot names (*Required*)
|
22
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
23
|
+
#
|
24
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
|
25
|
+
#
|
26
|
+
def get(arguments={})
|
27
|
+
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
28
|
+
raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot]
|
29
|
+
|
30
|
+
valid_params = [
|
31
|
+
:master_timeout ]
|
32
|
+
|
33
|
+
repository = arguments.delete(:repository)
|
34
|
+
snapshot = arguments.delete(:snapshot)
|
35
|
+
|
36
|
+
method = 'GET'
|
37
|
+
path = Utils.__pathify( '_snapshot', Utils.__escape(repository), Utils.__listify(snapshot) )
|
38
|
+
|
39
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
40
|
+
body = nil
|
41
|
+
|
42
|
+
perform_request(method, path, params, body).body
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Snapshot
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Get information about snapshot repositories or a specific repository
|
7
|
+
#
|
8
|
+
# @example Get all repositories
|
9
|
+
#
|
10
|
+
# client.snapshot.get_repository
|
11
|
+
#
|
12
|
+
# @example Get a specific repository
|
13
|
+
#
|
14
|
+
# client.snapshot.get_repository repository: 'my-backups'
|
15
|
+
#
|
16
|
+
# @option arguments [List] :repository A comma-separated list of repository names. Leave blank or use `_all`
|
17
|
+
# to get a list of repositories
|
18
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
19
|
+
# @option arguments [Boolean] :local Return local information, do not retrieve the state from master node
|
20
|
+
# (default: false)
|
21
|
+
#
|
22
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
|
23
|
+
#
|
24
|
+
def get_repository(arguments={})
|
25
|
+
valid_params = [
|
26
|
+
:master_timeout,
|
27
|
+
:local ]
|
28
|
+
|
29
|
+
repository = arguments.delete(:repository)
|
30
|
+
|
31
|
+
method = 'GET'
|
32
|
+
path = Utils.__pathify( '_snapshot', Utils.__escape(repository) )
|
33
|
+
|
34
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
35
|
+
body = nil
|
36
|
+
|
37
|
+
perform_request(method, path, params, body).body
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Snapshot
|
4
|
+
module Actions
|
5
|
+
|
6
|
+
# Restore the state from a snapshot
|
7
|
+
#
|
8
|
+
# @example Restore from the `snapshot-1` snapshot
|
9
|
+
#
|
10
|
+
# client.snapshot.restore repository: 'my-backups', snapshot: 'snapshot-1'
|
11
|
+
#
|
12
|
+
# @example Restore a specific index under a different name
|
13
|
+
#
|
14
|
+
# client.snapshot.restore repository: 'my-backups',
|
15
|
+
# snapshot: 'snapshot-5',
|
16
|
+
# body: {
|
17
|
+
# rename_pattern: "^(.*)$",
|
18
|
+
# rename_replacement: "restored_$1"
|
19
|
+
# }
|
20
|
+
#
|
21
|
+
# @note You cannot restore into an open index, you have to {Indices::Actions#close} it first
|
22
|
+
#
|
23
|
+
# @option arguments [String] :repository A repository name (*Required*)
|
24
|
+
# @option arguments [String] :snapshot A snapshot name (*Required*)
|
25
|
+
# @option arguments [Hash] :body Details of what to restore
|
26
|
+
# @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
|
27
|
+
# @option arguments [Boolean] :wait_for_completion Should this request wait until the operation has completed before returning
|
28
|
+
#
|
29
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/modules-snapshots.html
|
30
|
+
#
|
31
|
+
def restore(arguments={})
|
32
|
+
raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
|
33
|
+
raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot]
|
34
|
+
|
35
|
+
valid_params = [
|
36
|
+
:master_timeout,
|
37
|
+
:wait_for_completion ]
|
38
|
+
|
39
|
+
repository = arguments.delete(:repository)
|
40
|
+
snapshot = arguments.delete(:snapshot)
|
41
|
+
|
42
|
+
method = 'POST'
|
43
|
+
path = Utils.__pathify( '_snapshot', Utils.__escape(repository), Utils.__escape(snapshot), '_restore' )
|
44
|
+
|
45
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
46
|
+
body = arguments[:body]
|
47
|
+
|
48
|
+
perform_request(method, path, params, body).body
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module Elasticsearch
|
2
|
+
module API
|
3
|
+
module Actions
|
4
|
+
|
5
|
+
# Return information and statistics about terms in the fields of a particular document
|
6
|
+
#
|
7
|
+
# @example Get statistics for a specific document
|
8
|
+
#
|
9
|
+
# client.indices.create index: 'my_index',
|
10
|
+
# body: {
|
11
|
+
# mappings: {
|
12
|
+
# my_type: {
|
13
|
+
# properties: {
|
14
|
+
# text: {
|
15
|
+
# type: 'string',
|
16
|
+
# term_vector: 'with_positions_offsets_payloads'
|
17
|
+
# }
|
18
|
+
# }
|
19
|
+
# }
|
20
|
+
# }
|
21
|
+
# }
|
22
|
+
#
|
23
|
+
# client.index index: 'my_index', type: 'my_type', id: '1', body: { text: 'Foo Bar Fox' }
|
24
|
+
#
|
25
|
+
# client.termvector index: 'my_index', type: 'my_type', id: '1'
|
26
|
+
# # => { ..., "term_vectors" => { "text" => { "field_statistics" => { ... }, "terms" => { "bar" => ... } } }
|
27
|
+
#
|
28
|
+
# @option arguments [String] :index The name of the index (*Required*)
|
29
|
+
# @option arguments [String] :type The type of the document (*Required*)
|
30
|
+
# @option arguments [String] :id The document ID (*Required*)
|
31
|
+
# @option arguments [Hash] :body The request definition
|
32
|
+
# @option arguments [Boolean] :term_statistics Whether total term frequency and
|
33
|
+
# document frequency should be returned
|
34
|
+
# @option arguments [Boolean] :field_statistics Whether document count, sum of document frequencies
|
35
|
+
# and sum of total term frequencies should be returned
|
36
|
+
# @option arguments [List] :fields A comma-separated list of fields to return
|
37
|
+
# @option arguments [Boolean] :offsets Whether term offsets should be returned
|
38
|
+
# @option arguments [Boolean] :positions Whether term positions should be returned
|
39
|
+
# @option arguments [Boolean] :payloads Whether term payloads should be returned
|
40
|
+
# @option arguments [String] :preference Specify the node or shard the operation should be performed on
|
41
|
+
# (default: random)
|
42
|
+
# @option arguments [String] :routing Specific routing value
|
43
|
+
# @option arguments [String] :parent Parent ID of the documents
|
44
|
+
#
|
45
|
+
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/docs-termvectors.html
|
46
|
+
#
|
47
|
+
def termvector(arguments={})
|
48
|
+
raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
|
49
|
+
raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
|
50
|
+
raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
|
51
|
+
|
52
|
+
valid_params = [
|
53
|
+
:term_statistics,
|
54
|
+
:field_statistics,
|
55
|
+
:fields,
|
56
|
+
:offsets,
|
57
|
+
:positions,
|
58
|
+
:payloads,
|
59
|
+
:preference,
|
60
|
+
:routing,
|
61
|
+
:parent ]
|
62
|
+
|
63
|
+
method = 'GET'
|
64
|
+
|
65
|
+
path = Utils.__pathify Utils.__escape(arguments[:index]),
|
66
|
+
Utils.__escape(arguments[:type]),
|
67
|
+
arguments[:id],
|
68
|
+
'_termvector'
|
69
|
+
|
70
|
+
params = Utils.__validate_and_extract_params arguments, valid_params
|
71
|
+
body = arguments[:body]
|
72
|
+
|
73
|
+
perform_request(method, path, params, body).body
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|