eson-core 0.7.0
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/LICENSE.md +20 -0
- data/README.md +5 -0
- data/Rakefile +35 -0
- data/eson-core.gemspec +23 -0
- data/lib/eson/api.rb +63 -0
- data/lib/eson/chainable.rb +20 -0
- data/lib/eson/client.rb +253 -0
- data/lib/eson/error.rb +14 -0
- data/lib/eson/request.rb +113 -0
- data/lib/eson/shared/cluster/health.rb +16 -0
- data/lib/eson/shared/cluster/nodes.rb +15 -0
- data/lib/eson/shared/cluster/shutdown.rb +20 -0
- data/lib/eson/shared/cluster/state.rb +17 -0
- data/lib/eson/shared/cluster/stats.rb +15 -0
- data/lib/eson/shared/core/bulk.rb +26 -0
- data/lib/eson/shared/core/count.rb +63 -0
- data/lib/eson/shared/core/delete.rb +26 -0
- data/lib/eson/shared/core/delete_by_query.rb +50 -0
- data/lib/eson/shared/core/get.rb +19 -0
- data/lib/eson/shared/core/index.rb +33 -0
- data/lib/eson/shared/core/mget.rb +16 -0
- data/lib/eson/shared/core/more_like_this.rb +52 -0
- data/lib/eson/shared/core/msearch.rb +37 -0
- data/lib/eson/shared/core/percolate.rb +18 -0
- data/lib/eson/shared/core/search.rb +62 -0
- data/lib/eson/shared/core/simple_search.rb +35 -0
- data/lib/eson/shared/indices/aliases.rb +24 -0
- data/lib/eson/shared/indices/analyze.rb +11 -0
- data/lib/eson/shared/indices/clear_cache.rb +13 -0
- data/lib/eson/shared/indices/close_index.rb +9 -0
- data/lib/eson/shared/indices/create_index.rb +13 -0
- data/lib/eson/shared/indices/delete_index.rb +9 -0
- data/lib/eson/shared/indices/delete_mapping.rb +11 -0
- data/lib/eson/shared/indices/delete_template.rb +9 -0
- data/lib/eson/shared/indices/exists.rb +9 -0
- data/lib/eson/shared/indices/flush.rb +11 -0
- data/lib/eson/shared/indices/get_mapping.rb +16 -0
- data/lib/eson/shared/indices/get_settings.rb +9 -0
- data/lib/eson/shared/indices/get_template.rb +9 -0
- data/lib/eson/shared/indices/open_index.rb +9 -0
- data/lib/eson/shared/indices/optimize.rb +15 -0
- data/lib/eson/shared/indices/put_mapping.rb +15 -0
- data/lib/eson/shared/indices/put_template.rb +10 -0
- data/lib/eson/shared/indices/refresh.rb +16 -0
- data/lib/eson/shared/indices/segments.rb +8 -0
- data/lib/eson/shared/indices/snapshot.rb +9 -0
- data/lib/eson/shared/indices/stats.rb +19 -0
- data/lib/eson/shared/indices/status.rb +9 -0
- data/lib/eson/shared/indices/update_settings.rb +12 -0
- data/lib/eson-core.rb +49 -0
- metadata +135 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module Count
|
4
|
+
extend API
|
5
|
+
|
6
|
+
attr_accessor :type
|
7
|
+
|
8
|
+
multi_index true
|
9
|
+
|
10
|
+
source_param :query,
|
11
|
+
:timeout,
|
12
|
+
:from,
|
13
|
+
:size,
|
14
|
+
:sort,
|
15
|
+
:track_scores,
|
16
|
+
:highlight,
|
17
|
+
:fields,
|
18
|
+
:script_fields,
|
19
|
+
:facets,
|
20
|
+
:filter,
|
21
|
+
:indices_boost,
|
22
|
+
:explain,
|
23
|
+
:version,
|
24
|
+
:min_score
|
25
|
+
|
26
|
+
parameters :timeout,
|
27
|
+
:types,
|
28
|
+
:routing,
|
29
|
+
:query,
|
30
|
+
:from,
|
31
|
+
:size,
|
32
|
+
:search_type,
|
33
|
+
:sort,
|
34
|
+
:track_scores,
|
35
|
+
:highlight,
|
36
|
+
:fields,
|
37
|
+
:script_fields,
|
38
|
+
:preference,
|
39
|
+
:facets,
|
40
|
+
:filter,
|
41
|
+
:scroll,
|
42
|
+
:scroll_id,
|
43
|
+
:indices_boost,
|
44
|
+
:explain,
|
45
|
+
:version,
|
46
|
+
:min_score,
|
47
|
+
:q,
|
48
|
+
:df,
|
49
|
+
:analyzer
|
50
|
+
|
51
|
+
def types
|
52
|
+
if @types
|
53
|
+
Array(@types)
|
54
|
+
elsif type
|
55
|
+
Array(type)
|
56
|
+
else
|
57
|
+
[]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module Delete
|
4
|
+
extend API
|
5
|
+
|
6
|
+
multi_index false
|
7
|
+
|
8
|
+
source_param :item
|
9
|
+
|
10
|
+
parameters(
|
11
|
+
:type,
|
12
|
+
:id,
|
13
|
+
:item,
|
14
|
+
:version,
|
15
|
+
:op_type,
|
16
|
+
:routing,
|
17
|
+
:parent,
|
18
|
+
:percolate,
|
19
|
+
:replication,
|
20
|
+
:consistency,
|
21
|
+
:refresh,
|
22
|
+
:timeout
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module DeleteByQuery
|
4
|
+
extend API
|
5
|
+
|
6
|
+
attr_accessor :type
|
7
|
+
|
8
|
+
multi_index true
|
9
|
+
|
10
|
+
source_param :query
|
11
|
+
|
12
|
+
# TODO: check the parameter list
|
13
|
+
parameters :timeout,
|
14
|
+
:types,
|
15
|
+
:routing,
|
16
|
+
:query,
|
17
|
+
:from,
|
18
|
+
:size,
|
19
|
+
:search_type,
|
20
|
+
:sort,
|
21
|
+
:track_scores,
|
22
|
+
:highlight,
|
23
|
+
:fields,
|
24
|
+
:script_fields,
|
25
|
+
:preference,
|
26
|
+
:facets,
|
27
|
+
:filter,
|
28
|
+
:scroll,
|
29
|
+
:scroll_id,
|
30
|
+
:indices_boost,
|
31
|
+
:explain,
|
32
|
+
:version,
|
33
|
+
:min_score,
|
34
|
+
:q,
|
35
|
+
:df,
|
36
|
+
:analyzer
|
37
|
+
|
38
|
+
def types
|
39
|
+
if @types
|
40
|
+
Array(@types)
|
41
|
+
elsif type
|
42
|
+
Array(type)
|
43
|
+
else
|
44
|
+
[]
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module Index
|
4
|
+
extend API
|
5
|
+
|
6
|
+
multi_index false
|
7
|
+
|
8
|
+
source_param :doc
|
9
|
+
|
10
|
+
parameters(
|
11
|
+
:type,
|
12
|
+
:id,
|
13
|
+
:doc,
|
14
|
+
:version,
|
15
|
+
:op_type,
|
16
|
+
:routing,
|
17
|
+
:parent,
|
18
|
+
:percolate,
|
19
|
+
:replication,
|
20
|
+
:consistency,
|
21
|
+
:refresh,
|
22
|
+
:timeout
|
23
|
+
)
|
24
|
+
|
25
|
+
alias :document :doc
|
26
|
+
|
27
|
+
def item=(item)
|
28
|
+
warn("item= is deprecated and replaced by doc=")
|
29
|
+
self.doc = item
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module MoreLikeThis
|
4
|
+
extend API
|
5
|
+
|
6
|
+
multi_index false
|
7
|
+
|
8
|
+
parameters :id,
|
9
|
+
:type,
|
10
|
+
:mlt_fields,
|
11
|
+
:like_text,
|
12
|
+
:percent_terms_to_match,
|
13
|
+
:min_term_freq,
|
14
|
+
:max_query_terms,
|
15
|
+
:stop_words,
|
16
|
+
:min_doc_freq,
|
17
|
+
:max_doc_freq,
|
18
|
+
:min_word_len,
|
19
|
+
:max_word_len,
|
20
|
+
:boost_terms,
|
21
|
+
:boost,
|
22
|
+
:analyzer,
|
23
|
+
:scroll,
|
24
|
+
:scroll_id,
|
25
|
+
:timeout,
|
26
|
+
:from,
|
27
|
+
:size,
|
28
|
+
:sort,
|
29
|
+
:track_scores,
|
30
|
+
:highlight,
|
31
|
+
:fields,
|
32
|
+
:script_fields,
|
33
|
+
:indices_boost,
|
34
|
+
:explain,
|
35
|
+
:version,
|
36
|
+
:min_score
|
37
|
+
|
38
|
+
source_param :timeout,
|
39
|
+
:from,
|
40
|
+
:size,
|
41
|
+
:sort,
|
42
|
+
:track_scores,
|
43
|
+
:highlight,
|
44
|
+
:fields,
|
45
|
+
:script_fields,
|
46
|
+
:indices_boost,
|
47
|
+
:explain,
|
48
|
+
:version,
|
49
|
+
:min_score
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module MultiSearch
|
4
|
+
extend API
|
5
|
+
|
6
|
+
attr_accessor :type
|
7
|
+
|
8
|
+
multi_index true
|
9
|
+
|
10
|
+
source_param :msearch
|
11
|
+
parameters :msearch,
|
12
|
+
:types
|
13
|
+
|
14
|
+
def msearch
|
15
|
+
@msearch ||= []
|
16
|
+
end
|
17
|
+
|
18
|
+
def <<(request)
|
19
|
+
msearch << request
|
20
|
+
end
|
21
|
+
|
22
|
+
def search(args, immediate = true, &block)
|
23
|
+
self << client.search(args, false, &block)
|
24
|
+
end
|
25
|
+
|
26
|
+
def types
|
27
|
+
if @types
|
28
|
+
Array(@types)
|
29
|
+
elsif type
|
30
|
+
Array(type)
|
31
|
+
else
|
32
|
+
[]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module Search
|
4
|
+
extend API
|
5
|
+
|
6
|
+
attr_accessor :type
|
7
|
+
|
8
|
+
multi_index true
|
9
|
+
|
10
|
+
source_param :query,
|
11
|
+
:timeout,
|
12
|
+
:from,
|
13
|
+
:size,
|
14
|
+
:sort,
|
15
|
+
:track_scores,
|
16
|
+
:highlight,
|
17
|
+
:fields,
|
18
|
+
:script_fields,
|
19
|
+
:facets,
|
20
|
+
:filter,
|
21
|
+
:indices_boost,
|
22
|
+
:explain,
|
23
|
+
:version,
|
24
|
+
:min_score
|
25
|
+
|
26
|
+
parameters :timeout,
|
27
|
+
:types,
|
28
|
+
:routing,
|
29
|
+
:query,
|
30
|
+
:from,
|
31
|
+
:size,
|
32
|
+
:search_type,
|
33
|
+
:sort,
|
34
|
+
:track_scores,
|
35
|
+
:highlight,
|
36
|
+
:fields,
|
37
|
+
:script_fields,
|
38
|
+
:preference,
|
39
|
+
:facets,
|
40
|
+
:filter,
|
41
|
+
:scroll,
|
42
|
+
:scroll_id,
|
43
|
+
:indices_boost,
|
44
|
+
:explain,
|
45
|
+
:version,
|
46
|
+
:min_score,
|
47
|
+
:q,
|
48
|
+
:df,
|
49
|
+
:analyzer
|
50
|
+
|
51
|
+
def types
|
52
|
+
if @types
|
53
|
+
Array(@types)
|
54
|
+
elsif type
|
55
|
+
Array(type)
|
56
|
+
else
|
57
|
+
[]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module SimpleSearch
|
4
|
+
extend API
|
5
|
+
|
6
|
+
multi_index true
|
7
|
+
|
8
|
+
attr_accessor :type
|
9
|
+
|
10
|
+
parameters :timeout,
|
11
|
+
:types,
|
12
|
+
:q,
|
13
|
+
:routing,
|
14
|
+
:df,
|
15
|
+
:analyzer,
|
16
|
+
:fields,
|
17
|
+
:sort,
|
18
|
+
:track_scores,
|
19
|
+
:timeout,
|
20
|
+
:from,
|
21
|
+
:size,
|
22
|
+
:search_type
|
23
|
+
|
24
|
+
def types
|
25
|
+
if @types
|
26
|
+
Array(@types)
|
27
|
+
elsif type
|
28
|
+
Array(type)
|
29
|
+
else
|
30
|
+
[]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Eson
|
2
|
+
module Shared
|
3
|
+
module Aliases
|
4
|
+
extend API
|
5
|
+
|
6
|
+
no_indices true
|
7
|
+
|
8
|
+
parameters :actions
|
9
|
+
source_param [:actions]
|
10
|
+
|
11
|
+
def add(index, aka)
|
12
|
+
actions << {"add" => { "index" => index, "alias" => aka}}
|
13
|
+
end
|
14
|
+
|
15
|
+
def remove(index, aka)
|
16
|
+
actions << {"remove" => { "index" => index, "alias" => aka}}
|
17
|
+
end
|
18
|
+
|
19
|
+
def actions
|
20
|
+
@actions ||= []
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|