elastomer-client 3.2.3 → 6.2.1

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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/devcontainer.json +46 -0
  3. data/.devcontainer/postCreateCommand.sh +4 -0
  4. data/.github/dependabot.yaml +11 -0
  5. data/.github/workflows/main.yml +45 -0
  6. data/.github/workflows/rubocop.yml +15 -0
  7. data/.gitignore +1 -1
  8. data/.rubocop.yml +13 -65
  9. data/.ruby-version +1 -0
  10. data/CHANGELOG.md +76 -0
  11. data/Gemfile +18 -1
  12. data/README.md +110 -51
  13. data/Rakefile +3 -1
  14. data/docker/compose.yaml +71 -0
  15. data/docker/elasticsearch8plus.yml +13 -0
  16. data/docs/README.md +4 -5
  17. data/docs/bulk_indexing.md +1 -1
  18. data/docs/client.md +20 -33
  19. data/docs/cluster.md +8 -8
  20. data/docs/docs.md +5 -5
  21. data/docs/index.md +4 -4
  22. data/docs/multi_search.md +1 -1
  23. data/docs/notifications.md +3 -3
  24. data/docs/scan_scroll.md +1 -1
  25. data/docs/snapshots.md +1 -1
  26. data/docs/templates.md +1 -1
  27. data/elastomer-client.gemspec +7 -16
  28. data/lib/{elastomer → elastomer_client}/client/bulk.rb +70 -47
  29. data/lib/{elastomer → elastomer_client}/client/cluster.rb +18 -16
  30. data/lib/{elastomer → elastomer_client}/client/delete_by_query.rb +6 -4
  31. data/lib/{elastomer → elastomer_client}/client/docs.rb +82 -72
  32. data/lib/{elastomer → elastomer_client}/client/errors.rb +7 -17
  33. data/lib/{elastomer → elastomer_client}/client/index.rb +55 -79
  34. data/lib/{elastomer → elastomer_client}/client/multi_percolate.rb +7 -5
  35. data/lib/{elastomer → elastomer_client}/client/multi_search.rb +5 -3
  36. data/lib/{elastomer → elastomer_client}/client/native_delete_by_query.rb +6 -6
  37. data/lib/{elastomer → elastomer_client}/client/nodes.rb +11 -10
  38. data/lib/{elastomer → elastomer_client}/client/percolator.rb +9 -10
  39. data/lib/elastomer_client/client/reindex.rb +34 -0
  40. data/lib/{elastomer → elastomer_client}/client/repository.rb +7 -5
  41. data/lib/{elastomer → elastomer_client}/client/rest_api_spec/api_spec.rb +7 -6
  42. data/lib/{elastomer → elastomer_client}/client/rest_api_spec/api_spec_v5_6.rb +1 -1
  43. data/lib/elastomer_client/client/rest_api_spec/api_spec_v8_13.rb +7567 -0
  44. data/lib/elastomer_client/client/rest_api_spec/api_spec_v8_7.rb +6553 -0
  45. data/lib/{elastomer → elastomer_client}/client/rest_api_spec/rest_api.rb +5 -3
  46. data/lib/{elastomer → elastomer_client}/client/rest_api_spec.rb +3 -2
  47. data/lib/{elastomer → elastomer_client}/client/scroller.rb +17 -16
  48. data/lib/{elastomer → elastomer_client}/client/snapshot.rb +10 -8
  49. data/lib/{elastomer → elastomer_client}/client/tasks.rb +9 -13
  50. data/lib/{elastomer → elastomer_client}/client/template.rb +10 -9
  51. data/lib/elastomer_client/client/update_by_query.rb +50 -0
  52. data/lib/{elastomer → elastomer_client}/client.rb +51 -62
  53. data/lib/{elastomer → elastomer_client}/core_ext/time.rb +2 -0
  54. data/lib/{elastomer → elastomer_client}/middleware/compress.rb +2 -2
  55. data/lib/{elastomer → elastomer_client}/middleware/encode_json.rb +4 -2
  56. data/lib/{elastomer → elastomer_client}/middleware/limit_size.rb +5 -3
  57. data/lib/{elastomer → elastomer_client}/middleware/opaque_id.rb +10 -7
  58. data/lib/{elastomer → elastomer_client}/middleware/parse_json.rb +5 -3
  59. data/lib/{elastomer → elastomer_client}/notifications.rb +17 -15
  60. data/lib/elastomer_client/version.rb +9 -0
  61. data/lib/elastomer_client/version_support.rb +24 -0
  62. data/script/bootstrap +4 -2
  63. data/script/console +3 -1
  64. data/script/generate-rest-api-spec +77 -22
  65. data/test/assertions.rb +32 -39
  66. data/test/client/bulk_test.rb +166 -141
  67. data/test/client/cluster_test.rb +35 -13
  68. data/test/client/docs_test.rb +387 -274
  69. data/test/client/errors_test.rb +38 -40
  70. data/test/client/index_test.rb +243 -202
  71. data/test/client/multi_percolate_test.rb +46 -41
  72. data/test/client/multi_search_test.rb +122 -67
  73. data/test/client/native_delete_by_query_test.rb +96 -88
  74. data/test/client/nodes_test.rb +21 -10
  75. data/test/client/percolator_test.rb +19 -14
  76. data/test/client/reindex_test.rb +100 -0
  77. data/test/client/repository_test.rb +31 -19
  78. data/test/client/rest_api_spec/api_spec_test.rb +13 -11
  79. data/test/client/rest_api_spec/rest_api_test.rb +9 -7
  80. data/test/client/scroller_test.rb +44 -70
  81. data/test/client/snapshot_test.rb +38 -21
  82. data/test/client/stubbed_client_test.rb +7 -4
  83. data/test/client/tasks_test.rb +12 -17
  84. data/test/client/template_test.rb +34 -13
  85. data/test/client/update_by_query_test.rb +137 -0
  86. data/test/client_test.rb +158 -92
  87. data/test/core_ext/time_test.rb +14 -12
  88. data/test/middleware/encode_json_test.rb +18 -7
  89. data/test/middleware/opaque_id_test.rb +18 -14
  90. data/test/middleware/parse_json_test.rb +17 -9
  91. data/test/mock_response.rb +30 -0
  92. data/test/notifications_test.rb +15 -8
  93. data/test/test_helper.rb +40 -97
  94. data/test/version_support_test.rb +13 -78
  95. metadata +60 -208
  96. data/.overcommit.yml +0 -5
  97. data/.travis.yml +0 -34
  98. data/docker/docker-compose.cibuild.yml +0 -8
  99. data/docker/docker-compose.es24.yml +0 -34
  100. data/docker/docker-compose.es56.yml +0 -37
  101. data/docs/warmers.md +0 -3
  102. data/lib/elastomer/client/app_delete_by_query.rb +0 -144
  103. data/lib/elastomer/client/rest_api_spec/api_spec_v2_3.rb +0 -2232
  104. data/lib/elastomer/client/rest_api_spec/api_spec_v2_4.rb +0 -2250
  105. data/lib/elastomer/client/warmer.rb +0 -98
  106. data/lib/elastomer/version.rb +0 -7
  107. data/lib/elastomer/version_support.rb +0 -182
  108. data/script/cibuild +0 -103
  109. data/script/cibuild-elastomer-client +0 -1
  110. data/script/cibuild-elastomer-client-es24 +0 -8
  111. data/script/cibuild-elastomer-client-es56 +0 -8
  112. data/test/client/app_delete_by_query_test.rb +0 -192
  113. data/test/client/es_5_x_warmer_test.rb +0 -13
  114. data/test/client/warmer_test.rb +0 -60
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastomer-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3
4
+ version: 6.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Pease
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-02-26 00:00:00.000000000 Z
12
+ date: 2024-12-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
@@ -29,30 +29,30 @@ dependencies:
29
29
  name: faraday
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '0.8'
34
+ version: '0.17'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - "~>"
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '0.8'
41
+ version: '0.17'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: faraday_middleware
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "~>"
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: '0.12'
48
+ version: '0.14'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - "~>"
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: '0.12'
55
+ version: '0.14'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: multi_json
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -81,154 +81,8 @@ dependencies:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.6'
84
- - !ruby/object:Gem::Dependency
85
- name: bundler
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: '2.0'
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '2.0'
98
- - !ruby/object:Gem::Dependency
99
- name: activesupport
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '3.0'
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '3.0'
112
- - !ruby/object:Gem::Dependency
113
- name: minitest
114
- requirement: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - "~>"
117
- - !ruby/object:Gem::Version
118
- version: '5.10'
119
- type: :development
120
- prerelease: false
121
- version_requirements: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - "~>"
124
- - !ruby/object:Gem::Version
125
- version: '5.10'
126
- - !ruby/object:Gem::Dependency
127
- name: minitest-fail-fast
128
- requirement: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - "~>"
131
- - !ruby/object:Gem::Version
132
- version: 0.1.0
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: 0.1.0
140
- - !ruby/object:Gem::Dependency
141
- name: minitest-focus
142
- requirement: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - "~>"
145
- - !ruby/object:Gem::Version
146
- version: '1.1'
147
- - - ">="
148
- - !ruby/object:Gem::Version
149
- version: 1.1.2
150
- type: :development
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- requirements:
154
- - - "~>"
155
- - !ruby/object:Gem::Version
156
- version: '1.1'
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: 1.1.2
160
- - !ruby/object:Gem::Dependency
161
- name: webmock
162
- requirement: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - "~>"
165
- - !ruby/object:Gem::Version
166
- version: '3.5'
167
- type: :development
168
- prerelease: false
169
- version_requirements: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '3.5'
174
- - !ruby/object:Gem::Dependency
175
- name: awesome_print
176
- requirement: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '1.8'
181
- type: :development
182
- prerelease: false
183
- version_requirements: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - "~>"
186
- - !ruby/object:Gem::Version
187
- version: '1.8'
188
- - !ruby/object:Gem::Dependency
189
- name: pry-byebug
190
- requirement: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - "~>"
193
- - !ruby/object:Gem::Version
194
- version: '3.4'
195
- type: :development
196
- prerelease: false
197
- version_requirements: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - "~>"
200
- - !ruby/object:Gem::Version
201
- version: '3.4'
202
- - !ruby/object:Gem::Dependency
203
- name: spy
204
- requirement: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - "~>"
207
- - !ruby/object:Gem::Version
208
- version: '1.0'
209
- type: :development
210
- prerelease: false
211
- version_requirements: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: '1.0'
216
- - !ruby/object:Gem::Dependency
217
- name: rake
218
- requirement: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
- type: :development
224
- prerelease: false
225
- version_requirements: !ruby/object:Gem::Requirement
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
84
  description: |-
231
- Elastomer is a low level API client for the
85
+ ElastomerClient is a low level API client for the
232
86
  Elasticsearch HTTP interface.
233
87
  email:
234
88
  - tim.pease@github.com
@@ -237,19 +91,22 @@ executables: []
237
91
  extensions: []
238
92
  extra_rdoc_files: []
239
93
  files:
94
+ - ".devcontainer/devcontainer.json"
95
+ - ".devcontainer/postCreateCommand.sh"
96
+ - ".github/dependabot.yaml"
97
+ - ".github/workflows/main.yml"
98
+ - ".github/workflows/rubocop.yml"
240
99
  - ".gitignore"
241
- - ".overcommit.yml"
242
100
  - ".rubocop.yml"
243
- - ".travis.yml"
101
+ - ".ruby-version"
244
102
  - CHANGELOG.md
245
103
  - Gemfile
246
104
  - LICENSE.txt
247
105
  - README.md
248
106
  - Rakefile
249
- - docker/docker-compose.cibuild.yml
250
- - docker/docker-compose.es24.yml
251
- - docker/docker-compose.es56.yml
107
+ - docker/compose.yaml
252
108
  - docker/elasticsearch.yml
109
+ - docker/elasticsearch8plus.yml
253
110
  - docs/README.md
254
111
  - docs/bulk_indexing.md
255
112
  - docs/client.md
@@ -261,63 +118,57 @@ files:
261
118
  - docs/scan_scroll.md
262
119
  - docs/snapshots.md
263
120
  - docs/templates.md
264
- - docs/warmers.md
265
121
  - elastomer-client.gemspec
266
- - lib/elastomer/client.rb
267
- - lib/elastomer/client/app_delete_by_query.rb
268
- - lib/elastomer/client/bulk.rb
269
- - lib/elastomer/client/cluster.rb
270
- - lib/elastomer/client/delete_by_query.rb
271
- - lib/elastomer/client/docs.rb
272
- - lib/elastomer/client/errors.rb
273
- - lib/elastomer/client/index.rb
274
- - lib/elastomer/client/multi_percolate.rb
275
- - lib/elastomer/client/multi_search.rb
276
- - lib/elastomer/client/native_delete_by_query.rb
277
- - lib/elastomer/client/nodes.rb
278
- - lib/elastomer/client/percolator.rb
279
- - lib/elastomer/client/repository.rb
280
- - lib/elastomer/client/rest_api_spec.rb
281
- - lib/elastomer/client/rest_api_spec/api_spec.rb
282
- - lib/elastomer/client/rest_api_spec/api_spec_v2_3.rb
283
- - lib/elastomer/client/rest_api_spec/api_spec_v2_4.rb
284
- - lib/elastomer/client/rest_api_spec/api_spec_v5_6.rb
285
- - lib/elastomer/client/rest_api_spec/rest_api.rb
286
- - lib/elastomer/client/scroller.rb
287
- - lib/elastomer/client/snapshot.rb
288
- - lib/elastomer/client/tasks.rb
289
- - lib/elastomer/client/template.rb
290
- - lib/elastomer/client/warmer.rb
291
- - lib/elastomer/core_ext/time.rb
292
- - lib/elastomer/middleware/compress.rb
293
- - lib/elastomer/middleware/encode_json.rb
294
- - lib/elastomer/middleware/limit_size.rb
295
- - lib/elastomer/middleware/opaque_id.rb
296
- - lib/elastomer/middleware/parse_json.rb
297
- - lib/elastomer/notifications.rb
298
- - lib/elastomer/version.rb
299
- - lib/elastomer/version_support.rb
122
+ - lib/elastomer_client/client.rb
123
+ - lib/elastomer_client/client/bulk.rb
124
+ - lib/elastomer_client/client/cluster.rb
125
+ - lib/elastomer_client/client/delete_by_query.rb
126
+ - lib/elastomer_client/client/docs.rb
127
+ - lib/elastomer_client/client/errors.rb
128
+ - lib/elastomer_client/client/index.rb
129
+ - lib/elastomer_client/client/multi_percolate.rb
130
+ - lib/elastomer_client/client/multi_search.rb
131
+ - lib/elastomer_client/client/native_delete_by_query.rb
132
+ - lib/elastomer_client/client/nodes.rb
133
+ - lib/elastomer_client/client/percolator.rb
134
+ - lib/elastomer_client/client/reindex.rb
135
+ - lib/elastomer_client/client/repository.rb
136
+ - lib/elastomer_client/client/rest_api_spec.rb
137
+ - lib/elastomer_client/client/rest_api_spec/api_spec.rb
138
+ - lib/elastomer_client/client/rest_api_spec/api_spec_v5_6.rb
139
+ - lib/elastomer_client/client/rest_api_spec/api_spec_v8_13.rb
140
+ - lib/elastomer_client/client/rest_api_spec/api_spec_v8_7.rb
141
+ - lib/elastomer_client/client/rest_api_spec/rest_api.rb
142
+ - lib/elastomer_client/client/scroller.rb
143
+ - lib/elastomer_client/client/snapshot.rb
144
+ - lib/elastomer_client/client/tasks.rb
145
+ - lib/elastomer_client/client/template.rb
146
+ - lib/elastomer_client/client/update_by_query.rb
147
+ - lib/elastomer_client/core_ext/time.rb
148
+ - lib/elastomer_client/middleware/compress.rb
149
+ - lib/elastomer_client/middleware/encode_json.rb
150
+ - lib/elastomer_client/middleware/limit_size.rb
151
+ - lib/elastomer_client/middleware/opaque_id.rb
152
+ - lib/elastomer_client/middleware/parse_json.rb
153
+ - lib/elastomer_client/notifications.rb
154
+ - lib/elastomer_client/version.rb
155
+ - lib/elastomer_client/version_support.rb
300
156
  - script/bootstrap
301
- - script/cibuild
302
- - script/cibuild-elastomer-client
303
- - script/cibuild-elastomer-client-es24
304
- - script/cibuild-elastomer-client-es56
305
157
  - script/console
306
158
  - script/generate-rest-api-spec
307
159
  - script/poll-for-es
308
160
  - test/assertions.rb
309
- - test/client/app_delete_by_query_test.rb
310
161
  - test/client/bulk_test.rb
311
162
  - test/client/cluster_test.rb
312
163
  - test/client/docs_test.rb
313
164
  - test/client/errors_test.rb
314
- - test/client/es_5_x_warmer_test.rb
315
165
  - test/client/index_test.rb
316
166
  - test/client/multi_percolate_test.rb
317
167
  - test/client/multi_search_test.rb
318
168
  - test/client/native_delete_by_query_test.rb
319
169
  - test/client/nodes_test.rb
320
170
  - test/client/percolator_test.rb
171
+ - test/client/reindex_test.rb
321
172
  - test/client/repository_test.rb
322
173
  - test/client/rest_api_spec/api_spec_test.rb
323
174
  - test/client/rest_api_spec/rest_api_test.rb
@@ -326,12 +177,13 @@ files:
326
177
  - test/client/stubbed_client_test.rb
327
178
  - test/client/tasks_test.rb
328
179
  - test/client/template_test.rb
329
- - test/client/warmer_test.rb
180
+ - test/client/update_by_query_test.rb
330
181
  - test/client_test.rb
331
182
  - test/core_ext/time_test.rb
332
183
  - test/middleware/encode_json_test.rb
333
184
  - test/middleware/opaque_id_test.rb
334
185
  - test/middleware/parse_json_test.rb
186
+ - test/mock_response.rb
335
187
  - test/notifications_test.rb
336
188
  - test/test_helper.rb
337
189
  - test/version_support_test.rb
@@ -354,24 +206,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
354
206
  - !ruby/object:Gem::Version
355
207
  version: '0'
356
208
  requirements: []
357
- rubygems_version: 3.0.3
209
+ rubygems_version: 3.4.10
358
210
  signing_key:
359
211
  specification_version: 4
360
212
  summary: A library for interacting with Elasticsearch
361
213
  test_files:
362
214
  - test/assertions.rb
363
- - test/client/app_delete_by_query_test.rb
364
215
  - test/client/bulk_test.rb
365
216
  - test/client/cluster_test.rb
366
217
  - test/client/docs_test.rb
367
218
  - test/client/errors_test.rb
368
- - test/client/es_5_x_warmer_test.rb
369
219
  - test/client/index_test.rb
370
220
  - test/client/multi_percolate_test.rb
371
221
  - test/client/multi_search_test.rb
372
222
  - test/client/native_delete_by_query_test.rb
373
223
  - test/client/nodes_test.rb
374
224
  - test/client/percolator_test.rb
225
+ - test/client/reindex_test.rb
375
226
  - test/client/repository_test.rb
376
227
  - test/client/rest_api_spec/api_spec_test.rb
377
228
  - test/client/rest_api_spec/rest_api_test.rb
@@ -380,12 +231,13 @@ test_files:
380
231
  - test/client/stubbed_client_test.rb
381
232
  - test/client/tasks_test.rb
382
233
  - test/client/template_test.rb
383
- - test/client/warmer_test.rb
234
+ - test/client/update_by_query_test.rb
384
235
  - test/client_test.rb
385
236
  - test/core_ext/time_test.rb
386
237
  - test/middleware/encode_json_test.rb
387
238
  - test/middleware/opaque_id_test.rb
388
239
  - test/middleware/parse_json_test.rb
240
+ - test/mock_response.rb
389
241
  - test/notifications_test.rb
390
242
  - test/test_helper.rb
391
243
  - test/version_support_test.rb
data/.overcommit.yml DELETED
@@ -1,5 +0,0 @@
1
- PreCommit:
2
- RuboCop:
3
- enabled: true
4
- problem_on_unmodified_line: ignore
5
- flags: ['--fail-level', 'error', '--format', 'emacs']
data/.travis.yml DELETED
@@ -1,34 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.3.8
4
- env:
5
- # NOTE: Ancient versions of Elasticsearch have different download URLs
6
- - ES_VERSION=2.3.5 ES_DOWNLOAD_URL=https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/${ES_VERSION}/elasticsearch-${ES_VERSION}.tar.gz
7
- - ES_VERSION=2.4.6 ES_DOWNLOAD_URL=https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/${ES_VERSION}/elasticsearch-${ES_VERSION}.tar.gz
8
- - ES_VERSION=5.6.15 ES_DOWNLOAD_URL=https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}.tar.gz
9
-
10
- # Configure a specific version of Elasticsearch
11
- # See: https://docs.travis-ci.com/user/database-setup/#Installing-ElasticSearch-on-trusty-container-based-infrastructure
12
- install:
13
- # - sudo apt install openjdk-8-jdk
14
- # - sudo update-java-alternatives -l
15
- - wget ${ES_DOWNLOAD_URL}
16
- - tar -xzf elasticsearch-${ES_VERSION}.tar.gz
17
- - ./elasticsearch-${ES_VERSION}/bin/elasticsearch &
18
- - gem install bundler
19
- - bundle install
20
- - wget --quiet --waitretry=1 --retry-connrefused --timeout=10 --output-document=- http://127.0.0.1:9200
21
-
22
- script: bundle exec rake test
23
-
24
- notifications:
25
- email: false
26
-
27
- sudo: false
28
- dist: trusty
29
- jdk:
30
- - oraclejdk8
31
- addons:
32
- apt:
33
- packages:
34
- - oracle-java8-installer
@@ -1,8 +0,0 @@
1
- version: "2.1"
2
-
3
- networks:
4
- default:
5
- ipam:
6
- config:
7
- - subnet: 192.168.0.0/26
8
- gateway: 192.168.0.1
@@ -1,34 +0,0 @@
1
- version: "2.1"
2
-
3
- services:
4
- elasticsearch2.4:
5
- image: elasticsearch:2.4.6
6
- container_name: es2.4
7
- environment:
8
- - cluster.name=elastomer2.4
9
- - bootstrap.memory_lock=true
10
- - discovery.type=single-node
11
- - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
12
- ulimits:
13
- memlock:
14
- soft: -1
15
- hard: -1
16
- nofile:
17
- soft: 65536
18
- hard: 65536
19
- mem_limit: 1g
20
- cap_add:
21
- - IPC_LOCK
22
- volumes:
23
- - esrepos:/usr/share/elasticsearch/repos
24
- - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
25
- ports:
26
- - 127.0.0.1:19200:9200
27
-
28
- volumes:
29
- esrepos:
30
- driver: local
31
- driver_opts:
32
- device: tmpfs
33
- type: tmpfs
34
- o: size=100m,uid=102,gid=102
@@ -1,37 +0,0 @@
1
- version: "2.1"
2
-
3
- services:
4
- elasticsearch5.6:
5
- image: docker.elastic.co/elasticsearch/elasticsearch:5.6.4
6
- container_name: es5.6
7
- environment:
8
- - cluster.name=elastomer5.6
9
- - bootstrap.memory_lock=true
10
- - discovery.type=single-node
11
- - xpack.monitoring.enabled=false
12
- - xpack.security.enabled=false
13
- - xpack.watcher.enabled=false
14
- - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
15
- ulimits:
16
- memlock:
17
- soft: -1
18
- hard: -1
19
- nofile:
20
- soft: 65536
21
- hard: 65536
22
- mem_limit: 1g
23
- cap_add:
24
- - IPC_LOCK
25
- volumes:
26
- - esrepos:/usr/share/elasticsearch/repos
27
- - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
28
- ports:
29
- - 127.0.0.1:19200:9200
30
-
31
- volumes:
32
- esrepos:
33
- driver: local
34
- driver_opts:
35
- device: tmpfs
36
- type: tmpfs
37
- o: size=100m,uid=102,gid=102
data/docs/warmers.md DELETED
@@ -1,3 +0,0 @@
1
- # Elastomer Warmers Component
2
-
3
- ![constructocat](https://octodex.github.com/images/constructocat2.jpg)
@@ -1,144 +0,0 @@
1
- module Elastomer
2
- class Client
3
-
4
- # DEPRECATED: Delete documents from one or more indices and one or more
5
- # types based on a query.
6
- #
7
- # The return value follows the format returned by the Elasticsearch Delete
8
- # by Query plugin: https://github.com/elastic/elasticsearch/blob/v2.4.6/docs/plugins/delete-by-query.asciidoc
9
- #
10
- # Internally, this method uses a combination of scroll and bulk delete
11
- # instead of the Delete by Query API, which was removed in Elasticsearch
12
- # 2.0.
13
- #
14
- # For native _delete_by_query functionality in Elasticsearch 5+, see the
15
- # native_delete_by_query method.
16
- #
17
- # query - The query body as a Hash
18
- # params - Parameters Hash
19
- #
20
- # Examples
21
- #
22
- # # request body query
23
- # app_delete_by_query({:query => {:match_all => {}}}, :type => 'tweet')
24
- #
25
- # # same thing but using the URI request method
26
- # app_delete_by_query(nil, { :q => '*:*', :type => 'tweet' })
27
- #
28
- # See https://www.elastic.co/guide/en/elasticsearch/plugins/current/delete-by-query-usage.html
29
- #
30
- # Returns a Hash of statistics about the delete operations, for example:
31
- #
32
- # {
33
- # "took" : 639,
34
- # "_indices" : {
35
- # "_all" : {
36
- # "found" : 5901,
37
- # "deleted" : 5901,
38
- # "missing" : 0,
39
- # "failed" : 0
40
- # },
41
- # "twitter" : {
42
- # "found" : 5901,
43
- # "deleted" : 5901,
44
- # "missing" : 0,
45
- # "failed" : 0
46
- # }
47
- # },
48
- # "failures" : [ ]
49
- # }
50
- def app_delete_by_query(query, params = {})
51
- AppDeleteByQuery.new(self, query, params).execute
52
- end
53
-
54
- class AppDeleteByQuery
55
-
56
- # Create a new DeleteByQuery command for deleting documents matching a
57
- # query
58
- #
59
- # client - Elastomer::Client used for HTTP requests to the server
60
- # query - The query used to find documents to delete
61
- # params - Other URL parameters
62
- def initialize(client, query, params = {})
63
- @client = client
64
- @query = query
65
- @params = params
66
- @response_stats = { "took" => 0, "_indices" => { "_all" => {} }, "failures" => [] }
67
- end
68
-
69
- attr_reader :client, :query, :params, :response_stats
70
-
71
- # Internal: Determine whether or not an HTTP status code is in the range
72
- # 200 to 299
73
- #
74
- # status - HTTP status code
75
- #
76
- # Returns a boolean
77
- def is_ok?(status)
78
- status.between?(200, 299)
79
- end
80
-
81
- # Internal: Tally the contributions of an item to the found, deleted,
82
- # missing, and failed counts for the summary statistics
83
- #
84
- # item - An element of the items array from a bulk response
85
- #
86
- # Returns a Hash of counts for each category
87
- def categorize(item)
88
- {
89
- "found" => item["found"] || item["status"] == 409 ? 1 : 0,
90
- "deleted" => is_ok?(item["status"]) ? 1 : 0,
91
- "missing" => !item["found"] && !item.key?("error") ? 1 : 0,
92
- "failed" => item.key?("error") ? 1 : 0,
93
- }
94
- end
95
-
96
- # Internal: Combine a response item with the existing statistics
97
- #
98
- # item - A bulk response item
99
- def accumulate(item)
100
- item = item["delete"]
101
- (@response_stats["_indices"][item["_index"]] ||= {}).merge!(categorize(item)) { |_, n, m| n + m }
102
- @response_stats["_indices"]["_all"].merge!(categorize(item)) { |_, n, m| n + m }
103
- @response_stats["failures"] << item unless is_ok? item["status"]
104
- end
105
-
106
- # Perform the Delete by Query action
107
- #
108
- # Returns a Hash of statistics about the bulk operation
109
- def execute
110
- ops = Enumerator.new do |yielder|
111
- scan = @client.scan(@query, search_params)
112
- scan.each_document do |hit|
113
- yielder.yield([:delete, hit.select { |key, _| ["_index", "_type", "_id", "_routing"].include?(key) }])
114
- end
115
- end
116
-
117
- stats = @client.bulk_stream_items(ops, bulk_params) { |item| accumulate(item) }
118
- @response_stats["took"] = stats["took"]
119
- @response_stats
120
- end
121
-
122
- # Internal: Remove parameters that are not valid for the _search endpoint
123
- def search_params
124
- return @search_params if defined?(@search_params)
125
-
126
- @search_params = @params.merge(_source: false)
127
- @search_params.delete(:action_count)
128
- @search_params
129
- end
130
-
131
- # Internal: Remove parameters that are not valid for the _bulk endpoint
132
- def bulk_params
133
- return @bulk_params if defined?(@bulk_params)
134
-
135
- @bulk_params = @params.dup
136
- return @bulk_params if @bulk_params.nil?
137
-
138
- @bulk_params.delete(:q)
139
- @bulk_params
140
- end
141
-
142
- end
143
- end
144
- end