algolia 3.0.0.alpha.6 → 3.0.0.alpha.7
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/.openapi-generator/VERSION +1 -1
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +2 -2
- data/lib/algolia/api/abtesting_client.rb +41 -21
- data/lib/algolia/api/analytics_client.rb +111 -43
- data/lib/algolia/api/ingestion_client.rb +334 -94
- data/lib/algolia/api/insights_client.rb +13 -13
- data/lib/algolia/api/monitoring_client.rb +32 -33
- data/lib/algolia/api/personalization_client.rb +34 -18
- data/lib/algolia/api/query_suggestions_client.rb +55 -27
- data/lib/algolia/api/recommend_client.rb +46 -26
- data/lib/algolia/api/search_client.rb +459 -171
- data/lib/algolia/api_client.rb +0 -4
- data/lib/algolia/models/abtesting/ab_test.rb +7 -1
- data/lib/algolia/models/abtesting/list_ab_tests_response.rb +3 -1
- data/lib/algolia/models/abtesting/variant.rb +24 -5
- data/lib/algolia/models/analytics/click_through_rate_event.rb +3 -1
- data/lib/algolia/models/analytics/conversion_rate_event.rb +3 -1
- data/lib/algolia/models/analytics/get_click_through_rate_response.rb +3 -1
- data/lib/algolia/models/analytics/get_conversation_rate_response.rb +3 -1
- data/lib/algolia/models/analytics/top_hit_with_analytics.rb +3 -1
- data/lib/algolia/models/analytics/top_search_with_analytics.rb +3 -1
- data/lib/algolia/models/query-suggestions/base_query_suggestions_configuration_response.rb +1 -11
- data/lib/algolia/models/query-suggestions/query_suggestions_configuration_response.rb +1 -11
- data/lib/algolia/models/recommend/highlight_result.rb +1 -0
- data/lib/algolia/models/recommend/snippet_result.rb +1 -0
- data/lib/algolia/models/search/highlight_result.rb +1 -0
- data/lib/algolia/models/search/snippet_result.rb +1 -0
- data/lib/algolia/transport/http/http_requester.rb +2 -2
- data/lib/algolia/transport/stateful_host.rb +2 -1
- data/lib/algolia/transport/transport.rb +7 -4
- data/lib/algolia/version.rb +1 -1
- metadata +2 -2
data/lib/algolia/api_client.rb
CHANGED
@@ -85,7 +85,13 @@ module Algolia
|
|
85
85
|
|
86
86
|
# List of attributes with nullable: true
|
87
87
|
def self.openapi_nullable
|
88
|
-
Set.new([
|
88
|
+
Set.new([
|
89
|
+
:click_significance,
|
90
|
+
:conversion_significance,
|
91
|
+
:add_to_cart_significance,
|
92
|
+
:purchase_significance,
|
93
|
+
:revenue_significance
|
94
|
+
])
|
89
95
|
end
|
90
96
|
|
91
97
|
# Initializes the object
|
@@ -33,6 +33,9 @@ module Algolia
|
|
33
33
|
# A/B test description.
|
34
34
|
attr_accessor :description
|
35
35
|
|
36
|
+
# The estimated number of searches that will need to be run to achieve the desired confidence level and statistical power. A `minimumDetectableEffect` must be set in the `configuration` object for this to be used.
|
37
|
+
attr_accessor :estimated_sample_size
|
38
|
+
|
36
39
|
attr_accessor :filter_effects
|
37
40
|
|
38
41
|
# A/B test index.
|
@@ -74,6 +77,7 @@ module Algolia
|
|
74
77
|
:conversion_rate => :conversionRate,
|
75
78
|
:currencies => :currencies,
|
76
79
|
:description => :description,
|
80
|
+
:estimated_sample_size => :estimatedSampleSize,
|
77
81
|
:filter_effects => :filterEffects,
|
78
82
|
:index => :index,
|
79
83
|
:no_result_count => :noResultCount,
|
@@ -104,6 +108,7 @@ module Algolia
|
|
104
108
|
:conversion_rate => :Float,
|
105
109
|
:currencies => :'Hash<String, CurrenciesValue>',
|
106
110
|
:description => :String,
|
111
|
+
:estimated_sample_size => :Integer,
|
107
112
|
:filter_effects => :FilterEffects,
|
108
113
|
:index => :String,
|
109
114
|
:no_result_count => :Integer,
|
@@ -119,7 +124,18 @@ module Algolia
|
|
119
124
|
|
120
125
|
# List of attributes with nullable: true
|
121
126
|
def self.openapi_nullable
|
122
|
-
Set.new([
|
127
|
+
Set.new([
|
128
|
+
:add_to_cart_rate,
|
129
|
+
:average_click_position,
|
130
|
+
:click_through_rate,
|
131
|
+
:conversion_rate,
|
132
|
+
:no_result_count,
|
133
|
+
:purchase_rate,
|
134
|
+
:search_count,
|
135
|
+
:tracked_search_count,
|
136
|
+
:user_count,
|
137
|
+
:tracked_user_count
|
138
|
+
])
|
123
139
|
end
|
124
140
|
|
125
141
|
# Initializes the object
|
@@ -185,8 +201,6 @@ module Algolia
|
|
185
201
|
if (value = attributes[:currencies]).is_a?(Hash)
|
186
202
|
self.currencies = value
|
187
203
|
end
|
188
|
-
else
|
189
|
-
self.currencies = nil
|
190
204
|
end
|
191
205
|
|
192
206
|
if attributes.key?(:description)
|
@@ -195,6 +209,10 @@ module Algolia
|
|
195
209
|
self.description = nil
|
196
210
|
end
|
197
211
|
|
212
|
+
if attributes.key?(:estimated_sample_size)
|
213
|
+
self.estimated_sample_size = attributes[:estimated_sample_size]
|
214
|
+
end
|
215
|
+
|
198
216
|
if attributes.key?(:filter_effects)
|
199
217
|
self.filter_effects = attributes[:filter_effects]
|
200
218
|
end
|
@@ -269,6 +287,7 @@ module Algolia
|
|
269
287
|
conversion_rate == other.conversion_rate &&
|
270
288
|
currencies == other.currencies &&
|
271
289
|
description == other.description &&
|
290
|
+
estimated_sample_size == other.estimated_sample_size &&
|
272
291
|
filter_effects == other.filter_effects &&
|
273
292
|
index == other.index &&
|
274
293
|
no_result_count == other.no_result_count &&
|
@@ -290,8 +309,8 @@ module Algolia
|
|
290
309
|
# Calculates hash code according to all attributes.
|
291
310
|
# @return [Integer] Hash code
|
292
311
|
def hash
|
293
|
-
[add_to_cart_count, add_to_cart_rate, average_click_position, click_count, click_through_rate, conversion_count, conversion_rate, currencies, description,
|
294
|
-
index, no_result_count, purchase_count, purchase_rate, search_count, tracked_search_count, traffic_percentage, user_count, tracked_user_count].hash
|
312
|
+
[add_to_cart_count, add_to_cart_rate, average_click_position, click_count, click_through_rate, conversion_count, conversion_rate, currencies, description,
|
313
|
+
estimated_sample_size, filter_effects, index, no_result_count, purchase_count, purchase_rate, search_count, tracked_search_count, traffic_percentage, user_count, tracked_user_count].hash
|
295
314
|
end
|
296
315
|
|
297
316
|
# Builds the object from hash
|
@@ -6,9 +6,6 @@ require 'time'
|
|
6
6
|
module Algolia
|
7
7
|
module QuerySuggestions
|
8
8
|
class BaseQuerySuggestionsConfigurationResponse
|
9
|
-
# Your Algolia application ID.
|
10
|
-
attr_accessor :app_id
|
11
|
-
|
12
9
|
# API key used to read from your source index.
|
13
10
|
attr_accessor :source_indices_api_key
|
14
11
|
|
@@ -21,7 +18,6 @@ module Algolia
|
|
21
18
|
# Attribute mapping from ruby-style variable name to JSON key.
|
22
19
|
def self.attribute_map
|
23
20
|
{
|
24
|
-
:app_id => :appId,
|
25
21
|
:source_indices_api_key => :sourceIndicesAPIKey,
|
26
22
|
:suggestions_indices_api_key => :suggestionsIndicesAPIKey,
|
27
23
|
:external_indices_api_key => :externalIndicesAPIKey
|
@@ -36,7 +32,6 @@ module Algolia
|
|
36
32
|
# Attribute type mapping.
|
37
33
|
def self.types_mapping
|
38
34
|
{
|
39
|
-
:app_id => :String,
|
40
35
|
:source_indices_api_key => :String,
|
41
36
|
:suggestions_indices_api_key => :String,
|
42
37
|
:external_indices_api_key => :String
|
@@ -65,10 +60,6 @@ module Algolia
|
|
65
60
|
h[k.to_sym] = v
|
66
61
|
end
|
67
62
|
|
68
|
-
if attributes.key?(:app_id)
|
69
|
-
self.app_id = attributes[:app_id]
|
70
|
-
end
|
71
|
-
|
72
63
|
if attributes.key?(:source_indices_api_key)
|
73
64
|
self.source_indices_api_key = attributes[:source_indices_api_key]
|
74
65
|
end
|
@@ -88,7 +79,6 @@ module Algolia
|
|
88
79
|
return true if equal?(other)
|
89
80
|
|
90
81
|
self.class == other.class &&
|
91
|
-
app_id == other.app_id &&
|
92
82
|
source_indices_api_key == other.source_indices_api_key &&
|
93
83
|
suggestions_indices_api_key == other.suggestions_indices_api_key &&
|
94
84
|
external_indices_api_key == other.external_indices_api_key
|
@@ -103,7 +93,7 @@ module Algolia
|
|
103
93
|
# Calculates hash code according to all attributes.
|
104
94
|
# @return [Integer] Hash code
|
105
95
|
def hash
|
106
|
-
[
|
96
|
+
[source_indices_api_key, suggestions_indices_api_key, external_indices_api_key].hash
|
107
97
|
end
|
108
98
|
|
109
99
|
# Builds the object from hash
|
@@ -6,9 +6,6 @@ require 'time'
|
|
6
6
|
module Algolia
|
7
7
|
module QuerySuggestions
|
8
8
|
class QuerySuggestionsConfigurationResponse
|
9
|
-
# Your Algolia application ID.
|
10
|
-
attr_accessor :app_id
|
11
|
-
|
12
9
|
# API key used to read from your source index.
|
13
10
|
attr_accessor :source_indices_api_key
|
14
11
|
|
@@ -38,7 +35,6 @@ module Algolia
|
|
38
35
|
# Attribute mapping from ruby-style variable name to JSON key.
|
39
36
|
def self.attribute_map
|
40
37
|
{
|
41
|
-
:app_id => :appId,
|
42
38
|
:source_indices_api_key => :sourceIndicesAPIKey,
|
43
39
|
:suggestions_indices_api_key => :suggestionsIndicesAPIKey,
|
44
40
|
:external_indices_api_key => :externalIndicesAPIKey,
|
@@ -59,7 +55,6 @@ module Algolia
|
|
59
55
|
# Attribute type mapping.
|
60
56
|
def self.types_mapping
|
61
57
|
{
|
62
|
-
:app_id => :String,
|
63
58
|
:source_indices_api_key => :String,
|
64
59
|
:suggestions_indices_api_key => :String,
|
65
60
|
:external_indices_api_key => :String,
|
@@ -104,10 +99,6 @@ module Algolia
|
|
104
99
|
h[k.to_sym] = v
|
105
100
|
end
|
106
101
|
|
107
|
-
if attributes.key?(:app_id)
|
108
|
-
self.app_id = attributes[:app_id]
|
109
|
-
end
|
110
|
-
|
111
102
|
if attributes.key?(:source_indices_api_key)
|
112
103
|
self.source_indices_api_key = attributes[:source_indices_api_key]
|
113
104
|
end
|
@@ -173,7 +164,6 @@ module Algolia
|
|
173
164
|
return true if equal?(other)
|
174
165
|
|
175
166
|
self.class == other.class &&
|
176
|
-
app_id == other.app_id &&
|
177
167
|
source_indices_api_key == other.source_indices_api_key &&
|
178
168
|
suggestions_indices_api_key == other.suggestions_indices_api_key &&
|
179
169
|
external_indices_api_key == other.external_indices_api_key &&
|
@@ -194,7 +184,7 @@ module Algolia
|
|
194
184
|
# Calculates hash code according to all attributes.
|
195
185
|
# @return [Integer] Hash code
|
196
186
|
def hash
|
197
|
-
[
|
187
|
+
[source_indices_api_key, suggestions_indices_api_key, external_indices_api_key, index_name, source_indices, languages, exclude, enable_personalization,
|
198
188
|
allow_special_characters].hash
|
199
189
|
end
|
200
190
|
|
@@ -56,7 +56,7 @@ module Algolia
|
|
56
56
|
# @return [Faraday::Connection]
|
57
57
|
#
|
58
58
|
def connection(host)
|
59
|
-
@connections[host
|
59
|
+
@connections[build_url(host)] ||= Faraday.new(build_url(host)) do |f|
|
60
60
|
f.adapter @adapter.to_sym
|
61
61
|
end
|
62
62
|
end
|
@@ -68,7 +68,7 @@ module Algolia
|
|
68
68
|
# @return [String]
|
69
69
|
#
|
70
70
|
def build_url(host)
|
71
|
-
host.protocol + host.url
|
71
|
+
host.protocol + host.url + (host.port.nil? ? '' : ":#{host.port}")
|
72
72
|
end
|
73
73
|
|
74
74
|
# Convert query_params to a full query string
|
@@ -3,7 +3,7 @@ module Algolia
|
|
3
3
|
class StatefulHost
|
4
4
|
include CallType
|
5
5
|
|
6
|
-
attr_reader :url, :protocol, :accept
|
6
|
+
attr_reader :url, :protocol, :accept, :port
|
7
7
|
attr_accessor :last_use, :retry_count, :up
|
8
8
|
|
9
9
|
# @param url [String] host url
|
@@ -15,6 +15,7 @@ module Algolia
|
|
15
15
|
def initialize(url, opts = {})
|
16
16
|
@url = url
|
17
17
|
@protocol = opts[:protocol] || 'https://'
|
18
|
+
@port = opts[:port]
|
18
19
|
@accept = opts[:accept] || (READ | WRITE)
|
19
20
|
@last_use = opts[:last_use] || Time.now.utc
|
20
21
|
@retry_count = opts[:retry_count] || 0
|
@@ -4,6 +4,10 @@ require 'faraday/net_http_persistent' unless Faraday::VERSION < '1'
|
|
4
4
|
|
5
5
|
module Algolia
|
6
6
|
module Transport
|
7
|
+
def self.encode_uri(uri)
|
8
|
+
CGI.escape(uri).gsub('+', '%20')
|
9
|
+
end
|
10
|
+
|
7
11
|
class Transport
|
8
12
|
include RetryOutcomeType
|
9
13
|
include CallType
|
@@ -50,13 +54,12 @@ module Algolia
|
|
50
54
|
outcome = @retry_strategy.decide(host, http_response_code: response.status, is_timed_out: response.has_timed_out, network_failure: response.network_failure)
|
51
55
|
if outcome == FAILURE
|
52
56
|
decoded_error = JSON.parse(response.error, :symbolize_names => true)
|
53
|
-
|
54
|
-
raise AlgoliaHttpError.new(decoded_error[:status], decoded_error[:message])
|
57
|
+
raise Algolia::AlgoliaHttpError.new(decoded_error[:status], decoded_error[:message])
|
55
58
|
end
|
56
59
|
return response unless outcome == RETRY
|
57
60
|
end
|
58
61
|
|
59
|
-
raise Algolia::AlgoliaUnreachableHostError
|
62
|
+
raise Algolia::AlgoliaUnreachableHostError, 'Unreachable hosts'
|
60
63
|
end
|
61
64
|
|
62
65
|
private
|
@@ -114,7 +117,7 @@ module Algolia
|
|
114
117
|
def stringify_query_params(query_params)
|
115
118
|
query_params.to_h do |key, value|
|
116
119
|
value = value.join(',') if value.is_a?(Array)
|
117
|
-
[key, value.to_s]
|
120
|
+
[Algolia::Transport.encode_uri(key.to_s).to_sym, Algolia::Transport.encode_uri(value.to_s)]
|
118
121
|
end
|
119
122
|
end
|
120
123
|
end
|
data/lib/algolia/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
|
2
2
|
|
3
3
|
module Algolia
|
4
|
-
VERSION = '3.0.0.alpha.
|
4
|
+
VERSION = '3.0.0.alpha.7'.freeze
|
5
5
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: algolia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.alpha.
|
4
|
+
version: 3.0.0.alpha.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Algolia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|