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 +4 -4
- data/elasticsearch.gemspec +2 -2
- data/lib/elasticsearch/helpers/bulk_helper.rb +5 -8
- data/lib/elasticsearch/version.rb +1 -1
- data/lib/elasticsearch.rb +9 -2
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ae4328518352471939376de9a6447d5c0c13ea2dc49b7cda616617f47ddc6026
|
|
4
|
+
data.tar.gz: 7c5679732a5f194401e88d283ca7879eacf38440415c60cef9c1f38168754a0d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 78477231d79c873632494437a367f3fa209bcf9137bee18e4c2887bad6780f9cad4bc018f27989c9e591c76d2f9d4dc4c29525ab76d2581de93567fa99bb05ea
|
|
7
|
+
data.tar.gz: c3ef6550faf33520dc12cf4b9632704ed4145dc39768820a79fd7299cbd9a03dbbec8589726464b07c6463b92f672c31e108ff900fa878ba9459031f3b93303e
|
data/elasticsearch.gemspec
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
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/
|
|
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/
|
|
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.
|
|
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.
|
|
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.
|
|
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: '
|
|
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: '
|
|
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.
|
|
254
|
+
rubygems_version: 4.0.3
|
|
255
255
|
specification_version: 4
|
|
256
256
|
summary: Ruby integrations for Elasticsearch
|
|
257
257
|
test_files: []
|