elasticsearch 8.12.2 → 8.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -0
- data/elasticsearch.gemspec +3 -3
- data/lib/elasticsearch/helpers/esql_helper.rb +71 -0
- data/lib/elasticsearch/version.rb +1 -1
- data/lib/elasticsearch.rb +0 -4
- data/spec/integration/client_integration_spec.rb +1 -1
- data/spec/integration/helpers/bulk_helper_spec.rb +1 -11
- data/spec/integration/helpers/esql_helper_spec.rb +94 -0
- data/spec/integration/helpers/helpers_spec_helper.rb +29 -0
- data/spec/integration/helpers/scroll_helper_spec.rb +1 -11
- data/spec/integration/opentelemetry_spec.rb +55 -0
- data/spec/spec_helper.rb +12 -0
- data/spec/unit/opaque_id_spec.rb +2 -2
- metadata +12 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81edddb9e4103d40bc3b06bb4fd1db49e8a62f17fab3fa914d737069d681d526
|
4
|
+
data.tar.gz: 29f8aa207a8e7e5a446a0fa0c6bc1bdb408f49020c53fbdaeba0066d4807306f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00e2fd8d54aa598c24e5b3e8f1452b117f65c951e30988b1927e8e504eda77027557d5963bdbec22d3e747c53f32eec3aae8a44e7a6b4f37edb336d894c01ce1
|
7
|
+
data.tar.gz: aa738720a203ddf228ce4835e2aaa3ad5b1bf2ed7380d7ba6f451630b831219cd7dfd17b016489350d12a7e62f2bad456a3a82368fbb53fa27720f92f79f4945
|
data/Gemfile
CHANGED
data/elasticsearch.gemspec
CHANGED
@@ -46,11 +46,11 @@ Gem::Specification.new do |s|
|
|
46
46
|
s.required_ruby_version = '>= 2.5'
|
47
47
|
|
48
48
|
s.add_dependency 'elastic-transport', '~> 8.3'
|
49
|
-
s.add_dependency 'elasticsearch-api', '8.
|
50
|
-
|
49
|
+
s.add_dependency 'elasticsearch-api', '8.13.0'
|
50
|
+
|
51
51
|
s.add_development_dependency 'base64'
|
52
52
|
s.add_development_dependency 'bundler'
|
53
|
-
s.add_development_dependency '
|
53
|
+
s.add_development_dependency 'debug' unless defined?(JRUBY_VERSION)
|
54
54
|
s.add_development_dependency 'pry'
|
55
55
|
s.add_development_dependency 'rake'
|
56
56
|
s.add_development_dependency 'require-prof' unless defined?(JRUBY_VERSION) || defined?(Rubinius)
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
module Elasticsearch
|
19
|
+
module Helpers
|
20
|
+
# Elasticsearch Client Helper for the ES|QL API
|
21
|
+
#
|
22
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-query-api.html
|
23
|
+
#
|
24
|
+
module ESQLHelper
|
25
|
+
# Query helper for ES|QL
|
26
|
+
#
|
27
|
+
# By default, the `esql.query` API returns a Hash response with the following keys:
|
28
|
+
#
|
29
|
+
# * `columns` with the value being an Array of `{ name: type }` Hashes for each column.
|
30
|
+
#
|
31
|
+
# * `values` with the value being an Array of Arrays with the values for each row.
|
32
|
+
#
|
33
|
+
# This helper function returns an Array of hashes with the columns as keys and the respective
|
34
|
+
# values: `{ column['name'] => value }`.
|
35
|
+
#
|
36
|
+
# @param client [Elasticsearch::Client] an instance of the Client to use for the query.
|
37
|
+
# @param query [Hash, String] The query to be passed to the ES|QL query API.
|
38
|
+
# @param params [Hash] options to pass to the ES|QL query API.
|
39
|
+
# @param parser [Hash] Hash of column name keys and Proc values to transform the value of
|
40
|
+
# a given column.
|
41
|
+
# @example Using the ES|QL helper
|
42
|
+
# require 'elasticsearch/helpers/esql_helper'
|
43
|
+
# query = <<~ESQL
|
44
|
+
# FROM sample_data
|
45
|
+
# | EVAL duration_ms = ROUND(event.duration / 1000000.0, 1)
|
46
|
+
# ESQL
|
47
|
+
# response = Elasticsearch::Helpers::ESQLHelper.query(client, query)
|
48
|
+
#
|
49
|
+
# @example Using the ES|QL helper with a parser
|
50
|
+
# response = Elasticsearch::Helpers::ESQLHelper.query(
|
51
|
+
# client,
|
52
|
+
# query,
|
53
|
+
# parser: { '@timestamp' => Proc.new { |t| DateTime.parse(t) } }
|
54
|
+
# )
|
55
|
+
#
|
56
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/client/ruby-api/current/Helpers.html#_esql_helper
|
57
|
+
#
|
58
|
+
def self.query(client, query, params = {}, parser: {})
|
59
|
+
response = client.esql.query({ body: { query: query }, format: 'json' }.merge(params))
|
60
|
+
columns = response['columns']
|
61
|
+
response['values'].map do |value|
|
62
|
+
(value.length - 1).downto(0).map do |index|
|
63
|
+
key = columns[index]['name']
|
64
|
+
value[index] = parser[key].call value[index] if parser[key]
|
65
|
+
{ key => value[index] }
|
66
|
+
end.reduce({}, :merge)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/lib/elasticsearch.rb
CHANGED
@@ -60,10 +60,6 @@ module Elasticsearch
|
|
60
60
|
elsif name == :perform_request
|
61
61
|
# The signature for perform_request is:
|
62
62
|
# method, path, params, body, headers, opts
|
63
|
-
# The last arg is opts, which shouldn't be sent when `perform_request` is called
|
64
|
-
# directly. Check if :endpoint is a key, which means it's the extra identifier
|
65
|
-
# used for OpenTelemetry.
|
66
|
-
args.pop if args[-1].is_a?(Hash) && args[-1][:endpoint]
|
67
63
|
if (opaque_id = args[2]&.delete(:opaque_id))
|
68
64
|
headers = args[4] || {}
|
69
65
|
opaque_id = @opaque_id_prefix ? "#{@opaque_id_prefix}#{opaque_id}" : opaque_id
|
@@ -54,7 +54,7 @@ context 'Elasticsearch client' do
|
|
54
54
|
end
|
55
55
|
|
56
56
|
context 'Reports the right meta header' do
|
57
|
-
it 'Reports es service name and gem
|
57
|
+
it 'Reports es service name and gem version' do
|
58
58
|
headers = client.transport.connections.first.connection.headers
|
59
59
|
version = Class.new.extend(Elastic::Transport::MetaHeader).send(:client_meta_version, Elasticsearch::VERSION)
|
60
60
|
expect(headers['x-elastic-client-meta']).to match /^es=#{version}/
|
@@ -14,22 +14,12 @@
|
|
14
14
|
# KIND, either express or implied. See the License for the
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
|
-
|
18
|
-
raise URI::InvalidURIError unless ELASTICSEARCH_URL =~ /\A#{URI::DEFAULT_PARSER.make_regexp}\z/
|
19
|
-
|
17
|
+
require_relative 'helpers_spec_helper'
|
20
18
|
require 'elasticsearch/helpers/bulk_helper'
|
21
|
-
require 'spec_helper'
|
22
19
|
require 'tempfile'
|
23
20
|
|
24
21
|
context 'Elasticsearch client helpers' do
|
25
22
|
context 'Bulk helper' do
|
26
|
-
let(:client) do
|
27
|
-
Elasticsearch::Client.new(
|
28
|
-
host: ELASTICSEARCH_URL,
|
29
|
-
user: 'elastic',
|
30
|
-
password: 'changeme'
|
31
|
-
)
|
32
|
-
end
|
33
23
|
let(:index) { 'bulk_animals' }
|
34
24
|
let(:params) { { refresh: 'wait_for' } }
|
35
25
|
let(:bulk_helper) { Elasticsearch::Helpers::BulkHelper.new(client, index, params) }
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
require_relative 'helpers_spec_helper'
|
18
|
+
require 'elasticsearch/helpers/esql_helper'
|
19
|
+
|
20
|
+
context 'Elasticsearch client helpers' do
|
21
|
+
let(:index) { 'esql_helper_test' }
|
22
|
+
let(:body) { { size: 12, query: { match_all: {} } } }
|
23
|
+
let(:esql_helper) { Elasticsearch::Helpers::ESQLHelper }
|
24
|
+
let(:query) do
|
25
|
+
<<~ESQL
|
26
|
+
FROM #{index}
|
27
|
+
| EVAL duration_ms = ROUND(event.duration / 1000000.0, 1)
|
28
|
+
ESQL
|
29
|
+
end
|
30
|
+
|
31
|
+
before do
|
32
|
+
client.indices.create(
|
33
|
+
index: index,
|
34
|
+
body: {
|
35
|
+
mappings: {
|
36
|
+
properties: { 'client.ip' => { type: 'ip' }, message: { type: 'keyword' } }
|
37
|
+
}
|
38
|
+
}
|
39
|
+
)
|
40
|
+
client.bulk(
|
41
|
+
index: index,
|
42
|
+
body: [
|
43
|
+
{'index': {}},
|
44
|
+
{'@timestamp' => '2023-10-23T12:15:03.360Z', 'client.ip' => '172.21.2.162', message: 'Connected to 10.1.0.3', 'event.duration' => 3450233},
|
45
|
+
{'index': {}},
|
46
|
+
{'@timestamp' => '2023-10-23T12:27:28.948Z', 'client.ip' => '172.21.2.113', message: 'Connected to 10.1.0.2', 'event.duration' => 2764889},
|
47
|
+
{'index': {}},
|
48
|
+
{'@timestamp' => '2023-10-23T13:33:34.937Z', 'client.ip' => '172.21.0.5', message: 'Disconnected', 'event.duration' => 1232382},
|
49
|
+
{'index': {}},
|
50
|
+
{'@timestamp' => '2023-10-23T13:51:54.732Z', 'client.ip' => '172.21.3.15', message: 'Connection error', 'event.duration' => 725448},
|
51
|
+
{'index': {}},
|
52
|
+
{'@timestamp' => '2023-10-23T13:52:55.015Z', 'client.ip' => '172.21.3.15', message: 'Connection error', 'event.duration' => 8268153},
|
53
|
+
{'index': {}},
|
54
|
+
{'@timestamp' => '2023-10-23T13:53:55.832Z', 'client.ip' => '172.21.3.15', message: 'Connection error', 'event.duration' => 5033755},
|
55
|
+
{'index': {}},
|
56
|
+
{'@timestamp' => '2023-10-23T13:55:01.543Z', 'client.ip' => '172.21.3.15', message: 'Connected to 10.1.0.1', 'event.duration' => 1756467}
|
57
|
+
],
|
58
|
+
refresh: true
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
after do
|
63
|
+
client.indices.delete(index: index)
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'returns an ESQL response as a relational key/value object' do
|
67
|
+
response = esql_helper.query(client, query)
|
68
|
+
expect(response.count).to eq 7
|
69
|
+
expect(response.first.keys).to eq ['duration_ms', 'message', 'event.duration', 'client.ip', '@timestamp']
|
70
|
+
response.each do |r|
|
71
|
+
expect(r['@timestamp']).to be_a String
|
72
|
+
expect(r['client.ip']).to be_a String
|
73
|
+
expect(r['message']).to be_a String
|
74
|
+
expect(r['event.duration']).to be_a Integer
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'parses iterated objects when procs are passed in' do
|
79
|
+
require 'ipaddr'
|
80
|
+
|
81
|
+
parser = {
|
82
|
+
'@timestamp' => Proc.new { |t| DateTime.parse(t) },
|
83
|
+
'client.ip' => Proc.new { |i| IPAddr.new(i) },
|
84
|
+
'event.duration' => Proc.new { |d| d.to_s }
|
85
|
+
}
|
86
|
+
response = esql_helper.query(client, query, parser: parser)
|
87
|
+
response.each do |r|
|
88
|
+
expect(r['@timestamp']).to be_a DateTime
|
89
|
+
expect(r['client.ip']).to be_a IPAddr
|
90
|
+
expect(r['message']).to be_a String
|
91
|
+
expect(r['event.duration']).to be_a String
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
|
20
|
+
ELASTICSEARCH_URL = ENV['TEST_ES_SERVER'] || "http://localhost:#{(ENV['PORT'] || 9200)}"
|
21
|
+
raise URI::InvalidURIError unless ELASTICSEARCH_URL =~ /\A#{URI::DEFAULT_PARSER.make_regexp}\z/
|
22
|
+
|
23
|
+
def client
|
24
|
+
@client ||= Elasticsearch::Client.new(
|
25
|
+
host: ELASTICSEARCH_URL,
|
26
|
+
user: 'elastic',
|
27
|
+
password: 'changeme'
|
28
|
+
)
|
29
|
+
end
|
@@ -14,20 +14,10 @@
|
|
14
14
|
# KIND, either express or implied. See the License for the
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
|
-
|
18
|
-
raise URI::InvalidURIError unless ELASTICSEARCH_URL =~ /\A#{URI::DEFAULT_PARSER.make_regexp}\z/
|
19
|
-
|
20
|
-
require 'spec_helper'
|
17
|
+
require_relative 'helpers_spec_helper'
|
21
18
|
require 'elasticsearch/helpers/scroll_helper'
|
22
19
|
|
23
20
|
context 'Elasticsearch client helpers' do
|
24
|
-
let(:client) do
|
25
|
-
Elasticsearch::Client.new(
|
26
|
-
host: ELASTICSEARCH_URL,
|
27
|
-
user: 'elastic',
|
28
|
-
password: 'changeme'
|
29
|
-
)
|
30
|
-
end
|
31
21
|
let(:index) { 'books' }
|
32
22
|
let(:body) { { size: 12, query: { match_all: {} } } }
|
33
23
|
let(:scroll_helper) { Elasticsearch::Helpers::ScrollHelper.new(client, index, body) }
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
if ENV['TEST_WITH_OTEL'] == 'true'
|
19
|
+
ELASTICSEARCH_URL = ENV['TEST_ES_SERVER'] || "http://localhost:#{(ENV['PORT'] || 9200)}"
|
20
|
+
raise URI::InvalidURIError unless ELASTICSEARCH_URL =~ /\A#{URI::DEFAULT_PARSER.make_regexp}\z/
|
21
|
+
|
22
|
+
require 'spec_helper'
|
23
|
+
|
24
|
+
context 'OpenTelemetry' do
|
25
|
+
let(:exporter) { EXPORTER }
|
26
|
+
before { exporter.reset }
|
27
|
+
after { exporter.reset }
|
28
|
+
let(:span) { exporter.finished_spans[0] }
|
29
|
+
|
30
|
+
let(:client) do
|
31
|
+
Elasticsearch::Client.new(
|
32
|
+
host: ELASTICSEARCH_URL,
|
33
|
+
user: 'elastic',
|
34
|
+
password: 'changeme'
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
after do
|
39
|
+
client.delete(index: 'myindex', id: 1); rescue
|
40
|
+
end
|
41
|
+
|
42
|
+
context 'when a request is instrumented' do
|
43
|
+
it 'sets the span name to the endpoint id' do
|
44
|
+
client.search(body: { query: { match: {a: 1} } })
|
45
|
+
expect(span.name).to eq 'search'
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'sets the path parts' do
|
49
|
+
client.index(index: 'myindex', id: 1, body: { title: 'Test' })
|
50
|
+
expect(span.attributes['db.elasticsearch.path_parts.index']).to eq 'myindex'
|
51
|
+
expect(span.attributes['db.elasticsearch.path_parts.id']).to eq 1
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -29,3 +29,15 @@ end
|
|
29
29
|
def jruby?
|
30
30
|
defined?(JRUBY_VERSION)
|
31
31
|
end
|
32
|
+
|
33
|
+
if ENV['TEST_WITH_OTEL'] == 'true'
|
34
|
+
require 'opentelemetry-sdk'
|
35
|
+
EXPORTER = OpenTelemetry::SDK::Trace::Export::InMemorySpanExporter.new
|
36
|
+
span_processor = OpenTelemetry::SDK::Trace::Export::SimpleSpanProcessor.new(EXPORTER)
|
37
|
+
|
38
|
+
OpenTelemetry::SDK.configure do |c|
|
39
|
+
c.error_handler = ->(exception:, message:) { raise(exception || message) }
|
40
|
+
c.logger = Logger.new($stderr, level: ENV.fetch('OTEL_LOG_LEVEL', 'fatal').to_sym)
|
41
|
+
c.add_span_processor span_processor
|
42
|
+
end
|
43
|
+
end
|
data/spec/unit/opaque_id_spec.rb
CHANGED
@@ -29,7 +29,7 @@ describe Elasticsearch::Client do
|
|
29
29
|
it 'uses x-opaque-id on a request' do
|
30
30
|
client.search(opaque_id: '12345')
|
31
31
|
expect(transport).to have_received(:perform_request)
|
32
|
-
.with('GET', '_search', {}, nil, { 'X-Opaque-Id' => '12345' })
|
32
|
+
.with('GET', '_search', {}, nil, { 'X-Opaque-Id' => '12345' }, {:endpoint=>"search"})
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -42,7 +42,7 @@ describe Elasticsearch::Client do
|
|
42
42
|
it 'uses x-opaque-id on a request' do
|
43
43
|
expect { client.search(opaque_id: '12345') }.not_to raise_error
|
44
44
|
expect(transport).to have_received(:perform_request)
|
45
|
-
.with('GET', '_search', {}, nil, { 'X-Opaque-Id' => 'elastic_cloud12345' })
|
45
|
+
.with('GET', '_search', {}, nil, { 'X-Opaque-Id' => 'elastic_cloud12345' }, {:endpoint=>"search"})
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic Client Library Maintainers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: elastic-transport
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 8.
|
33
|
+
version: 8.13.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 8.
|
40
|
+
version: 8.13.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: base64
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: debug
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -214,12 +214,16 @@ files:
|
|
214
214
|
- lib/elasticsearch-ruby.rb
|
215
215
|
- lib/elasticsearch.rb
|
216
216
|
- lib/elasticsearch/helpers/bulk_helper.rb
|
217
|
+
- lib/elasticsearch/helpers/esql_helper.rb
|
217
218
|
- lib/elasticsearch/helpers/scroll_helper.rb
|
218
219
|
- lib/elasticsearch/version.rb
|
219
220
|
- spec/integration/characters_escaping_spec.rb
|
220
221
|
- spec/integration/client_integration_spec.rb
|
221
222
|
- spec/integration/helpers/bulk_helper_spec.rb
|
223
|
+
- spec/integration/helpers/esql_helper_spec.rb
|
224
|
+
- spec/integration/helpers/helpers_spec_helper.rb
|
222
225
|
- spec/integration/helpers/scroll_helper_spec.rb
|
226
|
+
- spec/integration/opentelemetry_spec.rb
|
223
227
|
- spec/spec_helper.rb
|
224
228
|
- spec/unit/api_key_spec.rb
|
225
229
|
- spec/unit/cloud_credentials_spec.rb
|
@@ -261,7 +265,10 @@ test_files:
|
|
261
265
|
- spec/integration/characters_escaping_spec.rb
|
262
266
|
- spec/integration/client_integration_spec.rb
|
263
267
|
- spec/integration/helpers/bulk_helper_spec.rb
|
268
|
+
- spec/integration/helpers/esql_helper_spec.rb
|
269
|
+
- spec/integration/helpers/helpers_spec_helper.rb
|
264
270
|
- spec/integration/helpers/scroll_helper_spec.rb
|
271
|
+
- spec/integration/opentelemetry_spec.rb
|
265
272
|
- spec/spec_helper.rb
|
266
273
|
- spec/unit/api_key_spec.rb
|
267
274
|
- spec/unit/cloud_credentials_spec.rb
|