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
@@ -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
|