elasticsearch 9.2.2 → 9.3.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: 8f6b86f4619996fbcb7e0ba951dd88e1c6135fdf5fb66b90948fdb2d4bcfffc1
4
- data.tar.gz: 95a262a20066c81bf21094aceebe4757a390a125a289a1d2c113daa98cd65e06
3
+ metadata.gz: ae4328518352471939376de9a6447d5c0c13ea2dc49b7cda616617f47ddc6026
4
+ data.tar.gz: 7c5679732a5f194401e88d283ca7879eacf38440415c60cef9c1f38168754a0d
5
5
  SHA512:
6
- metadata.gz: 98b5553d518f17f53d8b80d58bd3e5277ed4fa8e33deeea81363b646d489f88fb96b0bbdf172667cb5e910e1d1173df22caabed56c702770f4eb3a940b204d49
7
- data.tar.gz: 17fb2ca5d04f4798b99fb91843ab667dcea53ae9b2bb4bb8123e75ff3c1c7154130e63495e5feb2b73209f9e5a406053bb2a9abc840dbea957191a5c1f055746
6
+ metadata.gz: 78477231d79c873632494437a367f3fa209bcf9137bee18e4c2887bad6780f9cad4bc018f27989c9e591c76d2f9d4dc4c29525ab76d2581de93567fa99bb05ea
7
+ data.tar.gz: c3ef6550faf33520dc12cf4b9632704ed4145dc39768820a79fd7299cbd9a03dbbec8589726464b07c6463b92f672c31e108ff900fa878ba9459031f3b93303e
@@ -46,7 +46,7 @@ Gem::Specification.new do |s|
46
46
  s.rdoc_options = ['--charset=UTF-8']
47
47
 
48
48
  s.required_ruby_version = '>= 2.6' # For compatibility with JRuby 9.3
49
- s.add_dependency 'elasticsearch-api', '9.2.2'
49
+ s.add_dependency 'elasticsearch-api', '9.3.0'
50
50
  s.add_dependency 'elastic-transport', '~> 8.3'
51
51
 
52
52
  s.add_development_dependency 'base64'
@@ -59,7 +59,7 @@ Gem::Specification.new do |s|
59
59
  s.add_development_dependency 'rspec'
60
60
  s.add_development_dependency 'ruby-prof' unless defined?(JRUBY_VERSION) || defined?(Rubinius)
61
61
  s.add_development_dependency 'simplecov'
62
- s.add_development_dependency 'webmock'
62
+ s.add_development_dependency 'webmock', '> 3.23'
63
63
  s.add_development_dependency 'yard'
64
64
 
65
65
  s.description = <<-DESC.gsub(/^ /, '')
@@ -76,15 +76,12 @@ module Elasticsearch
76
76
  # @yieldparam ingest_docs [Array<Hash>] The collection of documents sent in the bulk request.
77
77
  #
78
78
  def update(docs, params = {}, body = {}, &block)
79
- if (slice = params[:slice])
80
- request_params = params.dup
81
- request_params.delete(:slice)
82
- docs.each_slice(slice) { |items| update(items, request_params, &block) }
79
+ ingest_docs = docs.map do |doc|
80
+ { update: { _index: @index, _id: doc.delete('id'), data: { doc: doc } } }
81
+ end
82
+ if (slice = params.delete(:slice))
83
+ ingest_docs.each_slice(slice) { |items| update(items, params, &block) }
83
84
  else
84
- ingest_docs = docs.map do |doc|
85
- document = doc.dup
86
- { update: { _index: @index, _id: document.delete('id'), data: { doc: document } } }
87
- end
88
85
  bulk_request(ingest_docs, params, &block)
89
86
  end
90
87
  end
@@ -16,5 +16,5 @@
16
16
  # under the License.
17
17
 
18
18
  module Elasticsearch
19
- VERSION = '9.2.2'.freeze
19
+ VERSION = '9.3.0'.freeze
20
20
  end
data/lib/elasticsearch.rb CHANGED
@@ -15,6 +15,7 @@
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
17
 
18
+ require 'base64'
18
19
  require 'elasticsearch/version'
19
20
  require 'elastic/transport'
20
21
  require 'elasticsearch/api'
@@ -81,6 +82,12 @@ module Elasticsearch
81
82
  @transport.respond_to?(method_name) || super
82
83
  end
83
84
 
85
+ # Helper function that packs a dense vector for efficient uploading.
86
+ # @param data - the array to pack.
87
+ def pack_dense_vector(data)
88
+ Base64.strict_encode64(data.pack('g' * data.size))
89
+ end
90
+
84
91
  private
85
92
 
86
93
  def verify_elasticsearch(*args, &block)
@@ -182,10 +189,10 @@ module Elasticsearch
182
189
  def set_content_type!(arguments)
183
190
  headers = {}
184
191
  user_headers = arguments&.[](:transport_options)&.[](:headers)
185
- unless user_headers&.keys&.detect { |h| h =~ /content-?_?type/i }
192
+ unless user_headers&.keys&.detect { |h| h =~ /content-?_?type/ }
186
193
  headers['content-type'] = 'application/vnd.elasticsearch+json; compatible-with=9'
187
194
  end
188
- unless user_headers&.keys&.detect { |h| h =~ /accept/i }
195
+ unless user_headers&.keys&.detect { |h| h =~ /accept/ }
189
196
  headers['accept'] = 'application/vnd.elasticsearch+json; compatible-with=9'
190
197
  end
191
198
  set_header(headers, arguments) unless headers.empty?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.2.2
4
+ version: 9.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic Client Library Maintainers
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 9.2.2
18
+ version: 9.3.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 9.2.2
25
+ version: 9.3.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: elastic-transport
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -181,16 +181,16 @@ dependencies:
181
181
  name: webmock
182
182
  requirement: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - ">="
184
+ - - ">"
185
185
  - !ruby/object:Gem::Version
186
- version: '0'
186
+ version: '3.23'
187
187
  type: :development
188
188
  prerelease: false
189
189
  version_requirements: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - ">="
191
+ - - ">"
192
192
  - !ruby/object:Gem::Version
193
- version: '0'
193
+ version: '3.23'
194
194
  - !ruby/object:Gem::Dependency
195
195
  name: yard
196
196
  requirement: !ruby/object:Gem::Requirement
@@ -251,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
251
  - !ruby/object:Gem::Version
252
252
  version: '0'
253
253
  requirements: []
254
- rubygems_version: 4.0.12
254
+ rubygems_version: 4.0.3
255
255
  specification_version: 4
256
256
  summary: Ruby integrations for Elasticsearch
257
257
  test_files: []