es-elasticity 1.4.0 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e6f447f025a73550103e09f6bab1f6f14417e38d5f1c982b424ad37512c95f29
4
- data.tar.gz: 7cee4f97b71fc6edba40e8f8e03ac5fe174e01563db26dea1cfa1190d9160a6f
3
+ metadata.gz: b8d8df30be52adb429cf46bc1478cbc02dd0ceb6aea341e1245bd07c05fc6a5a
4
+ data.tar.gz: 99554749d9eeaecd44c562a0a486ee0ff8b0fdb68ba2c41f6c09cc7f745256df
5
5
  SHA512:
6
- metadata.gz: 4b3a8567a5f9f16553590d026a54e9571dde10871cdaa6682173289c6303173ffdf187201ea27741177e3be69469ccb2fc1dc71f42caa08f5bc61a0341603d46
7
- data.tar.gz: 34e1b278261182bb2a45fbced6c2877d49b82def91de3f1fe5543a7fbf2e2f12d91b81646b98b823372d8e13ff554b076e705c5810e91d3704d1aa8c545965ad
6
+ metadata.gz: 8dd0cc60e22b44999e3799e10b363820ffe2b474f8008c45f006e525dca14cf3a7d0a8a6e15619e37588bca2e57520900f6d69c9a0aa3a8f36020425752c4d83
7
+ data.tar.gz: '09aa1c18dd829b23b541f3d457e47b826f234385b256b4c2cbd94d61c5f94c08a5739368402587721170a7dc09b3f6a42f12fdabc9a7c8c197e82bb9aedcd9fc'
data/.circleci/config.yml CHANGED
@@ -1,13 +1,15 @@
1
1
  version: '2.1'
2
2
 
3
3
  meta:
4
- ruby-version-matrix: &ruby-version-matrix
4
+ test-version-matrix: &test-version-matrix
5
5
  matrix:
6
6
  parameters:
7
7
  ruby-version:
8
- - '3.1'
9
8
  - '3.2'
10
9
  - '3.3'
10
+ elasticsearch-version:
11
+ - '8.19.20'
12
+ - '9.5.2'
11
13
 
12
14
  orbs:
13
15
  ci-utils: doximity/ci-utils@2
@@ -17,13 +19,16 @@ executors:
17
19
  parameters:
18
20
  ruby-version:
19
21
  type: string
20
- default: '3.1'
22
+ default: '3.2'
23
+ elasticsearch-version:
24
+ type: string
25
+ default: '8.19.20'
21
26
  resource_class: small
22
27
  docker:
23
28
  - image: cimg/ruby:<< parameters.ruby-version >>
24
29
  environment:
25
30
  BUNDLE_VERSION: 2.5.23
26
- - image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
31
+ - image: docker.elastic.co/elasticsearch/elasticsearch:<< parameters.elasticsearch-version >>
27
32
  environment:
28
33
  discovery.type: single-node
29
34
  ES_JAVA_OPTS: "-Xms512m -Xmx512m"
@@ -224,7 +229,10 @@ jobs:
224
229
  default: ''
225
230
  ruby-version:
226
231
  type: string
227
- default: '3.1'
232
+ default: '3.2'
233
+ elasticsearch-version:
234
+ type: string
235
+ default: '8.19.20'
228
236
  pre-actions:
229
237
  description: Steps to perform any necessary setup after dependencies are installed.
230
238
  type: steps
@@ -247,6 +255,7 @@ jobs:
247
255
  executor:
248
256
  name: "<< parameters.executor >>"
249
257
  ruby-version: "<< parameters.ruby-version >>"
258
+ elasticsearch-version: "<< parameters.elasticsearch-version >>"
250
259
  resource_class: "<< parameters.resource_class >>"
251
260
  parallelism: "<< parameters.parallelism >>"
252
261
  steps:
@@ -265,5 +274,5 @@ workflows:
265
274
  - run_tests_ruby:
266
275
  executor: ruby
267
276
  context: nexus_readonly
268
- <<: *ruby-version-matrix
269
- name: run_tests_ruby-ruby-<< matrix.ruby-version >>
277
+ <<: *test-version-matrix
278
+ name: run_tests_ruby-<< matrix.ruby-version >>-elasticsearch-<< matrix.elasticsearch-version >>
data/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [2.0.0] - 2026-09-03
8
+ ### Changed
9
+ - Require Ruby 3.2 or newer
10
+ - Require Elasticsearch Ruby client 8.19
11
+ - Send scroll IDs in request bodies for Elasticsearch 9 compatibility
12
+
7
13
  ## [1.4.0]
8
14
  ## Changed
9
15
  - Update dependencies for Rails 8 compatibility
data/Gemfile.lock CHANGED
@@ -1,12 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- es-elasticity (1.4.0)
4
+ es-elasticity (2.0.0)
5
5
  activemodel (>= 5.2.0, < 9)
6
6
  activerecord (>= 5.2.0, < 9)
7
7
  activesupport (>= 5.2.0, < 9)
8
- elastic-transport (>= 8.3, < 8.7)
9
- elasticsearch (>= 7, <= 8.16)
8
+ elastic-transport (~> 8.4)
9
+ elasticsearch (~> 8.19.0)
10
10
 
11
11
  GEM
12
12
  remote: https://artifacts.dox.support/repository/gems/
@@ -42,24 +42,30 @@ GEM
42
42
  diff-lcs (1.5.1)
43
43
  docile (1.4.1)
44
44
  drb (2.2.3)
45
- elastic-transport (8.3.5)
45
+ elastic-transport (8.5.3)
46
46
  faraday (< 3)
47
47
  multi_json
48
- elasticsearch (8.16.0)
48
+ elasticsearch (8.19.3)
49
49
  elastic-transport (~> 8.3)
50
- elasticsearch-api (= 8.16.0)
51
- elasticsearch-api (8.16.0)
50
+ elasticsearch-api (= 8.19.3)
51
+ ostruct
52
+ elasticsearch-api (8.19.3)
52
53
  multi_json
53
- faraday (2.7.4)
54
- faraday-net_http (>= 2.0, < 3.1)
55
- ruby2_keywords (>= 0.0.4)
56
- faraday-net_http (3.0.2)
54
+ faraday (2.14.3)
55
+ faraday-net_http (>= 2.0, < 3.5)
56
+ json
57
+ logger
58
+ faraday-net_http (3.4.4)
59
+ net-http (~> 0.5)
57
60
  i18n (1.14.7)
58
61
  concurrent-ruby (~> 1.0)
62
+ json (2.21.2)
59
63
  logger (1.7.0)
60
64
  method_source (1.1.0)
61
65
  minitest (5.25.5)
62
- multi_json (1.15.0)
66
+ multi_json (1.21.1)
67
+ net-http (0.9.1)
68
+ uri (>= 0.11.1)
63
69
  oj (3.16.7)
64
70
  bigdecimal (>= 3.0)
65
71
  ostruct (>= 0.2)
@@ -84,7 +90,6 @@ GEM
84
90
  rspec-support (3.13.1)
85
91
  rspec_junit_formatter (0.4.1)
86
92
  rspec-core (>= 2, < 4, != 2.12.0)
87
- ruby2_keywords (0.0.5)
88
93
  securerandom (0.4.1)
89
94
  simplecov (0.22.0)
90
95
  docile (~> 1.1)
data/README.md CHANGED
@@ -30,9 +30,7 @@ Or install it yourself as:
30
30
 
31
31
  ### Version Support
32
32
 
33
- This gem has [elasticsearch-ruby](https://github.com/elastic/elasticsearch-ruby) as a dependency. In order to use different versions of elasticsearch you will need to match your version of elasticsearch-ruby to the version of elasticsearch you want to use ([see here](https://github.com/elastic/elasticsearch-ruby#compatibility). Elasticity should work across all versions of elastisearch-ruby, although they have not all been tested so there are likely edge cases.
34
-
35
- Currently tests are run on CirlceCI against elasticsearch 7.17.3 with elasticsearch-ruby 7.17.1.
33
+ Elasticity 2.x requires Ruby 3.2 or newer and [elasticsearch-ruby](https://github.com/elastic/elasticsearch-ruby) 8.19. Tests run against Elasticsearch 8.19.20 and 9.5.2.
36
34
 
37
35
  ### Configuration
38
36
 
@@ -12,6 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = %q{Elasticity provides a higher level abstraction on top of [elasticsearch-ruby](https://github.com/elasticsearch/elasticsearch-ruby) gem}
13
13
  spec.homepage = "https://github.com/doximity/es-elasticity"
14
14
  spec.license = "MIT"
15
+ spec.required_ruby_version = ">= 3.2"
15
16
 
16
17
  spec.files = `git ls-files -z`.split("\x0")
17
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -36,6 +37,6 @@ Gem::Specification.new do |spec|
36
37
  spec.add_dependency "activemodel", ">= 5.2.0", "< 9"
37
38
  spec.add_dependency "activerecord", ">= 5.2.0", "< 9"
38
39
  spec.add_dependency "activesupport", ">= 5.2.0", "< 9"
39
- spec.add_dependency "elasticsearch", ">= 7", "<= 8.16"
40
- spec.add_dependency "elastic-transport", ">= 8.3", "< 8.7"
40
+ spec.add_dependency "elasticsearch", "~> 8.19.0"
41
+ spec.add_dependency "elastic-transport", "~> 8.4"
41
42
  end
@@ -175,7 +175,7 @@ module Elasticity
175
175
  # Push the first set of results before requesting the second set
176
176
  y << Search::Results.new(response, @search_definition.body, @mapper)
177
177
  loop do
178
- response = @client.scroll(scroll_id: response["_scroll_id"], scroll: @scroll, body: { scroll_id: response["_scroll_id"] })
178
+ response = @client.scroll(scroll: @scroll, body: { scroll_id: response["_scroll_id"] })
179
179
  break if response["hits"]["hits"].empty?
180
180
 
181
181
  y << Search::Results.new(response, @search_definition.body, @mapper)
@@ -95,7 +95,7 @@ module Elasticity
95
95
  end
96
96
 
97
97
  @client.bulk(body: ops) unless ops.empty?
98
- cursor = @client.scroll(scroll_id: cursor["_scroll_id"], scroll: "1m", body: { scroll_id: cursor["_scroll_id"] })
98
+ cursor = @client.scroll(scroll: "1m", body: { scroll_id: cursor["_scroll_id"] })
99
99
  end
100
100
 
101
101
  # Update aliases to only point to the new index.
@@ -139,7 +139,7 @@ module Elasticity
139
139
  end
140
140
 
141
141
  @client.bulk(body: ops)
142
- cursor = @client.scroll(scroll_id: cursor["_scroll_id"], scroll: "1m")
142
+ cursor = @client.scroll(scroll: "1m", body: { scroll_id: cursor["_scroll_id"] })
143
143
  end
144
144
 
145
145
  @client.index_refresh(index: original_index)
@@ -1,3 +1,3 @@
1
1
  module Elasticity
2
- VERSION = "1.4.0"
2
+ VERSION = "2.0.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: es-elasticity
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Kochenburger
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-09-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
@@ -228,42 +227,30 @@ dependencies:
228
227
  name: elasticsearch
229
228
  requirement: !ruby/object:Gem::Requirement
230
229
  requirements:
231
- - - ">="
232
- - !ruby/object:Gem::Version
233
- version: '7'
234
- - - "<="
230
+ - - "~>"
235
231
  - !ruby/object:Gem::Version
236
- version: '8.16'
232
+ version: 8.19.0
237
233
  type: :runtime
238
234
  prerelease: false
239
235
  version_requirements: !ruby/object:Gem::Requirement
240
236
  requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- version: '7'
244
- - - "<="
237
+ - - "~>"
245
238
  - !ruby/object:Gem::Version
246
- version: '8.16'
239
+ version: 8.19.0
247
240
  - !ruby/object:Gem::Dependency
248
241
  name: elastic-transport
249
242
  requirement: !ruby/object:Gem::Requirement
250
243
  requirements:
251
- - - ">="
252
- - !ruby/object:Gem::Version
253
- version: '8.3'
254
- - - "<"
244
+ - - "~>"
255
245
  - !ruby/object:Gem::Version
256
- version: '8.7'
246
+ version: '8.4'
257
247
  type: :runtime
258
248
  prerelease: false
259
249
  version_requirements: !ruby/object:Gem::Requirement
260
250
  requirements:
261
- - - ">="
262
- - !ruby/object:Gem::Version
263
- version: '8.3'
264
- - - "<"
251
+ - - "~>"
265
252
  - !ruby/object:Gem::Version
266
- version: '8.7'
253
+ version: '8.4'
267
254
  description: Elasticity provides a higher level abstraction on top of [elasticsearch-ruby](https://github.com/elasticsearch/elasticsearch-ruby)
268
255
  gem
269
256
  email:
@@ -308,7 +295,6 @@ homepage: https://github.com/doximity/es-elasticity
308
295
  licenses:
309
296
  - MIT
310
297
  metadata: {}
311
- post_install_message:
312
298
  rdoc_options: []
313
299
  require_paths:
314
300
  - lib
@@ -316,15 +302,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
316
302
  requirements:
317
303
  - - ">="
318
304
  - !ruby/object:Gem::Version
319
- version: '0'
305
+ version: '3.2'
320
306
  required_rubygems_version: !ruby/object:Gem::Requirement
321
307
  requirements:
322
308
  - - ">="
323
309
  - !ruby/object:Gem::Version
324
310
  version: '0'
325
311
  requirements: []
326
- rubygems_version: 3.5.23
327
- signing_key:
312
+ rubygems_version: 3.6.9
328
313
  specification_version: 4
329
314
  summary: ActiveModel-based library for working with Elasticsearch
330
315
  test_files: []