eson-core 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -2
- data/eson-core.gemspec +2 -1
- data/lib/eson-core.rb +5 -0
- data/lib/eson/api.rb +61 -12
- data/lib/eson/chainable.rb +3 -3
- data/lib/eson/client.rb +699 -180
- data/lib/eson/error.rb +10 -2
- data/lib/eson/request.rb +57 -16
- data/lib/eson/shared/cluster/health.rb +9 -2
- data/lib/eson/shared/cluster/nodes.rb +9 -1
- data/lib/eson/shared/cluster/shutdown.rb +9 -1
- data/lib/eson/shared/cluster/state.rb +9 -1
- data/lib/eson/shared/cluster/stats.rb +9 -1
- data/lib/eson/shared/core/bulk.rb +9 -1
- data/lib/eson/shared/core/count.rb +10 -1
- data/lib/eson/shared/core/delete.rb +10 -1
- data/lib/eson/shared/core/delete_by_query.rb +10 -1
- data/lib/eson/shared/core/explain.rb +44 -0
- data/lib/eson/shared/core/get.rb +9 -1
- data/lib/eson/shared/core/index.rb +13 -2
- data/lib/eson/shared/core/mget.rb +12 -3
- data/lib/eson/shared/core/more_like_this.rb +10 -1
- data/lib/eson/shared/core/msearch.rb +10 -1
- data/lib/eson/shared/core/percolate.rb +10 -1
- data/lib/eson/shared/core/scroll.rb +17 -0
- data/lib/eson/shared/core/search.rb +15 -3
- data/lib/eson/shared/core/simple_search.rb +9 -1
- data/lib/eson/shared/core/update.rb +33 -0
- data/lib/eson/shared/core/validate.rb +50 -0
- data/lib/eson/shared/indices/aliases.rb +37 -9
- data/lib/eson/shared/indices/analyze.rb +9 -2
- data/lib/eson/shared/indices/clear_cache.rb +9 -1
- data/lib/eson/shared/indices/close_index.rb +8 -1
- data/lib/eson/shared/indices/create_index.rb +10 -1
- data/lib/eson/shared/indices/delete_index.rb +8 -1
- data/lib/eson/shared/indices/delete_mapping.rb +9 -1
- data/lib/eson/shared/indices/delete_template.rb +8 -1
- data/lib/eson/shared/indices/exists.rb +8 -1
- data/lib/eson/shared/indices/flush.rb +9 -1
- data/lib/eson/shared/indices/get_aliases.rb +16 -0
- data/lib/eson/shared/indices/get_mapping.rb +9 -1
- data/lib/eson/shared/indices/get_settings.rb +8 -1
- data/lib/eson/shared/indices/get_template.rb +8 -1
- data/lib/eson/shared/indices/open_index.rb +8 -1
- data/lib/eson/shared/indices/optimize.rb +9 -1
- data/lib/eson/shared/indices/put_mapping.rb +10 -1
- data/lib/eson/shared/indices/put_template.rb +9 -1
- data/lib/eson/shared/indices/refresh.rb +9 -1
- data/lib/eson/shared/indices/segments.rb +8 -1
- data/lib/eson/shared/indices/snapshot.rb +8 -1
- data/lib/eson/shared/indices/stats.rb +9 -1
- data/lib/eson/shared/indices/status.rb +8 -1
- data/lib/eson/shared/indices/update_settings.rb +10 -1
- metadata +7 -8
@@ -1,12 +1,21 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:Index#parameters}
|
6
|
+
# {include:Index#source_param}
|
7
|
+
# {include:Index#multi_index}
|
8
|
+
# {include:Index#multi_types}
|
3
9
|
module Index
|
4
10
|
extend API
|
5
11
|
|
12
|
+
# @!macro no_multi_index
|
6
13
|
multi_index false
|
7
14
|
|
15
|
+
# @!macro source_param
|
8
16
|
source_param :doc
|
9
17
|
|
18
|
+
# @!macro parameters
|
10
19
|
parameters(
|
11
20
|
:type,
|
12
21
|
:id,
|
@@ -19,7 +28,9 @@ module Eson
|
|
19
28
|
:replication,
|
20
29
|
:consistency,
|
21
30
|
:refresh,
|
22
|
-
:timeout
|
31
|
+
:timeout,
|
32
|
+
:ttl,
|
33
|
+
:timestamp
|
23
34
|
)
|
24
35
|
|
25
36
|
alias :document :doc
|
@@ -30,4 +41,4 @@ module Eson
|
|
30
41
|
end
|
31
42
|
end
|
32
43
|
end
|
33
|
-
end
|
44
|
+
end
|
@@ -1,16 +1,25 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:MultiGet#parameters}
|
6
|
+
# {include:MultiGet#source_param}
|
7
|
+
# {include:MultiGet#multi_index}
|
8
|
+
# {include:MultiGet#multi_types}
|
3
9
|
module MultiGet
|
4
10
|
extend API
|
5
|
-
|
11
|
+
|
12
|
+
# @!macro no_multi_index
|
6
13
|
multi_index false
|
7
|
-
|
14
|
+
|
15
|
+
# @!macro source_param
|
8
16
|
source_param :docs,
|
9
17
|
:ids
|
10
18
|
|
19
|
+
# @!macro parameters
|
11
20
|
parameters :type,
|
12
21
|
:docs,
|
13
22
|
:ids
|
14
23
|
end
|
15
24
|
end
|
16
|
-
end
|
25
|
+
end
|
@@ -1,10 +1,18 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# @note {include:MoreLikeThis#parameters}
|
6
|
+
# @note {include:MoreLikeThis#source_param}
|
7
|
+
# @note {include:MoreLikeThis#multi_index}
|
8
|
+
# @note {include:MoreLikeThis#multi_types}
|
3
9
|
module MoreLikeThis
|
4
10
|
extend API
|
5
11
|
|
12
|
+
# @!macro no_multi_index
|
6
13
|
multi_index false
|
7
14
|
|
15
|
+
# @!macro parameters
|
8
16
|
parameters :id,
|
9
17
|
:type,
|
10
18
|
:mlt_fields,
|
@@ -35,6 +43,7 @@ module Eson
|
|
35
43
|
:version,
|
36
44
|
:min_score
|
37
45
|
|
46
|
+
# @!macro source_param
|
38
47
|
source_param :timeout,
|
39
48
|
:from,
|
40
49
|
:size,
|
@@ -49,4 +58,4 @@ module Eson
|
|
49
58
|
:min_score
|
50
59
|
end
|
51
60
|
end
|
52
|
-
end
|
61
|
+
end
|
@@ -1,13 +1,22 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# @note {include:MultiSearch#parameters}
|
6
|
+
# @note {include:MultiSearch#source_param}
|
7
|
+
# @note {include:MultiSearch#multi_index}
|
8
|
+
# @note {include:MultiSearch#multi_types}
|
3
9
|
module MultiSearch
|
4
10
|
extend API
|
5
11
|
|
6
12
|
attr_accessor :type
|
7
13
|
|
14
|
+
# @!macro multi_index
|
8
15
|
multi_index true
|
9
16
|
|
17
|
+
# @!macro source_param
|
10
18
|
source_param :msearch
|
19
|
+
# @!macro parameters
|
11
20
|
parameters :msearch,
|
12
21
|
:types
|
13
22
|
|
@@ -34,4 +43,4 @@ module Eson
|
|
34
43
|
end
|
35
44
|
end
|
36
45
|
end
|
37
|
-
end
|
46
|
+
end
|
@@ -1,18 +1,27 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# @note {include:Percolate#parameters}
|
6
|
+
# @note {include:Percolate#source_param}
|
7
|
+
# @note {include:Percolate#multi_index}
|
8
|
+
# @note {include:Percolate#multi_types}
|
3
9
|
module Percolate
|
4
10
|
extend API
|
5
11
|
|
12
|
+
# @!macro no_multi_index
|
6
13
|
multi_index false
|
7
14
|
|
15
|
+
# @!macro parameters
|
8
16
|
parameters :query,
|
9
17
|
:doc,
|
10
18
|
:prefer_local,
|
11
19
|
:type,
|
12
20
|
:index
|
13
21
|
|
22
|
+
# @!macro source_param
|
14
23
|
source_param :doc, :query
|
15
24
|
|
16
25
|
end
|
17
26
|
end
|
18
|
-
end
|
27
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:Scroll#parameters}
|
6
|
+
# {include:Scroll#source_param}
|
7
|
+
# {include:Scroll#multi_index}
|
8
|
+
# {include:Scroll#multi_types}
|
9
|
+
module Scroll
|
10
|
+
extend API
|
11
|
+
|
12
|
+
# @!macro parameters
|
13
|
+
parameters :scroll_id,
|
14
|
+
:scroll
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,12 +1,23 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:Search#parameters}
|
6
|
+
# {include:Search#source_param}
|
7
|
+
# {include:Search#multi_index}
|
8
|
+
# {include:Search#multi_types}
|
3
9
|
module Search
|
4
10
|
extend API
|
5
11
|
|
6
12
|
attr_accessor :type
|
7
13
|
|
14
|
+
# @!macro multi_index
|
8
15
|
multi_index true
|
9
16
|
|
17
|
+
# @!macro multi_types
|
18
|
+
multi_types true
|
19
|
+
|
20
|
+
# @!macro source_param
|
10
21
|
source_param :query,
|
11
22
|
:timeout,
|
12
23
|
:from,
|
@@ -23,6 +34,7 @@ module Eson
|
|
23
34
|
:version,
|
24
35
|
:min_score
|
25
36
|
|
37
|
+
# @!macro parameters
|
26
38
|
parameters :timeout,
|
27
39
|
:types,
|
28
40
|
:routing,
|
@@ -39,14 +51,14 @@ module Eson
|
|
39
51
|
:facets,
|
40
52
|
:filter,
|
41
53
|
:scroll,
|
42
|
-
:scroll_id,
|
43
54
|
:indices_boost,
|
44
55
|
:explain,
|
45
56
|
:version,
|
46
57
|
:min_score,
|
47
58
|
:q,
|
48
59
|
:df,
|
49
|
-
:analyzer
|
60
|
+
:analyzer,
|
61
|
+
:lowercase_expanded_terms
|
50
62
|
|
51
63
|
def types
|
52
64
|
if @types
|
@@ -59,4 +71,4 @@ module Eson
|
|
59
71
|
end
|
60
72
|
end
|
61
73
|
end
|
62
|
-
end
|
74
|
+
end
|
@@ -1,12 +1,20 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:SimpleSearch#parameters}
|
6
|
+
# {include:SimpleSearch#source_param}
|
7
|
+
# {include:SimpleSearch#multi_index}
|
8
|
+
# {include:SimpleSearch#multi_types}
|
3
9
|
module SimpleSearch
|
4
10
|
extend API
|
5
11
|
|
12
|
+
# @!macro multi_index
|
6
13
|
multi_index true
|
7
14
|
|
8
15
|
attr_accessor :type
|
9
16
|
|
17
|
+
# @!macro parameters
|
10
18
|
parameters :timeout,
|
11
19
|
:types,
|
12
20
|
:q,
|
@@ -32,4 +40,4 @@ module Eson
|
|
32
40
|
end
|
33
41
|
end
|
34
42
|
end
|
35
|
-
end
|
43
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:Update#parameters}
|
6
|
+
# {include:Update#source_param}
|
7
|
+
# {include:Update#multi_index}
|
8
|
+
# {include:Update#multi_types}
|
9
|
+
module Update
|
10
|
+
extend API
|
11
|
+
|
12
|
+
# @!macro no_multi_index
|
13
|
+
multi_index false
|
14
|
+
|
15
|
+
# @!macro parameters
|
16
|
+
parameters :timeout,
|
17
|
+
:type,
|
18
|
+
:routing,
|
19
|
+
:parent,
|
20
|
+
:id,
|
21
|
+
:consistency,
|
22
|
+
:percolate,
|
23
|
+
:refresh,
|
24
|
+
:script,
|
25
|
+
:params,
|
26
|
+
:retry_on_conflict
|
27
|
+
|
28
|
+
# @!macro source_param
|
29
|
+
source_param :script,
|
30
|
+
:params
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:Validate#parameters}
|
6
|
+
# {include:Validate#source_param}
|
7
|
+
# {include:Validate#multi_index}
|
8
|
+
# {include:Validate#multi_types}
|
9
|
+
module Validate
|
10
|
+
extend API
|
11
|
+
|
12
|
+
attr_accessor :type
|
13
|
+
|
14
|
+
# @!macro multi_index
|
15
|
+
multi_index false
|
16
|
+
|
17
|
+
# @!macro multi_types
|
18
|
+
multi_types false
|
19
|
+
|
20
|
+
# @!macro source_param
|
21
|
+
source_param :query
|
22
|
+
|
23
|
+
# @!macro parameters
|
24
|
+
parameters :timeout,
|
25
|
+
:types,
|
26
|
+
:routing,
|
27
|
+
:query,
|
28
|
+
:from,
|
29
|
+
:size,
|
30
|
+
:search_type,
|
31
|
+
:sort,
|
32
|
+
:track_scores,
|
33
|
+
:highlight,
|
34
|
+
:fields,
|
35
|
+
:script_fields,
|
36
|
+
:preference,
|
37
|
+
:facets,
|
38
|
+
:filter,
|
39
|
+
:scroll,
|
40
|
+
:indices_boost,
|
41
|
+
:explain,
|
42
|
+
:version,
|
43
|
+
:min_score,
|
44
|
+
:q,
|
45
|
+
:df,
|
46
|
+
:analyzer,
|
47
|
+
:lowercase_expanded_terms
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -1,24 +1,52 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:Aliases#parameters}
|
6
|
+
# {include:Aliases#source_param}
|
7
|
+
# {include:Aliases#multi_index}
|
8
|
+
# {include:Aliases#multi_types}
|
3
9
|
module Aliases
|
4
10
|
extend API
|
5
|
-
|
11
|
+
|
6
12
|
no_indices true
|
7
|
-
|
13
|
+
|
14
|
+
# @!macro parameters
|
8
15
|
parameters :actions
|
16
|
+
# @!macro source_param
|
9
17
|
source_param [:actions]
|
10
|
-
|
11
|
-
|
12
|
-
|
18
|
+
|
19
|
+
# Adds an alias to the alias request. The aliased index and the alias
|
20
|
+
# are given directly, while further options can be provided in the
|
21
|
+
# options hash.
|
22
|
+
#
|
23
|
+
# @param index [String,Symbol] The index name.
|
24
|
+
# @param aka [String, Symbol] The aliased name.
|
25
|
+
# @options options [String, Symbol] :routing
|
26
|
+
# The routing parameter that should be used on all requests.
|
27
|
+
# @options options [String, Symbol] :search_routing
|
28
|
+
# Like routing, but only for search requests
|
29
|
+
# @options options [String, Symbol] :index_routing
|
30
|
+
# Like routing, but only for index requests
|
31
|
+
# @options options [Hash] :filter
|
32
|
+
# A filter definition to use on this alias
|
33
|
+
def add(index, aka, options = {})
|
34
|
+
actions << {:add => { :index => index, :alias => aka}.merge!(options)}
|
13
35
|
end
|
14
|
-
|
36
|
+
|
37
|
+
# Removes an alias. To remove and alias, both the original index and
|
38
|
+
# the alias have to be given.
|
39
|
+
#
|
40
|
+
# @param index [String,Symbol] The index name.
|
41
|
+
# @param aka [String, Symbol] The aliased name.
|
15
42
|
def remove(index, aka)
|
16
|
-
actions << {
|
43
|
+
actions << {:remove => { :index => index, :alias => aka}}
|
17
44
|
end
|
18
|
-
|
45
|
+
|
46
|
+
#@api private
|
19
47
|
def actions
|
20
48
|
@actions ||= []
|
21
49
|
end
|
22
50
|
end
|
23
51
|
end
|
24
|
-
end
|
52
|
+
end
|
@@ -1,11 +1,18 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:Analyze#parameters}
|
6
|
+
# {include:Analyze#source_param}
|
7
|
+
# {include:Analyze#multi_index}
|
8
|
+
# {include:Analyze#multi_types}
|
3
9
|
module Analyze
|
4
10
|
extend API
|
5
11
|
|
12
|
+
# @!macro no_multi_index
|
6
13
|
multi_index false
|
7
14
|
|
8
|
-
attr_accessor :text, :analyzer, :format
|
15
|
+
attr_accessor :text, :analyzer, :format, :tokenizer, :field
|
9
16
|
end
|
10
17
|
end
|
11
|
-
end
|
18
|
+
end
|
@@ -1,13 +1,21 @@
|
|
1
1
|
module Eson
|
2
2
|
module Shared
|
3
|
+
# Requests using this API have the following properties:
|
4
|
+
#
|
5
|
+
# {include:ClearCache#parameters}
|
6
|
+
# {include:ClearCache#source_param}
|
7
|
+
# {include:ClearCache#multi_index}
|
8
|
+
# {include:ClearCache#multi_types}
|
3
9
|
module ClearCache
|
4
10
|
extend API
|
5
11
|
|
12
|
+
# @!macro multi_index
|
6
13
|
multi_index true
|
7
14
|
|
15
|
+
# @!macro parameters
|
8
16
|
parameters :filter,
|
9
17
|
:field_data,
|
10
18
|
:bloom
|
11
19
|
end
|
12
20
|
end
|
13
|
-
end
|
21
|
+
end
|