elastics-client 1.1.11 → 1.2.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.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/elastics-client.gemspec +6 -3
- data/lib/elastics-client.rb +40 -7
- data/lib/elastics/api_stubs.rb +613 -546
- data/lib/elastics/api_templates/cat_api.yml +14 -0
- data/lib/elastics/api_templates/cluster_api.yml +91 -39
- data/lib/elastics/api_templates/document_api.yml +154 -0
- data/lib/elastics/api_templates/elastics_additions.yml +32 -0
- data/lib/elastics/api_templates/indices_api.yml +313 -148
- data/lib/elastics/api_templates/search_api.yml +144 -0
- data/lib/elastics/class_proxy/base.rb +4 -2
- data/lib/elastics/class_proxy/templates.rb +14 -9
- data/lib/elastics/class_proxy/templates/doc.rb +138 -69
- data/lib/elastics/class_proxy/templates/search.rb +14 -17
- data/lib/elastics/client_live_reindex.rb +2 -2
- data/lib/elastics/configuration.rb +1 -1
- data/lib/elastics/errors.rb +10 -9
- data/lib/elastics/result/bulk.rb +2 -3
- data/lib/elastics/result/search.rb +5 -0
- data/lib/elastics/struct/symbolize.rb +2 -2
- data/lib/elastics/template.rb +9 -7
- data/lib/elastics/template/api.rb +15 -0
- data/lib/elastics/template/slim_search.rb +2 -2
- data/lib/elastics/template/tags.rb +1 -1
- data/lib/elastics/utility_methods.rb +12 -4
- data/lib/elastics/utils.rb +14 -4
- data/lib/elastics/variables.rb +1 -1
- metadata +37 -38
- data/lib/elastics/api_templates/core_api.yml +0 -206
@@ -3,12 +3,12 @@ module Elastics
|
|
3
3
|
|
4
4
|
extend self
|
5
5
|
|
6
|
-
# this method will be overridden by the
|
6
|
+
# this method will be overridden by the elastics-admin gem
|
7
7
|
def should_prefix_index?
|
8
8
|
false
|
9
9
|
end
|
10
10
|
|
11
|
-
# this method will be overridden by the
|
11
|
+
# this method will be overridden by the elastics-admin gem
|
12
12
|
def should_track_change?
|
13
13
|
false
|
14
14
|
end
|
data/lib/elastics/errors.rb
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
module Elastics
|
2
2
|
|
3
|
-
class ArgumentError
|
4
|
-
class SourceError
|
5
|
-
class
|
6
|
-
class
|
7
|
-
class
|
8
|
-
class
|
9
|
-
class
|
10
|
-
class
|
11
|
-
class
|
3
|
+
class ArgumentError < ArgumentError; end
|
4
|
+
class SourceError < StandardError; end
|
5
|
+
class MissingTemplateMethodError < StandardError; end
|
6
|
+
class MissingPartialError < StandardError; end
|
7
|
+
class DocumentMappingError < StandardError; end
|
8
|
+
class MissingIndexEntryError < StandardError; end
|
9
|
+
class ExistingIndexError < StandardError; end
|
10
|
+
class MissingHttpClientError < StandardError; end
|
11
|
+
class MissingParentError < StandardError; end
|
12
|
+
class MissingVariableError < StandardError; end
|
12
13
|
|
13
14
|
class HttpError < StandardError
|
14
15
|
|
data/lib/elastics/result/bulk.rb
CHANGED
@@ -8,12 +8,11 @@ module Elastics
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def failed
|
11
|
-
self['items'].reject{|i| i
|
11
|
+
self['items'].reject{|i| i['index']['status'].between?(200,226) }
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
14
|
def successful
|
16
|
-
self['items'].select{|i| i
|
15
|
+
self['items'].select{|i| i['index']['status'].between?(200,226) }
|
17
16
|
end
|
18
17
|
|
19
18
|
end
|
@@ -8,13 +8,13 @@ module Elastics
|
|
8
8
|
when Elastics::Struct::Hash, Elastics::Struct::Array, Elastics::Struct::AsIs
|
9
9
|
obj
|
10
10
|
when ::Hash
|
11
|
-
h = Struct::Hash.new
|
11
|
+
h = Elastics::Struct::Hash.new
|
12
12
|
obj.each do |k,v|
|
13
13
|
h[k.to_sym] = symbolize(v)
|
14
14
|
end
|
15
15
|
h
|
16
16
|
when ::Array
|
17
|
-
a = Struct::Array.new
|
17
|
+
a = Elastics::Struct::Array.new
|
18
18
|
obj.each{|i| a << i}
|
19
19
|
a
|
20
20
|
else
|
data/lib/elastics/template.rb
CHANGED
@@ -65,16 +65,18 @@ module Elastics
|
|
65
65
|
def try_clean_and_retry(vars)
|
66
66
|
response_vars = request(vars)
|
67
67
|
if !Prunable::VALUES.include?(vars[:cleanable_query].is_a?(Hash) ?
|
68
|
-
|
69
|
-
|
68
|
+
vars[:cleanable_query][:query] :
|
69
|
+
vars[:cleanable_query]) && Conf.http_client.raise_proc.call(response_vars[3])
|
70
70
|
e = HttpError.new(response_vars[3], caller_line)
|
71
71
|
e.to_hash['error'] =~ /^SearchPhaseExecutionException/
|
72
|
-
# remove problematic characters
|
73
|
-
(vars[:cleanable_query].is_a?(Hash) ?
|
74
|
-
|
72
|
+
# remove problematic characters in place
|
73
|
+
(vars[:cleanable_query].is_a?(Hash) ?
|
74
|
+
vars[:cleanable_query][:query] :
|
75
|
+
vars[:cleanable_query]).tr!('"&|!(){}[]~^:+-\\', '')
|
76
|
+
# if after the cleanup it is prunable, then we remove it now so #interpolate could use the eventual default
|
75
77
|
if Prunable::VALUES.include?(vars[:cleanable_query].is_a?(Hash) ?
|
76
|
-
|
77
|
-
|
78
|
+
vars[:cleanable_query][:query] :
|
79
|
+
vars[:cleanable_query])
|
78
80
|
if vars[:cleanable_query].is_a?(Hash)
|
79
81
|
vars[:cleanable_query].delete(:query)
|
80
82
|
else
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Elastics
|
2
|
+
class Template
|
3
|
+
class Api < Template
|
4
|
+
|
5
|
+
attr_reader :references, :aliases
|
6
|
+
|
7
|
+
def initialize(method, path, data=nil, *vars)
|
8
|
+
super
|
9
|
+
@references = @instance_vars.delete(:REFERENCES) || {}
|
10
|
+
@aliases = @references['aliases'] || []
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -2,10 +2,10 @@ module Elastics
|
|
2
2
|
class Template
|
3
3
|
class SlimSearch < Search
|
4
4
|
|
5
|
-
#
|
5
|
+
# no _source returned
|
6
6
|
# the result.loaded_collection, will load the records from the db
|
7
7
|
def self.variables
|
8
|
-
super.deep_merge!(:params => {:
|
8
|
+
super.deep_merge!(:params => {:_source => false})
|
9
9
|
end
|
10
10
|
|
11
11
|
end
|
@@ -26,7 +26,7 @@ module Elastics
|
|
26
26
|
match =~ TAG_REGEXP
|
27
27
|
t = Tag.new($1, $2)
|
28
28
|
push t unless find{|i| i.name == t.name}
|
29
|
-
(match !~ /^"/) ? "\#{vars.
|
29
|
+
(match !~ /^"/) ? "\#{vars.fetch_value(:'#{t.name}')}" : "vars.fetch_value(:'#{t.name}')"
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -2,12 +2,12 @@ module Elastics
|
|
2
2
|
module UtilityMethods
|
3
3
|
|
4
4
|
def search(data, vars={})
|
5
|
-
Template::Search.new(data).setup(Elastics.elastics).render(vars)
|
5
|
+
Template::Search.new(data, vars).setup(Elastics.elastics).render(vars)
|
6
6
|
end
|
7
7
|
|
8
8
|
# like Elastics.search, but it will use the Elastics::Template::SlimSearch instead
|
9
9
|
def slim_search(data, vars={})
|
10
|
-
Template::SlimSearch.new(data).setup(Elastics.elastics).render(vars)
|
10
|
+
Template::SlimSearch.new(data, vars).setup(Elastics.elastics).render(vars)
|
11
11
|
end
|
12
12
|
|
13
13
|
%w[HEAD GET PUT POST DELETE].each do |m|
|
@@ -36,6 +36,14 @@ module Elastics
|
|
36
36
|
elastics.doc(*args)
|
37
37
|
end
|
38
38
|
|
39
|
+
def find(pattern)
|
40
|
+
elastics.find(pattern)
|
41
|
+
end
|
42
|
+
|
43
|
+
def usage(*args)
|
44
|
+
elastics.usage(*args)
|
45
|
+
end
|
46
|
+
|
39
47
|
def scan_search(*args, &block)
|
40
48
|
elastics.scan_search(*args, &block)
|
41
49
|
end
|
@@ -49,7 +57,7 @@ module Elastics
|
|
49
57
|
|
50
58
|
def dump_all(*vars, &block)
|
51
59
|
refresh_index(*vars)
|
52
|
-
scan_all({:params => {:
|
60
|
+
scan_all({:params => {:_source => '*'}}, *vars) do |batch|
|
53
61
|
batch.map!{|document| document.delete('_score'); document}
|
54
62
|
block.call(batch)
|
55
63
|
end
|
@@ -58,7 +66,7 @@ module Elastics
|
|
58
66
|
# refresh and pull the full document from the index
|
59
67
|
def dump_one(*vars)
|
60
68
|
refresh_index(*vars)
|
61
|
-
document = search_by_id({:params => {:
|
69
|
+
document = search_by_id({:params => {:_source => '*'}}, *vars)
|
62
70
|
document.delete('_score')
|
63
71
|
document
|
64
72
|
end
|
data/lib/elastics/utils.rb
CHANGED
@@ -88,16 +88,26 @@ module Elastics
|
|
88
88
|
|
89
89
|
def class_name_to_type(class_name)
|
90
90
|
type = class_name.tr(':', '_')
|
91
|
-
type
|
92
|
-
|
93
|
-
|
94
|
-
|
91
|
+
finalize_type(type)
|
92
|
+
end
|
93
|
+
|
94
|
+
def class_name_to_path(class_name)
|
95
|
+
type = class_name.gsub('::', '/')
|
96
|
+
finalize_type(type)
|
95
97
|
end
|
96
98
|
|
97
99
|
def type_to_class_name(type)
|
98
100
|
type.gsub(/__(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
|
99
101
|
end
|
100
102
|
|
103
|
+
private
|
104
|
+
|
105
|
+
def finalize_type(type)
|
106
|
+
type.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
|
107
|
+
type.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
108
|
+
type.downcase!
|
109
|
+
type
|
110
|
+
end
|
101
111
|
|
102
112
|
end
|
103
113
|
end
|
data/lib/elastics/variables.rb
CHANGED
@@ -21,7 +21,7 @@ module Elastics
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# returns Prunable::Value if the value is in VALUES (called from stringified)
|
24
|
-
def
|
24
|
+
def fetch_value(key)
|
25
25
|
val = fetch_nested(key)
|
26
26
|
return val if self[:no_pruning].include?(key)
|
27
27
|
Prunable::VALUES.include?(val) ? Prunable::Value : val
|
metadata
CHANGED
@@ -1,97 +1,91 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elastics-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Domizio Demichelis
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-11-21 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: multi_json
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.3.4
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.3.4
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: ruby-progressbar
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 1.4.0
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 1.4.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: dye
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 0.1.4
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 0.1.4
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: prompter
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: 0.1.6
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: 0.1.6
|
78
|
-
description:
|
79
|
-
HTTP clients,
|
80
|
-
|
81
|
-
Elasticsearch API Methods, Templating System, Cascading Variables Management, Result
|
82
|
-
Extenders, Logging & Debugging, Self-documenting Tool, Rake Tasks, ...'
|
69
|
+
description: |-
|
70
|
+
Core gem used by all the elastics gems. Provides the core resources: HTTP clients,
|
71
|
+
Elasticsearch API Methods, Templating System, Cascading Variables Management, Result Extenders, Logging & Debugging, Self-documenting Tool, Rake Tasks, ...
|
83
72
|
email: dd.nexus@gmail.com
|
84
73
|
executables: []
|
85
74
|
extensions: []
|
86
75
|
extra_rdoc_files: []
|
87
76
|
files:
|
77
|
+
- LICENSE
|
88
78
|
- README.md
|
79
|
+
- VERSION
|
89
80
|
- elastics-client.gemspec
|
90
81
|
- lib/elastics-client.rb
|
91
82
|
- lib/elastics/api_stubs.rb
|
83
|
+
- lib/elastics/api_templates/cat_api.yml
|
92
84
|
- lib/elastics/api_templates/cluster_api.yml
|
93
|
-
- lib/elastics/api_templates/
|
85
|
+
- lib/elastics/api_templates/document_api.yml
|
86
|
+
- lib/elastics/api_templates/elastics_additions.yml
|
94
87
|
- lib/elastics/api_templates/indices_api.yml
|
88
|
+
- lib/elastics/api_templates/search_api.yml
|
95
89
|
- lib/elastics/class_proxy/base.rb
|
96
90
|
- lib/elastics/class_proxy/templates.rb
|
97
91
|
- lib/elastics/class_proxy/templates/doc.rb
|
@@ -119,6 +113,7 @@ files:
|
|
119
113
|
- lib/elastics/struct/symbolize.rb
|
120
114
|
- lib/elastics/tasks.rb
|
121
115
|
- lib/elastics/template.rb
|
116
|
+
- lib/elastics/template/api.rb
|
122
117
|
- lib/elastics/template/common.rb
|
123
118
|
- lib/elastics/template/logger.rb
|
124
119
|
- lib/elastics/template/partial.rb
|
@@ -130,35 +125,39 @@ files:
|
|
130
125
|
- lib/elastics/utils.rb
|
131
126
|
- lib/elastics/variables.rb
|
132
127
|
- lib/tasks.rake
|
133
|
-
- VERSION
|
134
|
-
- LICENSE
|
135
128
|
homepage: http://elastics.github.io/elastics
|
136
129
|
licenses:
|
137
130
|
- MIT
|
138
|
-
|
139
|
-
|
140
|
-
|
131
|
+
metadata: {}
|
132
|
+
post_install_message: |
|
133
|
+
________________________________________________________________________________
|
134
|
+
|
135
|
+
ELASTICS INSTALLATION NOTES
|
136
|
+
________________________________________________________________________________
|
137
|
+
|
138
|
+
New Documentation: http://elastics.github.io/elastics
|
139
|
+
|
140
|
+
Upgrading Tutorial: http://elastics.github.io/elastics/doc/7-Tutorials/2-Migrate-from-0.x.html
|
141
|
+
|
142
|
+
________________________________________________________________________________
|
141
143
|
rdoc_options:
|
142
|
-
- --charset=UTF-8
|
144
|
+
- "--charset=UTF-8"
|
143
145
|
require_paths:
|
144
146
|
- lib
|
145
147
|
required_ruby_version: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
148
|
requirements:
|
148
|
-
- -
|
149
|
+
- - ">="
|
149
150
|
- !ruby/object:Gem::Version
|
150
151
|
version: '0'
|
151
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
|
-
none: false
|
153
153
|
requirements:
|
154
|
-
- -
|
154
|
+
- - ">="
|
155
155
|
- !ruby/object:Gem::Version
|
156
156
|
version: 1.3.6
|
157
157
|
requirements: []
|
158
158
|
rubyforge_project:
|
159
|
-
rubygems_version:
|
159
|
+
rubygems_version: 2.4.5.1
|
160
160
|
signing_key:
|
161
|
-
specification_version:
|
161
|
+
specification_version: 4
|
162
162
|
summary: Client gem for elasticsearch
|
163
163
|
test_files: []
|
164
|
-
has_rdoc:
|
@@ -1,206 +0,0 @@
|
|
1
|
-
# These methods are available as Elastics.<method>(variable_hash)
|
2
|
-
# you can get the updated full reference and usage example of these methods
|
3
|
-
# by just doing in the console:
|
4
|
-
# Elastics.doc
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
#-----------------------------------------------------------------------------#
|
9
|
-
### Index ###
|
10
|
-
# http://www.elasticsearch.org/guide/reference/api/index_/
|
11
|
-
|
12
|
-
# You must pass the :data variable
|
13
|
-
store: &store
|
14
|
-
- PUT
|
15
|
-
- /<<index>>/<<type>>/<<id>>
|
16
|
-
|
17
|
-
# alias for symmetry with post_store
|
18
|
-
put_store: *store
|
19
|
-
|
20
|
-
# id is assigned by ES; you must pass :data
|
21
|
-
post_store:
|
22
|
-
- POST
|
23
|
-
- /<<index>>/<<type>>
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
#-----------------------------------------------------------------------------#
|
28
|
-
### Delete ###
|
29
|
-
# http://www.elasticsearch.org/guide/reference/api/delete/
|
30
|
-
|
31
|
-
delete: &delete
|
32
|
-
- DELETE
|
33
|
-
- /<<index>>/<<type>>/<<id>>
|
34
|
-
|
35
|
-
remove: *delete
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
#-----------------------------------------------------------------------------#
|
40
|
-
### Get ###
|
41
|
-
# http://www.elasticsearch.org/guide/reference/api/get.html
|
42
|
-
|
43
|
-
get:
|
44
|
-
- GET
|
45
|
-
- /<<index>>/<<type>>/<<id>>
|
46
|
-
|
47
|
-
get_source:
|
48
|
-
- GET
|
49
|
-
- /<<index>>/<<type>>/<<id>>/_source
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
#-----------------------------------------------------------------------------#
|
54
|
-
### Multi Get ###
|
55
|
-
# http://www.elasticsearch.org/guide/reference/api/multi-get.html
|
56
|
-
|
57
|
-
multi_get:
|
58
|
-
- GET
|
59
|
-
- /<<index>>/<<type>>/_mget
|
60
|
-
- ids: << ids >>
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
#-----------------------------------------------------------------------------#
|
65
|
-
### Update ###
|
66
|
-
# http://www.elasticsearch.org/guide/reference/api/update/
|
67
|
-
|
68
|
-
# you must pass script or doc and the other options as the :data variable
|
69
|
-
update:
|
70
|
-
- POST
|
71
|
-
- /<<index>>/<<type>>/<<id>>/_update
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
#-----------------------------------------------------------------------------#
|
76
|
-
### Search ###
|
77
|
-
# The search api is covered by the templating system
|
78
|
-
|
79
|
-
# you must pass the suggest structure as the :data variable
|
80
|
-
suggest:
|
81
|
-
- POST
|
82
|
-
- /<<index>>/<<type>>/_suggest
|
83
|
-
|
84
|
-
|
85
|
-
#-----------------------------------------------------------------------------#
|
86
|
-
### Multi Search ###
|
87
|
-
# the Multi Search api is covered by the YourClass.multi_search method
|
88
|
-
# added by the Elastics::Templates module
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
#-----------------------------------------------------------------------------#
|
93
|
-
### Percolate ###
|
94
|
-
# http://www.elasticsearch.org/guide/reference/api/percolate.html
|
95
|
-
|
96
|
-
# You must pass the the document (and additional queries) as :data variable
|
97
|
-
percolate:
|
98
|
-
- GET
|
99
|
-
- /<<index>>/<<type>>/_percolate
|
100
|
-
|
101
|
-
# You must pass the the query (and additional fields) as :data variable
|
102
|
-
put_percolator:
|
103
|
-
- PUT
|
104
|
-
- /_percolator/<<index>>/<<percolator>>
|
105
|
-
|
106
|
-
# http://www.elasticsearch.org/guide/reference/api/percolate.html
|
107
|
-
delete_percolator:
|
108
|
-
- DELETE
|
109
|
-
- /_percolator/<<index>>/<<percolator>>
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
#-----------------------------------------------------------------------------#
|
114
|
-
### Bulk ###
|
115
|
-
# http://www.elasticsearch.org/guide/reference/api/bulk.html
|
116
|
-
|
117
|
-
post_bulk_string: &bulk
|
118
|
-
- POST
|
119
|
-
- /_bulk
|
120
|
-
- << bulk_string >>
|
121
|
-
|
122
|
-
# Deprecated alias for backward compatibility
|
123
|
-
bulk: *bulk
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
#-----------------------------------------------------------------------------#
|
128
|
-
### Count ###
|
129
|
-
# http://www.elasticsearch.org/guide/reference/api/count.html
|
130
|
-
|
131
|
-
count:
|
132
|
-
- GET
|
133
|
-
- /<<index>>/<<type>>/_count
|
134
|
-
# pass :data structure if you need
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
#-----------------------------------------------------------------------------#
|
139
|
-
### Delete by query ###
|
140
|
-
# http://www.elasticsearch.org/guide/reference/api/delete-by-query.html
|
141
|
-
|
142
|
-
delete_by_query:
|
143
|
-
- DELETE
|
144
|
-
- /<<index>>/<<type>>/_query
|
145
|
-
# pass :data variable query if you need
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
#-----------------------------------------------------------------------------#
|
150
|
-
### More Like This ###
|
151
|
-
# http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-more-like-this.html
|
152
|
-
|
153
|
-
# You can pass the search API (facets, from/to and so on) as :data variable
|
154
|
-
more_like_this: &mlt
|
155
|
-
- GET
|
156
|
-
- /<<index>>/<<type>>/<<id>>/_mlt
|
157
|
-
|
158
|
-
# aliased
|
159
|
-
mlt: *mlt
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
#-----------------------------------------------------------------------------#
|
164
|
-
### Validate ###
|
165
|
-
# http://www.elasticsearch.org/guide/reference/api/validate/
|
166
|
-
|
167
|
-
# you must pass the query to validate as the :data variable
|
168
|
-
# you can pass the parameters as the :params variable
|
169
|
-
validate:
|
170
|
-
- GET
|
171
|
-
- /<<index>>/<<type>>/_validate/query
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
#-----------------------------------------------------------------------------#
|
176
|
-
### Explain ###
|
177
|
-
# http://www.elasticsearch.org/guide/reference/api/explain/
|
178
|
-
|
179
|
-
# you must pass the query to explain as the :data variable
|
180
|
-
# you can pass the parameters as the :params variable
|
181
|
-
explain:
|
182
|
-
- GET
|
183
|
-
- /<<index>>/<<type>>/<<id>>/_explain
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
#-----------------------------------------------------------------------------#
|
188
|
-
### Elastics additions ###
|
189
|
-
|
190
|
-
# not a real API method, but handy
|
191
|
-
match_all:
|
192
|
-
- GET
|
193
|
-
- /<<index>>/<<type>>/_search
|
194
|
-
- query:
|
195
|
-
match_all: {}
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
#-----------------------------------------------------------------------------#
|
200
|
-
# get a document without using the get API (which doesn't support fields '*')
|
201
|
-
search_by_id:
|
202
|
-
- GET
|
203
|
-
- /<<index>>/<<type>>/_search
|
204
|
-
- query:
|
205
|
-
term:
|
206
|
-
_id: <<id>>
|