algolia 3.3.2 → 3.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/lib/algolia/api/ingestion_client.rb +0 -95
- data/lib/algolia/models/recommend/bought_together_query.rb +1 -1
- data/lib/algolia/models/recommend/facet_ordering.rb +1 -1
- data/lib/algolia/models/recommend/fallback_params.rb +228 -143
- data/lib/algolia/models/recommend/{facets.rb → index_settings_facets.rb} +6 -3
- data/lib/algolia/models/recommend/looking_similar_query.rb +1 -1
- data/lib/algolia/models/recommend/{search_params.rb → recommend_search_params.rb} +234 -146
- data/lib/algolia/models/recommend/recommended_for_you_query.rb +1 -1
- data/lib/algolia/models/recommend/related_query.rb +1 -1
- data/lib/algolia/models/recommend/trending_facets_query.rb +1 -1
- data/lib/algolia/models/recommend/trending_items_query.rb +2 -2
- data/lib/algolia/version.rb +1 -1
- metadata +4 -11
- data/lib/algolia/models/ingestion/generate_transformation_code_payload.rb +0 -233
- data/lib/algolia/models/ingestion/generate_transformation_code_response.rb +0 -211
- data/lib/algolia/models/ingestion/model.rb +0 -254
- data/lib/algolia/models/ingestion/transformation_models.rb +0 -216
- data/lib/algolia/models/recommend/mode.rb +0 -32
- data/lib/algolia/models/recommend/search_params_object.rb +0 -1197
- data/lib/algolia/models/recommend/semantic_search.rb +0 -217
@@ -5,10 +5,8 @@ require "time"
|
|
5
5
|
|
6
6
|
module Algolia
|
7
7
|
module Recommend
|
8
|
-
|
9
|
-
|
10
|
-
attr_accessor :query
|
11
|
-
|
8
|
+
# Search parameters for filtering the recommendations.
|
9
|
+
class RecommendSearchParams
|
12
10
|
# Keywords to be used instead of the search query to conduct a more broader search. Using the `similarQuery` parameter changes other settings: - `queryType` is set to `prefixNone`. - `removeStopWords` is set to true. - `words` is set as the first ranking criterion. - All remaining words are treated as `optionalWords`. Since the `similarQuery` is supposed to do a broad search, they usually return many results. Combine it with `filters` to narrow down the list of results.
|
13
11
|
attr_accessor :similar_query
|
14
12
|
|
@@ -35,15 +33,6 @@ module Algolia
|
|
35
33
|
# Whether faceting should be applied after deduplication with `distinct`. This leads to accurate facet counts when using faceting in combination with `distinct`. It's usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting, as `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`.
|
36
34
|
attr_accessor :faceting_after_distinct
|
37
35
|
|
38
|
-
# Page of search results to retrieve.
|
39
|
-
attr_accessor :page
|
40
|
-
|
41
|
-
# Position of the first hit to retrieve.
|
42
|
-
attr_accessor :offset
|
43
|
-
|
44
|
-
# Number of hits to retrieve (used in combination with `offset`).
|
45
|
-
attr_accessor :length
|
46
|
-
|
47
36
|
# Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude. Only records included within circle around this central location are included in the results. The radius of the circle is determined by the `aroundRadius` and `minimumAroundRadius` settings. This parameter is ignored if you also specify `insidePolygon` or `insideBoundingBox`.
|
48
37
|
attr_accessor :around_lat_lng
|
49
38
|
|
@@ -96,15 +85,66 @@ module Algolia
|
|
96
85
|
# Whether to enable A/B testing for this search.
|
97
86
|
attr_accessor :enable_ab_test
|
98
87
|
|
88
|
+
# Search query.
|
89
|
+
attr_accessor :query
|
90
|
+
|
91
|
+
# Attributes used for [faceting](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/). Facets are attributes that let you categorize search results. They can be used for filtering search results. By default, no attribute is used for faceting. Attribute names are case-sensitive. **Modifiers** - `filterOnly(\"ATTRIBUTE\")`. Allows using this attribute as a filter, but doesn't evalue the facet values. - `searchable(\"ATTRIBUTE\")`. Allows searching for facet values. - `afterDistinct(\"ATTRIBUTE\")`. Evaluates the facet count _after_ deduplication with `distinct`. This ensures accurate facet counts. You can apply this modifier to searchable facets: `afterDistinct(searchable(ATTRIBUTE))`.
|
92
|
+
attr_accessor :attributes_for_faceting
|
93
|
+
|
94
|
+
# Creates [replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/). Replicas are copies of a primary index with the same records but different settings, synonyms, or rules. If you want to offer a different ranking or sorting of your search results, you'll use replica indices. All index operations on a primary index are automatically forwarded to its replicas. To add a replica index, you must provide the complete set of replicas to this parameter. If you omit a replica from this list, the replica turns into a regular, standalone index that will no longer by synced with the primary index. **Modifier** - `virtual(\"REPLICA\")`. Create a virtual replica, Virtual replicas don't increase the number of records and are optimized for [Relevant sorting](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/relevant-sort/).
|
95
|
+
attr_accessor :replicas
|
96
|
+
|
97
|
+
# Maximum number of search results that can be obtained through pagination. Higher pagination limits might slow down your search. For pagination limits above 1,000, the sorting of results beyond the 1,000th hit can't be guaranteed.
|
98
|
+
attr_accessor :pagination_limited_to
|
99
|
+
|
100
|
+
# Attributes that can't be retrieved at query time. This can be useful if you want to use an attribute for ranking or to [restrict access](https://www.algolia.com/doc/guides/security/api-keys/how-to/user-restricted-access-to-data/), but don't want to include it in the search results. Attribute names are case-sensitive.
|
101
|
+
attr_accessor :unretrievable_attributes
|
102
|
+
|
103
|
+
# Words for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/). This also turns off [word splitting and concatenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) for the specified words.
|
104
|
+
attr_accessor :disable_typo_tolerance_on_words
|
105
|
+
|
106
|
+
# Attributes, for which you want to support [Japanese transliteration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/#japanese-transliteration-and-type-ahead). Transliteration supports searching in any of the Japanese writing systems. To support transliteration, you must set the indexing language to Japanese. Attribute names are case-sensitive.
|
107
|
+
attr_accessor :attributes_to_transliterate
|
108
|
+
|
109
|
+
# Attributes for which to split [camel case](https://wikipedia.org/wiki/Camel_case) words. Attribute names are case-sensitive.
|
110
|
+
attr_accessor :camel_case_attributes
|
111
|
+
|
112
|
+
# Searchable attributes to which Algolia should apply [word segmentation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/customize-segmentation/) (decompounding). Attribute names are case-sensitive. Compound words are formed by combining two or more individual words, and are particularly prevalent in Germanic languages—for example, \"firefighter\". With decompounding, the individual components are indexed separately. You can specify different lists for different languages. Decompounding is supported for these languages: Dutch (`nl`), German (`de`), Finnish (`fi`), Danish (`da`), Swedish (`sv`), and Norwegian (`no`). Decompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark). For example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).
|
113
|
+
attr_accessor :decompounded_attributes
|
114
|
+
|
115
|
+
# Languages for language-specific processing steps, such as word detection and dictionary settings. **You should always specify an indexing language.** If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters. This can lead to unexpected search results. For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/).
|
116
|
+
attr_accessor :index_languages
|
117
|
+
|
118
|
+
# Searchable attributes for which you want to turn off [prefix matching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/#adjusting-prefix-search). Attribute names are case-sensitive.
|
119
|
+
attr_accessor :disable_prefix_on_attributes
|
120
|
+
|
121
|
+
# Whether arrays with exclusively non-negative integers should be compressed for better performance. If true, the compressed arrays may be reordered.
|
122
|
+
attr_accessor :allow_compression_of_integer_array
|
123
|
+
|
124
|
+
# Numeric attributes that can be used as [numerical filters](https://www.algolia.com/doc/guides/managing-results/rules/detecting-intent/how-to/applying-a-custom-filter-for-a-specific-query/#numerical-filters). Attribute names are case-sensitive. By default, all numeric attributes are available as numerical filters. For faster indexing, reduce the number of numeric attributes. If you want to turn off filtering for all numeric attributes, specifiy an attribute that doesn't exist in your index, such as `NO_NUMERIC_FILTERING`. **Modifier** - `equalOnly(\"ATTRIBUTE\")`. Support only filtering based on equality comparisons `=` and `!=`.
|
125
|
+
attr_accessor :numeric_attributes_for_filtering
|
126
|
+
|
127
|
+
# Controls which separators are indexed. Separators are all non-letter characters except spaces and currency characters, such as $€£¥. By default, separator characters aren't indexed. With `separatorsToIndex`, Algolia treats separator characters as separate words. For example, a search for `C#` would report two matches.
|
128
|
+
attr_accessor :separators_to_index
|
129
|
+
|
130
|
+
# Attributes used for searching. Attribute names are case-sensitive. By default, all attributes are searchable and the [Attribute](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#attribute) ranking criterion is turned off. With a non-empty list, Algolia only returns results with matches in the selected attributes. In addition, the Attribute ranking criterion is turned on: matches in attributes that are higher in the list of `searchableAttributes` rank first. To make matches in two attributes rank equally, include them in a comma-separated string, such as `\"title,alternate_title\"`. Attributes with the same priority are always unordered. For more information, see [Searchable attributes](https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/how-to/setting-searchable-attributes/). **Modifier** - `unordered(\"ATTRIBUTE\")`. Ignore the position of a match within the attribute. Without modifier, matches at the beginning of an attribute rank higer than matches at the end.
|
131
|
+
attr_accessor :searchable_attributes
|
132
|
+
|
133
|
+
# An object with custom data. You can store up to 32kB as custom data.
|
134
|
+
attr_accessor :user_data
|
135
|
+
|
136
|
+
# Characters and their normalized replacements. This overrides Algolia's default [normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/).
|
137
|
+
attr_accessor :custom_normalization
|
138
|
+
|
139
|
+
# Attribute that should be used to establish groups of results. Attribute names are case-sensitive. All records with the same value for this attribute are considered a group. You can combine `attributeForDistinct` with the `distinct` search parameter to control how many items per group are included in the search results. If you want to use the same attribute also for faceting, use the `afterDistinct` modifier of the `attributesForFaceting` setting. This applies faceting _after_ deduplication, which will result in accurate facet counts.
|
140
|
+
attr_accessor :attribute_for_distinct
|
141
|
+
|
99
142
|
# Attributes to include in the API response. To reduce the size of your response, you can retrieve only some of the attributes. Attribute names are case-sensitive. - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`. - The `objectID` attribute is always included.
|
100
143
|
attr_accessor :attributes_to_retrieve
|
101
144
|
|
102
145
|
# Determines the order in which Algolia returns your results. By default, each entry corresponds to a [ranking criteria](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/). The tie-breaking algorithm sequentially applies each criterion in the order they're specified. If you configure a replica index for [sorting by an attribute](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/how-to/sort-by-attribute/), you put the sorting attribute at the top of the list. **Modifiers** - `asc(\"ATTRIBUTE\")`. Sort the index by the values of an attribute, in ascending order. - `desc(\"ATTRIBUTE\")`. Sort the index by the values of an attribute, in descending order. Before you modify the default setting, you should test your changes in the dashboard, and by [A/B testing](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/).
|
103
146
|
attr_accessor :ranking
|
104
147
|
|
105
|
-
# Attributes to use as [custom ranking](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking/). Attribute names are case-sensitive. The custom ranking attributes decide which items are shown first if the other ranking criteria are equal. Records with missing values for your selected custom ranking attributes are always sorted last. Boolean attributes are sorted based on their alphabetical order. **Modifiers** - `asc(\"ATTRIBUTE\")`. Sort the index by the values of an attribute, in ascending order. - `desc(\"ATTRIBUTE\")`. Sort the index by the values of an attribute, in descending order. If you use two or more custom ranking attributes, [reduce the precision](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking/how-to/controlling-custom-ranking-metrics-precision/) of your first attributes, or the other attributes will never be applied.
|
106
|
-
attr_accessor :custom_ranking
|
107
|
-
|
108
148
|
# Relevancy threshold below which less relevant results aren't included in the results. You can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas). Use this setting to strike a balance between the relevance and number of returned results.
|
109
149
|
attr_accessor :relevancy_strictness
|
110
150
|
|
@@ -126,9 +166,6 @@ module Algolia
|
|
126
166
|
# Whether to restrict highlighting and snippeting to items that at least partially matched the search query. By default, all items are highlighted and snippeted.
|
127
167
|
attr_accessor :restrict_highlight_and_snippet_arrays
|
128
168
|
|
129
|
-
# Number of hits per page.
|
130
|
-
attr_accessor :hits_per_page
|
131
|
-
|
132
169
|
# Minimum number of characters a word in the search query must contain to accept matches with [one typo](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos).
|
133
170
|
attr_accessor :min_word_sizefor1_typo
|
134
171
|
|
@@ -147,9 +184,6 @@ module Algolia
|
|
147
184
|
|
148
185
|
attr_accessor :remove_stop_words
|
149
186
|
|
150
|
-
# Characters for which diacritics should be preserved. By default, Algolia removes diacritics from letters. For example, `é` becomes `e`. If this causes issues in your search, you can specify characters that should keep their diacritics.
|
151
|
-
attr_accessor :keep_diacritics_on_characters
|
152
|
-
|
153
187
|
# Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries. This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings. This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages. To support this, you must place the CJK language **first**. **You should always specify a query language.** If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters. This can lead to unexpected search results. For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/).
|
154
188
|
attr_accessor :query_languages
|
155
189
|
|
@@ -166,10 +200,6 @@ module Algolia
|
|
166
200
|
|
167
201
|
attr_accessor :remove_words_if_no_results
|
168
202
|
|
169
|
-
attr_accessor :mode
|
170
|
-
|
171
|
-
attr_accessor :semantic_search
|
172
|
-
|
173
203
|
# Whether to support phrase matching and excluding words from search queries. Use the `advancedSyntaxFeatures` parameter to control which feature is supported.
|
174
204
|
attr_accessor :advanced_syntax
|
175
205
|
|
@@ -220,7 +250,6 @@ module Algolia
|
|
220
250
|
# Attribute mapping from ruby-style variable name to JSON key.
|
221
251
|
def self.attribute_map
|
222
252
|
{
|
223
|
-
:query => :query,
|
224
253
|
:similar_query => :similarQuery,
|
225
254
|
:filters => :filters,
|
226
255
|
:facet_filters => :facetFilters,
|
@@ -231,9 +260,6 @@ module Algolia
|
|
231
260
|
:restrict_searchable_attributes => :restrictSearchableAttributes,
|
232
261
|
:facets => :facets,
|
233
262
|
:faceting_after_distinct => :facetingAfterDistinct,
|
234
|
-
:page => :page,
|
235
|
-
:offset => :offset,
|
236
|
-
:length => :length,
|
237
263
|
:around_lat_lng => :aroundLatLng,
|
238
264
|
:around_lat_lng_via_ip => :aroundLatLngViaIP,
|
239
265
|
:around_radius => :aroundRadius,
|
@@ -252,9 +278,26 @@ module Algolia
|
|
252
278
|
:analytics_tags => :analyticsTags,
|
253
279
|
:percentile_computation => :percentileComputation,
|
254
280
|
:enable_ab_test => :enableABTest,
|
281
|
+
:query => :query,
|
282
|
+
:attributes_for_faceting => :attributesForFaceting,
|
283
|
+
:replicas => :replicas,
|
284
|
+
:pagination_limited_to => :paginationLimitedTo,
|
285
|
+
:unretrievable_attributes => :unretrievableAttributes,
|
286
|
+
:disable_typo_tolerance_on_words => :disableTypoToleranceOnWords,
|
287
|
+
:attributes_to_transliterate => :attributesToTransliterate,
|
288
|
+
:camel_case_attributes => :camelCaseAttributes,
|
289
|
+
:decompounded_attributes => :decompoundedAttributes,
|
290
|
+
:index_languages => :indexLanguages,
|
291
|
+
:disable_prefix_on_attributes => :disablePrefixOnAttributes,
|
292
|
+
:allow_compression_of_integer_array => :allowCompressionOfIntegerArray,
|
293
|
+
:numeric_attributes_for_filtering => :numericAttributesForFiltering,
|
294
|
+
:separators_to_index => :separatorsToIndex,
|
295
|
+
:searchable_attributes => :searchableAttributes,
|
296
|
+
:user_data => :userData,
|
297
|
+
:custom_normalization => :customNormalization,
|
298
|
+
:attribute_for_distinct => :attributeForDistinct,
|
255
299
|
:attributes_to_retrieve => :attributesToRetrieve,
|
256
300
|
:ranking => :ranking,
|
257
|
-
:custom_ranking => :customRanking,
|
258
301
|
:relevancy_strictness => :relevancyStrictness,
|
259
302
|
:attributes_to_highlight => :attributesToHighlight,
|
260
303
|
:attributes_to_snippet => :attributesToSnippet,
|
@@ -262,7 +305,6 @@ module Algolia
|
|
262
305
|
:highlight_post_tag => :highlightPostTag,
|
263
306
|
:snippet_ellipsis_text => :snippetEllipsisText,
|
264
307
|
:restrict_highlight_and_snippet_arrays => :restrictHighlightAndSnippetArrays,
|
265
|
-
:hits_per_page => :hitsPerPage,
|
266
308
|
:min_word_sizefor1_typo => :minWordSizefor1Typo,
|
267
309
|
:min_word_sizefor2_typos => :minWordSizefor2Typos,
|
268
310
|
:typo_tolerance => :typoTolerance,
|
@@ -270,15 +312,12 @@ module Algolia
|
|
270
312
|
:disable_typo_tolerance_on_attributes => :disableTypoToleranceOnAttributes,
|
271
313
|
:ignore_plurals => :ignorePlurals,
|
272
314
|
:remove_stop_words => :removeStopWords,
|
273
|
-
:keep_diacritics_on_characters => :keepDiacriticsOnCharacters,
|
274
315
|
:query_languages => :queryLanguages,
|
275
316
|
:decompound_query => :decompoundQuery,
|
276
317
|
:enable_rules => :enableRules,
|
277
318
|
:enable_personalization => :enablePersonalization,
|
278
319
|
:query_type => :queryType,
|
279
320
|
:remove_words_if_no_results => :removeWordsIfNoResults,
|
280
|
-
:mode => :mode,
|
281
|
-
:semantic_search => :semanticSearch,
|
282
321
|
:advanced_syntax => :advancedSyntax,
|
283
322
|
:optional_words => :optionalWords,
|
284
323
|
:disable_exact_on_attributes => :disableExactOnAttributes,
|
@@ -307,7 +346,6 @@ module Algolia
|
|
307
346
|
# Attribute type mapping.
|
308
347
|
def self.types_mapping
|
309
348
|
{
|
310
|
-
:query => :"String",
|
311
349
|
:similar_query => :"String",
|
312
350
|
:filters => :"String",
|
313
351
|
:facet_filters => :"FacetFilters",
|
@@ -318,9 +356,6 @@ module Algolia
|
|
318
356
|
:restrict_searchable_attributes => :"Array<String>",
|
319
357
|
:facets => :"Array<String>",
|
320
358
|
:faceting_after_distinct => :"Boolean",
|
321
|
-
:page => :"Integer",
|
322
|
-
:offset => :"Integer",
|
323
|
-
:length => :"Integer",
|
324
359
|
:around_lat_lng => :"String",
|
325
360
|
:around_lat_lng_via_ip => :"Boolean",
|
326
361
|
:around_radius => :"AroundRadius",
|
@@ -339,9 +374,26 @@ module Algolia
|
|
339
374
|
:analytics_tags => :"Array<String>",
|
340
375
|
:percentile_computation => :"Boolean",
|
341
376
|
:enable_ab_test => :"Boolean",
|
377
|
+
:query => :"String",
|
378
|
+
:attributes_for_faceting => :"Array<String>",
|
379
|
+
:replicas => :"Array<String>",
|
380
|
+
:pagination_limited_to => :"Integer",
|
381
|
+
:unretrievable_attributes => :"Array<String>",
|
382
|
+
:disable_typo_tolerance_on_words => :"Array<String>",
|
383
|
+
:attributes_to_transliterate => :"Array<String>",
|
384
|
+
:camel_case_attributes => :"Array<String>",
|
385
|
+
:decompounded_attributes => :"Object",
|
386
|
+
:index_languages => :"Array<SupportedLanguage>",
|
387
|
+
:disable_prefix_on_attributes => :"Array<String>",
|
388
|
+
:allow_compression_of_integer_array => :"Boolean",
|
389
|
+
:numeric_attributes_for_filtering => :"Array<String>",
|
390
|
+
:separators_to_index => :"String",
|
391
|
+
:searchable_attributes => :"Array<String>",
|
392
|
+
:user_data => :"Object",
|
393
|
+
:custom_normalization => :"Hash<String, Hash<String, String>>",
|
394
|
+
:attribute_for_distinct => :"String",
|
342
395
|
:attributes_to_retrieve => :"Array<String>",
|
343
396
|
:ranking => :"Array<String>",
|
344
|
-
:custom_ranking => :"Array<String>",
|
345
397
|
:relevancy_strictness => :"Integer",
|
346
398
|
:attributes_to_highlight => :"Array<String>",
|
347
399
|
:attributes_to_snippet => :"Array<String>",
|
@@ -349,7 +401,6 @@ module Algolia
|
|
349
401
|
:highlight_post_tag => :"String",
|
350
402
|
:snippet_ellipsis_text => :"String",
|
351
403
|
:restrict_highlight_and_snippet_arrays => :"Boolean",
|
352
|
-
:hits_per_page => :"Integer",
|
353
404
|
:min_word_sizefor1_typo => :"Integer",
|
354
405
|
:min_word_sizefor2_typos => :"Integer",
|
355
406
|
:typo_tolerance => :"TypoTolerance",
|
@@ -357,15 +408,12 @@ module Algolia
|
|
357
408
|
:disable_typo_tolerance_on_attributes => :"Array<String>",
|
358
409
|
:ignore_plurals => :"IgnorePlurals",
|
359
410
|
:remove_stop_words => :"RemoveStopWords",
|
360
|
-
:keep_diacritics_on_characters => :"String",
|
361
411
|
:query_languages => :"Array<SupportedLanguage>",
|
362
412
|
:decompound_query => :"Boolean",
|
363
413
|
:enable_rules => :"Boolean",
|
364
414
|
:enable_personalization => :"Boolean",
|
365
415
|
:query_type => :"QueryType",
|
366
416
|
:remove_words_if_no_results => :"RemoveWordsIfNoResults",
|
367
|
-
:mode => :"Mode",
|
368
|
-
:semantic_search => :"SemanticSearch",
|
369
417
|
:advanced_syntax => :"Boolean",
|
370
418
|
:optional_words => :"Array<String>",
|
371
419
|
:disable_exact_on_attributes => :"Array<String>",
|
@@ -396,7 +444,9 @@ module Algolia
|
|
396
444
|
# List of class defined in allOf (OpenAPI v3)
|
397
445
|
def self.openapi_all_of
|
398
446
|
[
|
399
|
-
:"
|
447
|
+
:"BaseRecommendSearchParams",
|
448
|
+
:"RecommendIndexSettings",
|
449
|
+
:"SearchParamsQuery"
|
400
450
|
]
|
401
451
|
end
|
402
452
|
|
@@ -406,7 +456,7 @@ module Algolia
|
|
406
456
|
if (!attributes.is_a?(Hash))
|
407
457
|
raise(
|
408
458
|
ArgumentError,
|
409
|
-
"The input argument (attributes) must be a hash in `Algolia::
|
459
|
+
"The input argument (attributes) must be a hash in `Algolia::RecommendSearchParams` initialize method"
|
410
460
|
)
|
411
461
|
end
|
412
462
|
|
@@ -415,7 +465,7 @@ module Algolia
|
|
415
465
|
if (!self.class.attribute_map.key?(k.to_sym))
|
416
466
|
raise(
|
417
467
|
ArgumentError,
|
418
|
-
"`#{k}` is not a valid attribute in `Algolia::
|
468
|
+
"`#{k}` is not a valid attribute in `Algolia::RecommendSearchParams`. Please check the name to make sure it's valid. List of attributes: " +
|
419
469
|
self.class.attribute_map.keys.inspect
|
420
470
|
)
|
421
471
|
end
|
@@ -423,10 +473,6 @@ module Algolia
|
|
423
473
|
h[k.to_sym] = v
|
424
474
|
}
|
425
475
|
|
426
|
-
if attributes.key?(:query)
|
427
|
-
self.query = attributes[:query]
|
428
|
-
end
|
429
|
-
|
430
476
|
if attributes.key?(:similar_query)
|
431
477
|
self.similar_query = attributes[:similar_query]
|
432
478
|
end
|
@@ -471,18 +517,6 @@ module Algolia
|
|
471
517
|
self.faceting_after_distinct = attributes[:faceting_after_distinct]
|
472
518
|
end
|
473
519
|
|
474
|
-
if attributes.key?(:page)
|
475
|
-
self.page = attributes[:page]
|
476
|
-
end
|
477
|
-
|
478
|
-
if attributes.key?(:offset)
|
479
|
-
self.offset = attributes[:offset]
|
480
|
-
end
|
481
|
-
|
482
|
-
if attributes.key?(:length)
|
483
|
-
self.length = attributes[:length]
|
484
|
-
end
|
485
|
-
|
486
520
|
if attributes.key?(:around_lat_lng)
|
487
521
|
self.around_lat_lng = attributes[:around_lat_lng]
|
488
522
|
end
|
@@ -565,6 +599,100 @@ module Algolia
|
|
565
599
|
self.enable_ab_test = attributes[:enable_ab_test]
|
566
600
|
end
|
567
601
|
|
602
|
+
if attributes.key?(:query)
|
603
|
+
self.query = attributes[:query]
|
604
|
+
end
|
605
|
+
|
606
|
+
if attributes.key?(:attributes_for_faceting)
|
607
|
+
if (value = attributes[:attributes_for_faceting]).is_a?(Array)
|
608
|
+
self.attributes_for_faceting = value
|
609
|
+
end
|
610
|
+
end
|
611
|
+
|
612
|
+
if attributes.key?(:replicas)
|
613
|
+
if (value = attributes[:replicas]).is_a?(Array)
|
614
|
+
self.replicas = value
|
615
|
+
end
|
616
|
+
end
|
617
|
+
|
618
|
+
if attributes.key?(:pagination_limited_to)
|
619
|
+
self.pagination_limited_to = attributes[:pagination_limited_to]
|
620
|
+
end
|
621
|
+
|
622
|
+
if attributes.key?(:unretrievable_attributes)
|
623
|
+
if (value = attributes[:unretrievable_attributes]).is_a?(Array)
|
624
|
+
self.unretrievable_attributes = value
|
625
|
+
end
|
626
|
+
end
|
627
|
+
|
628
|
+
if attributes.key?(:disable_typo_tolerance_on_words)
|
629
|
+
if (value = attributes[:disable_typo_tolerance_on_words]).is_a?(Array)
|
630
|
+
self.disable_typo_tolerance_on_words = value
|
631
|
+
end
|
632
|
+
end
|
633
|
+
|
634
|
+
if attributes.key?(:attributes_to_transliterate)
|
635
|
+
if (value = attributes[:attributes_to_transliterate]).is_a?(Array)
|
636
|
+
self.attributes_to_transliterate = value
|
637
|
+
end
|
638
|
+
end
|
639
|
+
|
640
|
+
if attributes.key?(:camel_case_attributes)
|
641
|
+
if (value = attributes[:camel_case_attributes]).is_a?(Array)
|
642
|
+
self.camel_case_attributes = value
|
643
|
+
end
|
644
|
+
end
|
645
|
+
|
646
|
+
if attributes.key?(:decompounded_attributes)
|
647
|
+
self.decompounded_attributes = attributes[:decompounded_attributes]
|
648
|
+
end
|
649
|
+
|
650
|
+
if attributes.key?(:index_languages)
|
651
|
+
if (value = attributes[:index_languages]).is_a?(Array)
|
652
|
+
self.index_languages = value
|
653
|
+
end
|
654
|
+
end
|
655
|
+
|
656
|
+
if attributes.key?(:disable_prefix_on_attributes)
|
657
|
+
if (value = attributes[:disable_prefix_on_attributes]).is_a?(Array)
|
658
|
+
self.disable_prefix_on_attributes = value
|
659
|
+
end
|
660
|
+
end
|
661
|
+
|
662
|
+
if attributes.key?(:allow_compression_of_integer_array)
|
663
|
+
self.allow_compression_of_integer_array = attributes[:allow_compression_of_integer_array]
|
664
|
+
end
|
665
|
+
|
666
|
+
if attributes.key?(:numeric_attributes_for_filtering)
|
667
|
+
if (value = attributes[:numeric_attributes_for_filtering]).is_a?(Array)
|
668
|
+
self.numeric_attributes_for_filtering = value
|
669
|
+
end
|
670
|
+
end
|
671
|
+
|
672
|
+
if attributes.key?(:separators_to_index)
|
673
|
+
self.separators_to_index = attributes[:separators_to_index]
|
674
|
+
end
|
675
|
+
|
676
|
+
if attributes.key?(:searchable_attributes)
|
677
|
+
if (value = attributes[:searchable_attributes]).is_a?(Array)
|
678
|
+
self.searchable_attributes = value
|
679
|
+
end
|
680
|
+
end
|
681
|
+
|
682
|
+
if attributes.key?(:user_data)
|
683
|
+
self.user_data = attributes[:user_data]
|
684
|
+
end
|
685
|
+
|
686
|
+
if attributes.key?(:custom_normalization)
|
687
|
+
if (value = attributes[:custom_normalization]).is_a?(Hash)
|
688
|
+
self.custom_normalization = value
|
689
|
+
end
|
690
|
+
end
|
691
|
+
|
692
|
+
if attributes.key?(:attribute_for_distinct)
|
693
|
+
self.attribute_for_distinct = attributes[:attribute_for_distinct]
|
694
|
+
end
|
695
|
+
|
568
696
|
if attributes.key?(:attributes_to_retrieve)
|
569
697
|
if (value = attributes[:attributes_to_retrieve]).is_a?(Array)
|
570
698
|
self.attributes_to_retrieve = value
|
@@ -577,12 +705,6 @@ module Algolia
|
|
577
705
|
end
|
578
706
|
end
|
579
707
|
|
580
|
-
if attributes.key?(:custom_ranking)
|
581
|
-
if (value = attributes[:custom_ranking]).is_a?(Array)
|
582
|
-
self.custom_ranking = value
|
583
|
-
end
|
584
|
-
end
|
585
|
-
|
586
708
|
if attributes.key?(:relevancy_strictness)
|
587
709
|
self.relevancy_strictness = attributes[:relevancy_strictness]
|
588
710
|
end
|
@@ -615,10 +737,6 @@ module Algolia
|
|
615
737
|
self.restrict_highlight_and_snippet_arrays = attributes[:restrict_highlight_and_snippet_arrays]
|
616
738
|
end
|
617
739
|
|
618
|
-
if attributes.key?(:hits_per_page)
|
619
|
-
self.hits_per_page = attributes[:hits_per_page]
|
620
|
-
end
|
621
|
-
|
622
740
|
if attributes.key?(:min_word_sizefor1_typo)
|
623
741
|
self.min_word_sizefor1_typo = attributes[:min_word_sizefor1_typo]
|
624
742
|
end
|
@@ -649,10 +767,6 @@ module Algolia
|
|
649
767
|
self.remove_stop_words = attributes[:remove_stop_words]
|
650
768
|
end
|
651
769
|
|
652
|
-
if attributes.key?(:keep_diacritics_on_characters)
|
653
|
-
self.keep_diacritics_on_characters = attributes[:keep_diacritics_on_characters]
|
654
|
-
end
|
655
|
-
|
656
770
|
if attributes.key?(:query_languages)
|
657
771
|
if (value = attributes[:query_languages]).is_a?(Array)
|
658
772
|
self.query_languages = value
|
@@ -679,14 +793,6 @@ module Algolia
|
|
679
793
|
self.remove_words_if_no_results = attributes[:remove_words_if_no_results]
|
680
794
|
end
|
681
795
|
|
682
|
-
if attributes.key?(:mode)
|
683
|
-
self.mode = attributes[:mode]
|
684
|
-
end
|
685
|
-
|
686
|
-
if attributes.key?(:semantic_search)
|
687
|
-
self.semantic_search = attributes[:semantic_search]
|
688
|
-
end
|
689
|
-
|
690
796
|
if attributes.key?(:advanced_syntax)
|
691
797
|
self.advanced_syntax = attributes[:advanced_syntax]
|
692
798
|
end
|
@@ -766,38 +872,6 @@ module Algolia
|
|
766
872
|
end
|
767
873
|
end
|
768
874
|
|
769
|
-
# Custom attribute writer method with validation
|
770
|
-
# @param [Object] page Value to be assigned
|
771
|
-
def page=(page)
|
772
|
-
if page.nil?
|
773
|
-
raise ArgumentError, "page cannot be nil"
|
774
|
-
end
|
775
|
-
|
776
|
-
if page < 0
|
777
|
-
raise ArgumentError, "invalid value for \"page\", must be greater than or equal to 0."
|
778
|
-
end
|
779
|
-
|
780
|
-
@page = page
|
781
|
-
end
|
782
|
-
|
783
|
-
# Custom attribute writer method with validation
|
784
|
-
# @param [Object] length Value to be assigned
|
785
|
-
def length=(length)
|
786
|
-
if length.nil?
|
787
|
-
raise ArgumentError, "length cannot be nil"
|
788
|
-
end
|
789
|
-
|
790
|
-
if length > 1000
|
791
|
-
raise ArgumentError, "invalid value for \"length\", must be smaller than or equal to 1000."
|
792
|
-
end
|
793
|
-
|
794
|
-
if length < 0
|
795
|
-
raise ArgumentError, "invalid value for \"length\", must be greater than or equal to 0."
|
796
|
-
end
|
797
|
-
|
798
|
-
@length = length
|
799
|
-
end
|
800
|
-
|
801
875
|
# Custom attribute writer method with validation
|
802
876
|
# @param [Object] minimum_around_radius Value to be assigned
|
803
877
|
def minimum_around_radius=(minimum_around_radius)
|
@@ -831,21 +905,17 @@ module Algolia
|
|
831
905
|
end
|
832
906
|
|
833
907
|
# Custom attribute writer method with validation
|
834
|
-
# @param [Object]
|
835
|
-
def
|
836
|
-
if
|
837
|
-
raise ArgumentError, "
|
838
|
-
end
|
839
|
-
|
840
|
-
if hits_per_page > 1000
|
841
|
-
raise ArgumentError, "invalid value for \"hits_per_page\", must be smaller than or equal to 1000."
|
908
|
+
# @param [Object] pagination_limited_to Value to be assigned
|
909
|
+
def pagination_limited_to=(pagination_limited_to)
|
910
|
+
if pagination_limited_to.nil?
|
911
|
+
raise ArgumentError, "pagination_limited_to cannot be nil"
|
842
912
|
end
|
843
913
|
|
844
|
-
if
|
845
|
-
raise ArgumentError, "invalid value for \"
|
914
|
+
if pagination_limited_to > 20000
|
915
|
+
raise ArgumentError, "invalid value for \"pagination_limited_to\", must be smaller than or equal to 20000."
|
846
916
|
end
|
847
917
|
|
848
|
-
@
|
918
|
+
@pagination_limited_to = pagination_limited_to
|
849
919
|
end
|
850
920
|
|
851
921
|
# Custom attribute writer method with validation
|
@@ -899,7 +969,6 @@ module Algolia
|
|
899
969
|
def ==(other)
|
900
970
|
return true if self.equal?(other)
|
901
971
|
self.class == other.class &&
|
902
|
-
query == other.query &&
|
903
972
|
similar_query == other.similar_query &&
|
904
973
|
filters == other.filters &&
|
905
974
|
facet_filters == other.facet_filters &&
|
@@ -910,9 +979,6 @@ module Algolia
|
|
910
979
|
restrict_searchable_attributes == other.restrict_searchable_attributes &&
|
911
980
|
facets == other.facets &&
|
912
981
|
faceting_after_distinct == other.faceting_after_distinct &&
|
913
|
-
page == other.page &&
|
914
|
-
offset == other.offset &&
|
915
|
-
length == other.length &&
|
916
982
|
around_lat_lng == other.around_lat_lng &&
|
917
983
|
around_lat_lng_via_ip == other.around_lat_lng_via_ip &&
|
918
984
|
around_radius == other.around_radius &&
|
@@ -931,9 +997,26 @@ module Algolia
|
|
931
997
|
analytics_tags == other.analytics_tags &&
|
932
998
|
percentile_computation == other.percentile_computation &&
|
933
999
|
enable_ab_test == other.enable_ab_test &&
|
1000
|
+
query == other.query &&
|
1001
|
+
attributes_for_faceting == other.attributes_for_faceting &&
|
1002
|
+
replicas == other.replicas &&
|
1003
|
+
pagination_limited_to == other.pagination_limited_to &&
|
1004
|
+
unretrievable_attributes == other.unretrievable_attributes &&
|
1005
|
+
disable_typo_tolerance_on_words == other.disable_typo_tolerance_on_words &&
|
1006
|
+
attributes_to_transliterate == other.attributes_to_transliterate &&
|
1007
|
+
camel_case_attributes == other.camel_case_attributes &&
|
1008
|
+
decompounded_attributes == other.decompounded_attributes &&
|
1009
|
+
index_languages == other.index_languages &&
|
1010
|
+
disable_prefix_on_attributes == other.disable_prefix_on_attributes &&
|
1011
|
+
allow_compression_of_integer_array == other.allow_compression_of_integer_array &&
|
1012
|
+
numeric_attributes_for_filtering == other.numeric_attributes_for_filtering &&
|
1013
|
+
separators_to_index == other.separators_to_index &&
|
1014
|
+
searchable_attributes == other.searchable_attributes &&
|
1015
|
+
user_data == other.user_data &&
|
1016
|
+
custom_normalization == other.custom_normalization &&
|
1017
|
+
attribute_for_distinct == other.attribute_for_distinct &&
|
934
1018
|
attributes_to_retrieve == other.attributes_to_retrieve &&
|
935
1019
|
ranking == other.ranking &&
|
936
|
-
custom_ranking == other.custom_ranking &&
|
937
1020
|
relevancy_strictness == other.relevancy_strictness &&
|
938
1021
|
attributes_to_highlight == other.attributes_to_highlight &&
|
939
1022
|
attributes_to_snippet == other.attributes_to_snippet &&
|
@@ -941,7 +1024,6 @@ module Algolia
|
|
941
1024
|
highlight_post_tag == other.highlight_post_tag &&
|
942
1025
|
snippet_ellipsis_text == other.snippet_ellipsis_text &&
|
943
1026
|
restrict_highlight_and_snippet_arrays == other.restrict_highlight_and_snippet_arrays &&
|
944
|
-
hits_per_page == other.hits_per_page &&
|
945
1027
|
min_word_sizefor1_typo == other.min_word_sizefor1_typo &&
|
946
1028
|
min_word_sizefor2_typos == other.min_word_sizefor2_typos &&
|
947
1029
|
typo_tolerance == other.typo_tolerance &&
|
@@ -949,15 +1031,12 @@ module Algolia
|
|
949
1031
|
disable_typo_tolerance_on_attributes == other.disable_typo_tolerance_on_attributes &&
|
950
1032
|
ignore_plurals == other.ignore_plurals &&
|
951
1033
|
remove_stop_words == other.remove_stop_words &&
|
952
|
-
keep_diacritics_on_characters == other.keep_diacritics_on_characters &&
|
953
1034
|
query_languages == other.query_languages &&
|
954
1035
|
decompound_query == other.decompound_query &&
|
955
1036
|
enable_rules == other.enable_rules &&
|
956
1037
|
enable_personalization == other.enable_personalization &&
|
957
1038
|
query_type == other.query_type &&
|
958
1039
|
remove_words_if_no_results == other.remove_words_if_no_results &&
|
959
|
-
mode == other.mode &&
|
960
|
-
semantic_search == other.semantic_search &&
|
961
1040
|
advanced_syntax == other.advanced_syntax &&
|
962
1041
|
optional_words == other.optional_words &&
|
963
1042
|
disable_exact_on_attributes == other.disable_exact_on_attributes &&
|
@@ -987,7 +1066,6 @@ module Algolia
|
|
987
1066
|
# @return [Integer] Hash code
|
988
1067
|
def hash
|
989
1068
|
[
|
990
|
-
query,
|
991
1069
|
similar_query,
|
992
1070
|
filters,
|
993
1071
|
facet_filters,
|
@@ -998,9 +1076,6 @@ module Algolia
|
|
998
1076
|
restrict_searchable_attributes,
|
999
1077
|
facets,
|
1000
1078
|
faceting_after_distinct,
|
1001
|
-
page,
|
1002
|
-
offset,
|
1003
|
-
length,
|
1004
1079
|
around_lat_lng,
|
1005
1080
|
around_lat_lng_via_ip,
|
1006
1081
|
around_radius,
|
@@ -1019,9 +1094,26 @@ module Algolia
|
|
1019
1094
|
analytics_tags,
|
1020
1095
|
percentile_computation,
|
1021
1096
|
enable_ab_test,
|
1097
|
+
query,
|
1098
|
+
attributes_for_faceting,
|
1099
|
+
replicas,
|
1100
|
+
pagination_limited_to,
|
1101
|
+
unretrievable_attributes,
|
1102
|
+
disable_typo_tolerance_on_words,
|
1103
|
+
attributes_to_transliterate,
|
1104
|
+
camel_case_attributes,
|
1105
|
+
decompounded_attributes,
|
1106
|
+
index_languages,
|
1107
|
+
disable_prefix_on_attributes,
|
1108
|
+
allow_compression_of_integer_array,
|
1109
|
+
numeric_attributes_for_filtering,
|
1110
|
+
separators_to_index,
|
1111
|
+
searchable_attributes,
|
1112
|
+
user_data,
|
1113
|
+
custom_normalization,
|
1114
|
+
attribute_for_distinct,
|
1022
1115
|
attributes_to_retrieve,
|
1023
1116
|
ranking,
|
1024
|
-
custom_ranking,
|
1025
1117
|
relevancy_strictness,
|
1026
1118
|
attributes_to_highlight,
|
1027
1119
|
attributes_to_snippet,
|
@@ -1029,7 +1121,6 @@ module Algolia
|
|
1029
1121
|
highlight_post_tag,
|
1030
1122
|
snippet_ellipsis_text,
|
1031
1123
|
restrict_highlight_and_snippet_arrays,
|
1032
|
-
hits_per_page,
|
1033
1124
|
min_word_sizefor1_typo,
|
1034
1125
|
min_word_sizefor2_typos,
|
1035
1126
|
typo_tolerance,
|
@@ -1037,15 +1128,12 @@ module Algolia
|
|
1037
1128
|
disable_typo_tolerance_on_attributes,
|
1038
1129
|
ignore_plurals,
|
1039
1130
|
remove_stop_words,
|
1040
|
-
keep_diacritics_on_characters,
|
1041
1131
|
query_languages,
|
1042
1132
|
decompound_query,
|
1043
1133
|
enable_rules,
|
1044
1134
|
enable_personalization,
|
1045
1135
|
query_type,
|
1046
1136
|
remove_words_if_no_results,
|
1047
|
-
mode,
|
1048
|
-
semantic_search,
|
1049
1137
|
advanced_syntax,
|
1050
1138
|
optional_words,
|
1051
1139
|
disable_exact_on_attributes,
|