@graphcommerce/algolia-products 9.1.0-canary.28 → 9.1.0-canary.31

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.
package/algolia-spec.yaml CHANGED
@@ -2,7 +2,7 @@ openapi: 3.0.2
2
2
  info:
3
3
  title: Search API
4
4
  description: >
5
- The Algolia Search API lets you search, configure, and mange your indices and records.
5
+ The Algolia Search API lets you search, configure, and manage your indices and records.
6
6
 
7
7
 
8
8
  ## Client libraries
@@ -37,7 +37,7 @@ info:
37
37
  ## Retry strategy
38
38
 
39
39
 
40
- To guarantee a high availability, implement a retry strategy for all API requests using the URLs of your servers as fallbacks:
40
+ To guarantee high availability, implement a retry strategy for all API requests using the URLs of your servers as fallbacks:
41
41
 
42
42
 
43
43
  - `https://{APPLICATION_ID}-1.algolianet.com`
@@ -120,23 +120,23 @@ servers:
120
120
  - url: https://{appId}.algolia.net
121
121
  variables:
122
122
  appId:
123
- default: myAppId
123
+ default: ALGOLIA_APPLICATION_ID
124
124
  - url: https://{appId}-1.algolianet.com
125
125
  variables:
126
126
  appId:
127
- default: myAppId
127
+ default: ALGOLIA_APPLICATION_ID
128
128
  - url: https://{appId}-2.algolianet.com
129
129
  variables:
130
130
  appId:
131
- default: myAppId
131
+ default: ALGOLIA_APPLICATION_ID
132
132
  - url: https://{appId}-3.algolianet.com
133
133
  variables:
134
134
  appId:
135
- default: myAppId
135
+ default: ALGOLIA_APPLICATION_ID
136
136
  - url: https://{appId}-dsn.algolia.net
137
137
  variables:
138
138
  appId:
139
- default: myAppId
139
+ default: ALGOLIA_APPLICATION_ID
140
140
  security:
141
141
  - appId: []
142
142
  apiKey: []
@@ -161,13 +161,9 @@ tags:
161
161
  description: |
162
162
  Multi-cluster operations.
163
163
 
164
- Algolia no longer offers multi-cluster management.
165
- externalDocs:
166
- url: >-
167
- https://www.algolia.com/doc/guides/scaling/managing-multiple-clusters-mcm/
168
-
169
- description: |
170
- Related guide: Multi-cluster management.
164
+ Multi-cluster operations are **deprecated**.
165
+ If you have issues with your Algolia infrastructure
166
+ due to large volumes of data, contact the Algolia support team.
171
167
  - name: Dictionaries
172
168
  description: >
173
169
  Manage your dictionaries.
@@ -209,6 +205,8 @@ tags:
209
205
  When they match a search query, they're returned as search results, in the order determined by your ranking.
210
206
 
211
207
  Records are schemaless JSON objects.
208
+
209
+ When adding or updating many records, check the [indexing rate limits](https://support.algolia.com/hc/en-us/articles/4406975251089-Is-there-a-rate-limit-for-indexing-on-Algolia).
212
210
 
213
211
  externalDocs:
214
212
  url: >-
@@ -223,9 +221,9 @@ tags:
223
221
 
224
222
  Rules are _if-then_ statements that you can use to curate search results.
225
223
 
226
- Rules have _conditions_ which can trigger _consequences_.
224
+ Rules have _conditions_ that can trigger _consequences_.
227
225
 
228
- Consequences are changes to the search results, such as changing the order of search results, or boosting a facet.
226
+ Consequences are changes to the search results, such as changing the order of search results or boosting a facet.
229
227
 
230
228
  This can be useful for tuning specific queries or for merchandising.
231
229
 
@@ -272,7 +270,7 @@ paths:
272
270
  - search
273
271
  summary: Search an index
274
272
  description: >
275
- Searches a single index and return matching search results (_hits_).
273
+ Searches a single index and returns matching search results (_hits_).
276
274
 
277
275
 
278
276
  This method lets you retrieve up to 1,000 hits.
@@ -524,6 +522,8 @@ components:
524
522
 
525
523
  - Optional filters are applied _after_ sort-by attributes.
526
524
 
525
+ - Optional filters are applied _before_ custom ranking attributes (in the default [ranking](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/)).
526
+
527
527
  - Optional filters don't work with numeric attributes.
528
528
 
529
529
  example:
@@ -544,7 +544,9 @@ components:
544
544
  **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**
545
545
 
546
546
 
547
- You can use numeric comparison operators: `<`, `<=`, `=`, `!=`, `>`, `>=`. Comparsions are precise up to 3 decimals.
547
+ You can use numeric comparison operators: `<`, `<=`, `=`, `!=`, `>`, `>=`.
548
+
549
+ Comparisons are precise up to 3 decimals.
548
550
 
549
551
  You can also provide ranges: `facet:<lower> TO <upper>`. The range includes the lower and upper boundaries.
550
552
 
@@ -598,7 +600,7 @@ components:
598
600
  Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude.
599
601
 
600
602
 
601
- Only records included within circle around this central location are included in the results.
603
+ Only records included within a circle around this central location are included in the results.
602
604
 
603
605
  The radius of the circle is determined by the `aroundRadius` and `minimumAroundRadius` settings.
604
606
 
@@ -680,7 +682,7 @@ components:
680
682
  - $ref: '#/components/schemas/aroundPrecisionFromValue'
681
683
  x-categories:
682
684
  - Geo-Search
683
- insideBoundingBox:
685
+ insideBoundingBoxArray:
684
686
  type: array
685
687
  items:
686
688
  type: array
@@ -712,6 +714,11 @@ components:
712
714
  - 1.9916
713
715
  x-categories:
714
716
  - Geo-Search
717
+ insideBoundingBox:
718
+ oneOf:
719
+ - type: string
720
+ - type: 'null'
721
+ - $ref: '#/components/schemas/insideBoundingBoxArray'
715
722
  insidePolygon:
716
723
  type: array
717
724
  items:
@@ -1083,7 +1090,7 @@ components:
1083
1090
  Whether [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/) is enabled and how it is applied.
1084
1091
 
1085
1092
 
1086
- If typo tolerance is true, `min`, or `strict`, [word splitting and concetenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) is also active.
1093
+ If typo tolerance is true, `min`, or `strict`, [word splitting and concatenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) are also active.
1087
1094
 
1088
1095
  oneOf:
1089
1096
  - type: boolean
@@ -1164,7 +1171,7 @@ components:
1164
1171
  Determines if and how query words are interpreted as prefixes.
1165
1172
 
1166
1173
 
1167
- By default, only the last query word is treated as prefix (`prefixLast`).
1174
+ By default, only the last query word is treated as a prefix (`prefixLast`).
1168
1175
 
1169
1176
  To turn off prefix search, use `prefixNone`.
1170
1177
 
@@ -1238,6 +1245,50 @@ components:
1238
1245
  items:
1239
1246
  type: string
1240
1247
  - type: 'null'
1248
+ optionalWordsArray:
1249
+ type: array
1250
+ items:
1251
+ type: string
1252
+ example:
1253
+ - blue
1254
+ - iphone case
1255
+ description: >-
1256
+ List of [optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
1257
+
1258
+ x-categories:
1259
+ - Query strategy
1260
+ optionalWords:
1261
+ description: >
1262
+ Words that should be considered optional when found in the query.
1263
+
1264
+
1265
+ By default, records must match all words in the search query to be included in the search results.
1266
+
1267
+ Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words.
1268
+
1269
+ For example, if the search query is "action video" and "video" is an optional word,
1270
+
1271
+ the search engine runs two queries. One for "action video" and one for "action".
1272
+
1273
+ Records that match all words are ranked higher.
1274
+
1275
+
1276
+ For a search query with 4 or more words **and** all its words are optional,
1277
+
1278
+ the number of matched words required for a record to be included in the search results increases for every 1,000 records:
1279
+
1280
+
1281
+ - If `optionalWords` has less than 10 words, the required number of matched words increases by 1:
1282
+ results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words.
1283
+ - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words divided by 5 (rounded down).
1284
+ For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words.
1285
+
1286
+ For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
1287
+
1288
+ oneOf:
1289
+ - type: string
1290
+ - type: 'null'
1291
+ - $ref: '#/components/schemas/optionalWordsArray'
1241
1292
  exactOnSingleWordQuery:
1242
1293
  type: string
1243
1294
  enum:
@@ -1269,6 +1320,7 @@ components:
1269
1320
  - ignorePlurals
1270
1321
  - singleWordSynonym
1271
1322
  - multiWordsSynonym
1323
+ - ignoreConjugations
1272
1324
  x-categories:
1273
1325
  - Query strategy
1274
1326
  advancedSyntaxFeatures:
@@ -1314,14 +1366,6 @@ components:
1314
1366
  default: 0
1315
1367
  x-categories:
1316
1368
  - Advanced
1317
- maxFacetHits:
1318
- type: integer
1319
- description: >-
1320
- Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
1321
-
1322
- maximum: 100
1323
- x-categories:
1324
- - Advanced
1325
1369
  order:
1326
1370
  description: >
1327
1371
  Explicit order of facets or facet values.
@@ -1396,12 +1440,58 @@ components:
1396
1440
  properties:
1397
1441
  url:
1398
1442
  type: string
1443
+ bannerImageUrl:
1444
+ description: URL for an image to show inside a banner.
1445
+ type: object
1446
+ additionalProperties: false
1447
+ properties:
1448
+ url:
1449
+ type: string
1450
+ bannerImage:
1451
+ description: Image to show inside a banner.
1452
+ type: object
1453
+ additionalProperties: false
1454
+ properties:
1455
+ urls:
1456
+ type: array
1457
+ items:
1458
+ $ref: '#/components/schemas/bannerImageUrl'
1459
+ title:
1460
+ type: string
1461
+ bannerLink:
1462
+ description: Link for a banner defined in the Merchandising Studio.
1463
+ type: object
1464
+ additionalProperties: false
1465
+ properties:
1466
+ url:
1467
+ type: string
1468
+ banner:
1469
+ description: Banner with image and link to redirect users.
1470
+ type: object
1471
+ additionalProperties: false
1472
+ properties:
1473
+ image:
1474
+ $ref: '#/components/schemas/bannerImage'
1475
+ link:
1476
+ $ref: '#/components/schemas/bannerLink'
1477
+ banners:
1478
+ description: Banners defined in the Merchandising Studio for a given search.
1479
+ type: array
1480
+ items:
1481
+ $ref: '#/components/schemas/banner'
1482
+ widgets:
1483
+ description: Widgets returned from any rules that are applied to the current search.
1484
+ type: object
1485
+ additionalProperties: false
1486
+ properties:
1487
+ banners:
1488
+ $ref: '#/components/schemas/banners'
1399
1489
  renderingContent:
1400
1490
  description: >
1401
1491
  Extra data that can be used in the search UI.
1402
1492
 
1403
1493
 
1404
- You can use this to control aspects of your search UI, such as, the order of facet names and values
1494
+ You can use this to control aspects of your search UI, such as the order of facet names and values
1405
1495
 
1406
1496
  without changing your frontend code.
1407
1497
 
@@ -1412,6 +1502,8 @@ components:
1412
1502
  $ref: '#/components/schemas/facetOrdering'
1413
1503
  redirect:
1414
1504
  $ref: '#/components/schemas/redirectURL'
1505
+ widgets:
1506
+ $ref: '#/components/schemas/widgets'
1415
1507
  x-categories:
1416
1508
  - Advanced
1417
1509
  reRankingApplyFilter:
@@ -1485,44 +1577,6 @@ components:
1485
1577
 
1486
1578
  and by [A/B testing](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/).
1487
1579
 
1488
- x-categories:
1489
- - Ranking
1490
- customRanking:
1491
- type: array
1492
- items:
1493
- type: string
1494
- example:
1495
- - desc(popularity)
1496
- - asc(price)
1497
- description: >
1498
- Attributes to use as [custom ranking](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking/).
1499
-
1500
- Attribute names are case-sensitive.
1501
-
1502
-
1503
- The custom ranking attributes decide which items are shown first if the other ranking criteria are equal.
1504
-
1505
-
1506
- Records with missing values for your selected custom ranking attributes are always sorted last.
1507
-
1508
- Boolean attributes are sorted based on their alphabetical order.
1509
-
1510
-
1511
- **Modifiers**
1512
-
1513
-
1514
- - `asc("ATTRIBUTE")`.
1515
- Sort the index by the values of an attribute, in ascending order.
1516
-
1517
- - `desc("ATTRIBUTE")`.
1518
- Sort the index by the values of an attribute, in descending order.
1519
-
1520
- If you use two or more custom ranking attributes,
1521
-
1522
- [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,
1523
-
1524
- or the other attributes will never be applied.
1525
-
1526
1580
  x-categories:
1527
1581
  - Ranking
1528
1582
  relevancyStrictness:
@@ -1675,17 +1729,6 @@ components:
1675
1729
  $ref: '#/components/schemas/ignorePlurals'
1676
1730
  removeStopWords:
1677
1731
  $ref: '#/components/schemas/removeStopWords'
1678
- keepDiacriticsOnCharacters:
1679
- type: string
1680
- example: øé
1681
- description: |
1682
- Characters for which diacritics should be preserved.
1683
-
1684
- By default, Algolia removes diacritics from letters.
1685
- For example, `é` becomes `e`. If this causes issues in your search,
1686
- you can specify characters that should keep their diacritics.
1687
- x-categories:
1688
- - Languages
1689
1732
  queryLanguages:
1690
1733
  type: array
1691
1734
  items:
@@ -1760,41 +1803,7 @@ components:
1760
1803
  x-categories:
1761
1804
  - Query strategy
1762
1805
  optionalWords:
1763
- type: array
1764
- items:
1765
- type: string
1766
- example:
1767
- - blue
1768
- - iphone case
1769
- description: >
1770
- Words that should be considered optional when found in the query.
1771
-
1772
-
1773
- By default, records must match all words in the search query to be included in the search results.
1774
-
1775
- Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words.
1776
-
1777
- For example, if the search query is "action video" and "video" is an optional word,
1778
-
1779
- the search engine runs two queries. One for "action video" and one for "action".
1780
-
1781
- Records that match all words are ranked higher.
1782
-
1783
-
1784
- For a search query with 4 or more words **and** all its words are optional,
1785
-
1786
- the number of matched words required for a record to be included in the search results increases for every 1,000 records:
1787
-
1788
-
1789
- - If `optionalWords` has less than 10 words, the required number of matched words increases by 1:
1790
- results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words.
1791
- - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words dividied by 5 (rounded down).
1792
- For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words.
1793
-
1794
- For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
1795
-
1796
- x-categories:
1797
- - Query strategy
1806
+ $ref: '#/components/schemas/optionalWords'
1798
1807
  disableExactOnAttributes:
1799
1808
  type: array
1800
1809
  items:
@@ -1807,7 +1816,7 @@ components:
1807
1816
  Attribute names are case-sensitive.
1808
1817
 
1809
1818
 
1810
- This can be useful for attributes with long values, where the likelyhood of an exact match is high,
1819
+ This can be useful for attributes with long values, where the likelihood of an exact match is high,
1811
1820
 
1812
1821
  such as product descriptions.
1813
1822
 
@@ -1824,17 +1833,27 @@ components:
1824
1833
  items:
1825
1834
  $ref: '#/components/schemas/alternativesAsExact'
1826
1835
  description: >
1827
- Alternatives of query words that should be considered as exact matches by the Exact ranking criterion.
1836
+ Determine which plurals and synonyms should be considered an exact matches.
1837
+
1838
+
1839
+ By default, Algolia treats singular and plural forms of a word, and single-word synonyms, as [exact](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#exact) matches when searching.
1840
+
1841
+ For example:
1842
+
1843
+
1844
+ - "swimsuit" and "swimsuits" are treated the same
1845
+
1846
+ - "swimsuit" and "swimwear" are treated the same (if they are [synonyms](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/adding-synonyms/#regular-synonyms)).
1828
1847
 
1829
1848
 
1830
1849
  - `ignorePlurals`.
1831
1850
  Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches.
1832
1851
 
1833
1852
  - `singleWordSynonym`.
1834
- Single-word synonyms, such as "NY/NYC" are considered exact matches.
1853
+ Single-word synonyms, such as "NY" = "NYC", are considered exact matches.
1835
1854
 
1836
1855
  - `multiWordsSynonym`.
1837
- Multi-word synonyms, such as "NY/New York" are considered exact matches.
1856
+ Multi-word synonyms, such as "NY" = "New York", are considered exact matches.
1838
1857
 
1839
1858
  x-categories:
1840
1859
  - Query strategy
@@ -1875,7 +1894,7 @@ components:
1875
1894
 
1876
1895
  With `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records,
1877
1896
 
1878
- but all occurences of "house" are replaced by "home" in the highlighted response.
1897
+ but all occurrences of "house" are replaced by "home" in the highlighted response.
1879
1898
 
1880
1899
  x-categories:
1881
1900
  - Highlighting and Snippeting
@@ -1901,27 +1920,32 @@ components:
1901
1920
  items:
1902
1921
  type: string
1903
1922
  description: >
1904
- Properties to include in the API response of `search` and `browse` requests.
1923
+ Properties to include in the API response of search and browse requests.
1905
1924
 
1906
1925
 
1907
1926
  By default, all response properties are included.
1908
1927
 
1909
- To reduce the response size, you can select, which attributes should be included.
1928
+ To reduce the response size, you can select which properties should be included.
1929
+
1930
+
1931
+ An empty list may lead to an empty API response (except properties you can't exclude).
1910
1932
 
1911
1933
 
1912
1934
  You can't exclude these properties:
1913
1935
 
1914
- `message`, `warning`, `cursor`, `serverUsed`, `indexUsed`,
1936
+ `message`, `warning`, `cursor`, `abTestVariantID`,
1937
+
1938
+ or any property added by setting `getRankingInfo` to true.
1939
+
1915
1940
 
1916
- `abTestVariantID`, `parsedQuery`, or any property triggered by the `getRankingInfo` parameter.
1941
+ Your search depends on the `hits` field. If you omit this field, searches won't return any results.
1917
1942
 
1943
+ Your UI might also depend on other properties, for example, for pagination.
1918
1944
 
1919
- Don't exclude properties that you might need in your search UI.
1945
+ Before restricting the response size, check the impact on your search experience.
1920
1946
 
1921
1947
  x-categories:
1922
1948
  - Advanced
1923
- maxFacetHits:
1924
- $ref: '#/components/schemas/maxFacetHits'
1925
1949
  maxValuesPerFacet:
1926
1950
  type: integer
1927
1951
  description: Maximum number of facet values to return for each facet.
@@ -2022,7 +2046,6 @@ components:
2022
2046
  - dest
2023
2047
  - source
2024
2048
  userData:
2025
- type: object
2026
2049
  example:
2027
2050
  settingID: f2a7b51e3503acc6a39b3784ffb84300
2028
2051
  pluginVersion: 1.6.0
@@ -2092,6 +2115,12 @@ components:
2092
2115
  description: >-
2093
2116
  Whether the typo search was exhaustive (`true`) or approximate (`false`). An approximation is done when the typo search query part takes more than 10% of the query budget (ie. 5ms by default) to be processed (this can happen when a lot of typo alternatives exist for the query). This field will not be included when typo-tolerance is entirely disabled.
2094
2117
 
2118
+ appliedRules:
2119
+ description: Rules applied to the query.
2120
+ title: appliedRules
2121
+ type: array
2122
+ items:
2123
+ type: object
2095
2124
  exhaustiveFacetsCount:
2096
2125
  type: boolean
2097
2126
  description: >-
@@ -2226,21 +2255,10 @@ components:
2226
2255
  $ref: '#/components/schemas/nbPages'
2227
2256
  hitsPerPage:
2228
2257
  $ref: '#/components/schemas/hitsPerPage'
2229
- required:
2230
- - page
2231
- - nbHits
2232
- - nbPages
2233
- - hitsPerPage
2234
2258
  objectID:
2235
2259
  type: string
2236
2260
  description: Unique record identifier.
2237
2261
  example: test-record-123
2238
- highlightResultMap:
2239
- type: object
2240
- description: Surround words that match the query with HTML tags for highlighting.
2241
- additionalProperties:
2242
- x-additionalPropertiesName: attribute
2243
- $ref: '#/components/schemas/highlightResult'
2244
2262
  highlightedValue:
2245
2263
  type: string
2246
2264
  description: Highlighted attribute value, including HTML tags.
@@ -2278,29 +2296,23 @@ components:
2278
2296
  x-discriminator-fields:
2279
2297
  - matchLevel
2280
2298
  - matchedWords
2281
- highlightResultOptionMap:
2299
+ highlightResultMap:
2282
2300
  type: object
2283
2301
  description: Surround words that match the query with HTML tags for highlighting.
2302
+ x-is-free-form: false
2284
2303
  additionalProperties:
2285
2304
  x-additionalPropertiesName: attribute
2286
- $ref: '#/components/schemas/highlightResultOption'
2287
- highlightResultOptionArray:
2288
- type: array
2289
- description: Surround words that match the query with HTML tags for highlighting.
2290
- items:
2291
- $ref: '#/components/schemas/highlightResultOption'
2305
+ $ref: '#/components/schemas/highlightResult'
2292
2306
  highlightResult:
2293
2307
  oneOf:
2294
- - $ref: '#/components/schemas/highlightResultMap'
2295
2308
  - $ref: '#/components/schemas/highlightResultOption'
2296
- - $ref: '#/components/schemas/highlightResultOptionMap'
2297
- - $ref: '#/components/schemas/highlightResultOptionArray'
2298
- snippetResultMap:
2299
- type: object
2300
- description: Snippets that show the context around a matching search query.
2301
- additionalProperties:
2302
- x-additionalPropertiesName: attribute
2303
- $ref: '#/components/schemas/snippetResult'
2309
+ - $ref: '#/components/schemas/highlightResultMap'
2310
+ - $ref: '#/components/schemas/highlightResultArray'
2311
+ highlightResultArray:
2312
+ type: array
2313
+ description: Surround words that match the query with HTML tags for highlighting.
2314
+ items:
2315
+ $ref: '#/components/schemas/highlightResult'
2304
2316
  snippetResultOption:
2305
2317
  type: object
2306
2318
  description: Snippets that show the context around a matching search query.
@@ -2315,23 +2327,23 @@ components:
2315
2327
  - matchLevel
2316
2328
  x-discriminator-fields:
2317
2329
  - matchLevel
2318
- snippetResultOptionMap:
2330
+ snippetResultMap:
2319
2331
  type: object
2320
2332
  description: Snippets that show the context around a matching search query.
2333
+ x-is-free-form: false
2321
2334
  additionalProperties:
2322
2335
  x-additionalPropertiesName: attribute
2323
- $ref: '#/components/schemas/snippetResultOption'
2324
- snippetResultOptionArray:
2325
- type: array
2326
- description: Snippets that show the context around a matching search query.
2327
- items:
2328
- $ref: '#/components/schemas/snippetResultOption'
2336
+ $ref: '#/components/schemas/snippetResult'
2329
2337
  snippetResult:
2330
2338
  oneOf:
2331
- - $ref: '#/components/schemas/snippetResultMap'
2332
2339
  - $ref: '#/components/schemas/snippetResultOption'
2333
- - $ref: '#/components/schemas/snippetResultOptionMap'
2334
- - $ref: '#/components/schemas/snippetResultOptionArray'
2340
+ - $ref: '#/components/schemas/snippetResultMap'
2341
+ - $ref: '#/components/schemas/snippetResultArray'
2342
+ snippetResultArray:
2343
+ type: array
2344
+ description: Snippets that show the context around a matching search query.
2345
+ items:
2346
+ $ref: '#/components/schemas/snippetResult'
2335
2347
  matchedGeoLocation:
2336
2348
  type: object
2337
2349
  properties:
@@ -2510,6 +2522,14 @@ components:
2510
2522
  type: string
2511
2523
  description: Text to search inside the facet's values.
2512
2524
  example: george
2525
+ maxFacetHits:
2526
+ type: integer
2527
+ description: >-
2528
+ Maximum number of facet values to return when [searching for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
2529
+
2530
+ maximum: 100
2531
+ x-categories:
2532
+ - Advanced
2513
2533
  searchTypeFacet:
2514
2534
  type: string
2515
2535
  enum:
@@ -2740,20 +2760,17 @@ components:
2740
2760
  required:
2741
2761
  - requests
2742
2762
  example:
2743
- batch:
2744
- summary: Batch indexing request
2745
- value:
2746
- requests:
2747
- - action: addObject
2748
- body:
2749
- name: Betty Jane McCamey
2750
- company: Vita Foods Inc.
2751
- email: betty@mccamey.com
2752
- - action: addObject
2753
- body:
2754
- name: Gayla geimer
2755
- company: Ortman McCain Co.
2756
- email: gayla@geimer.com
2763
+ requests:
2764
+ - action: addObject
2765
+ body:
2766
+ name: Betty Jane McCamey
2767
+ company: Vita Foods Inc.
2768
+ email: betty@mccamey.com
2769
+ - action: addObject
2770
+ body:
2771
+ name: Gayla geimer
2772
+ company: Ortman McCain Co.
2773
+ email: gayla@geimer.com
2757
2774
  objectIDs:
2758
2775
  type: array
2759
2776
  items:
@@ -2804,7 +2821,7 @@ components:
2804
2821
 
2805
2822
 
2806
2823
  - `filterOnly("ATTRIBUTE")`.
2807
- Allows using this attribute as a filter, but doesn't evalue the facet values.
2824
+ Allows the attribute to be used as a filter but doesn't evaluate the facet values.
2808
2825
 
2809
2826
  - `searchable("ATTRIBUTE")`.
2810
2827
  Allows searching for facet values.
@@ -2835,7 +2852,7 @@ components:
2835
2852
 
2836
2853
  To add a replica index, you must provide the complete set of replicas to this parameter.
2837
2854
 
2838
- 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.
2855
+ If you omit a replica from this list, the replica turns into a regular, standalone index that will no longer be synced with the primary index.
2839
2856
 
2840
2857
 
2841
2858
  **Modifier**
@@ -2885,7 +2902,7 @@ components:
2885
2902
  - wheel
2886
2903
  - 1X2BCD
2887
2904
  description: >
2888
- Words for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/).
2905
+ Creates a list of [words which require exact matches](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#turn-off-typo-tolerance-for-certain-words).
2889
2906
 
2890
2907
  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.
2891
2908
 
@@ -3012,7 +3029,7 @@ components:
3012
3029
  For faster indexing, reduce the number of numeric attributes.
3013
3030
 
3014
3031
 
3015
- 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`.
3032
+ To turn off filtering for all numeric attributes, specify an attribute that doesn't exist in your index, such as `NO_NUMERIC_FILTERING`.
3016
3033
 
3017
3034
 
3018
3035
  **Modifier**
@@ -3030,16 +3047,20 @@ components:
3030
3047
  type: string
3031
3048
  example: +#
3032
3049
  description: >
3033
- Controls which separators are indexed.
3050
+ Control which non-alphanumeric characters are indexed.
3051
+
3052
+
3053
+ By default, Algolia ignores [non-alphanumeric characters](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-search-in-hyphenated-attributes/#handling-non-alphanumeric-characters) like hyphen (`-`), plus (`+`), and parentheses (`(`,`)`).
3054
+
3055
+ To include such characters, define them with `separatorsToIndex`.
3034
3056
 
3035
3057
 
3036
3058
  Separators are all non-letter characters except spaces and currency characters, such as $€£¥.
3037
3059
 
3038
- By default, separator characters aren't indexed.
3039
3060
 
3040
3061
  With `separatorsToIndex`, Algolia treats separator characters as separate words.
3041
3062
 
3042
- For example, a search for `C#` would report two matches.
3063
+ For example, in a search for "Disney+", Algolia considers "Disney" and "+" as two separate words.
3043
3064
 
3044
3065
  x-categories:
3045
3066
  - Typos
@@ -3076,7 +3097,7 @@ components:
3076
3097
  - `unordered("ATTRIBUTE")`.
3077
3098
  Ignore the position of a match within the attribute.
3078
3099
 
3079
- Without modifier, matches at the beginning of an attribute rank higer than matches at the end.
3100
+ Without a modifier, matches at the beginning of an attribute rank higher than matches at the end.
3080
3101
 
3081
3102
  x-categories:
3082
3103
  - Attributes
@@ -3115,6 +3136,57 @@ components:
3115
3136
 
3116
3137
  example: url
3117
3138
  type: string
3139
+ maxFacetHits:
3140
+ $ref: '#/components/schemas/maxFacetHits'
3141
+ keepDiacriticsOnCharacters:
3142
+ type: string
3143
+ example: øé
3144
+ description: |
3145
+ Characters for which diacritics should be preserved.
3146
+
3147
+ By default, Algolia removes diacritics from letters.
3148
+ For example, `é` becomes `e`. If this causes issues in your search,
3149
+ you can specify characters that should keep their diacritics.
3150
+ x-categories:
3151
+ - Languages
3152
+ customRanking:
3153
+ type: array
3154
+ items:
3155
+ type: string
3156
+ example:
3157
+ - desc(popularity)
3158
+ - asc(price)
3159
+ description: >
3160
+ Attributes to use as [custom ranking](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking/).
3161
+
3162
+ Attribute names are case-sensitive.
3163
+
3164
+
3165
+ The custom ranking attributes decide which items are shown first if the other ranking criteria are equal.
3166
+
3167
+
3168
+ Records with missing values for your selected custom ranking attributes are always sorted last.
3169
+
3170
+ Boolean attributes are sorted based on their alphabetical order.
3171
+
3172
+
3173
+ **Modifiers**
3174
+
3175
+
3176
+ - `asc("ATTRIBUTE")`.
3177
+ Sort the index by the values of an attribute, in ascending order.
3178
+
3179
+ - `desc("ATTRIBUTE")`.
3180
+ Sort the index by the values of an attribute, in descending order.
3181
+
3182
+ If you use two or more custom ranking attributes,
3183
+
3184
+ [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,
3185
+
3186
+ or the other attributes will never be applied.
3187
+
3188
+ x-categories:
3189
+ - Ranking
3118
3190
  indexSettings:
3119
3191
  description: Index settings.
3120
3192
  allOf:
@@ -3143,6 +3215,9 @@ components:
3143
3215
  - altcorrection1
3144
3216
  - altcorrection2
3145
3217
  - placeholder
3218
+ - oneWaySynonym
3219
+ - altCorrection1
3220
+ - altCorrection2
3146
3221
  synonymHit:
3147
3222
  type: object
3148
3223
  description: Synonym object.
@@ -3241,7 +3316,7 @@ components:
3241
3316
  createdAt:
3242
3317
  $ref: '#/components/schemas/createdAtTimestamp'
3243
3318
  required:
3244
- - key
3319
+ - value
3245
3320
  - createdAt
3246
3321
  acl:
3247
3322
  description: Access control list permissions.
@@ -3333,7 +3408,7 @@ components:
3333
3408
  You can only add a single source, but you can provide a range of IP addresses.
3334
3409
 
3335
3410
 
3336
- Creating an API key fails if the request is made from an IP address that's outside the restricted range.
3411
+ Creating an API key fails if the request is made from an IP address outside the restricted range.
3337
3412
 
3338
3413
  example: typoTolerance=strict&restrictSources=192.168.1.0/24
3339
3414
  referers:
@@ -3394,12 +3469,12 @@ components:
3394
3469
  description: |
3395
3470
  Which part of the search query the pattern should match:
3396
3471
 
3397
- - `startsWith`. The pattern must match the begginning of the query.
3472
+ - `startsWith`. The pattern must match the beginning of the query.
3398
3473
  - `endsWith`. The pattern must match the end of the query.
3399
3474
  - `is`. The pattern must match the query exactly.
3400
3475
  - `contains`. The pattern must match anywhere in the query.
3401
3476
 
3402
- Empty queries are only allowed as pattern with `anchoring: is`.
3477
+ Empty queries are only allowed as patterns with `anchoring: is`.
3403
3478
  enum:
3404
3479
  - is
3405
3480
  - startsWith
@@ -3446,9 +3521,11 @@ components:
3446
3521
  Filters that trigger the rule.
3447
3522
 
3448
3523
 
3449
- You can add add filters using the syntax `facet:value` so that the rule is triggered, when the specific filter is selected.
3524
+ You can add filters using the syntax `facet:value` so that the rule is triggered, when the specific filter is selected.
3450
3525
 
3451
3526
  You can use `filters` on its own or combine it with the `pattern` parameter.
3527
+
3528
+ You can't combine multiple filters with `OR` and you can't use numeric filters.
3452
3529
 
3453
3530
  example: genre:comedy
3454
3531
  editType:
@@ -3666,6 +3743,7 @@ components:
3666
3743
  required:
3667
3744
  - objectID
3668
3745
  userData:
3746
+ type: object
3669
3747
  description: >
3670
3748
  A JSON object with custom data that will be appended to the `userData` array in the response.
3671
3749
 
@@ -3680,9 +3758,11 @@ components:
3680
3758
  properties:
3681
3759
  from:
3682
3760
  type: integer
3761
+ format: int64
3683
3762
  description: When the rule should start to be active, in Unix epoch time.
3684
3763
  until:
3685
3764
  type: integer
3765
+ format: int64
3686
3766
  description: When the rule should stop to be active, in Unix epoch time.
3687
3767
  required:
3688
3768
  - from
@@ -3726,32 +3806,45 @@ components:
3726
3806
  $ref: '#/components/schemas/timeRange'
3727
3807
  required:
3728
3808
  - objectID
3729
- updatedRuleResponse:
3730
- type: object
3731
- additionalProperties: false
3732
- properties:
3733
- objectID:
3734
- $ref: '#/components/schemas/ruleID'
3735
- updatedAt:
3736
- $ref: '#/components/schemas/updatedAt'
3737
- taskID:
3738
- $ref: '#/components/schemas/taskID'
3739
- required:
3740
- - objectID
3741
- - updatedAt
3742
- - taskID
3809
+ - consequence
3743
3810
  parameters_query:
3744
3811
  type: string
3745
3812
  description: Search query for rules.
3746
3813
  parameters_page:
3747
3814
  type: integer
3748
3815
  minimum: 0
3749
- description: Requested page of the API response.
3816
+ description: >
3817
+ Requested page of the API response.
3818
+
3819
+
3820
+ Algolia uses `page` and `hitsPerPage` to control how search results are displayed ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)).
3821
+
3822
+
3823
+ - `hitsPerPage`: sets the number of search results (_hits_) displayed per page.
3824
+
3825
+ - `page`: specifies the page number of the search results you want to retrieve. Page numbering starts at 0, so the first page is `page=0`, the second is `page=1`, and so on.
3826
+
3827
+
3828
+ For example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.
3829
+
3750
3830
  parameters_hitsPerPage:
3751
3831
  type: integer
3752
3832
  minimum: 1
3753
3833
  maximum: 1000
3754
- description: Maximum number of hits per page.
3834
+ description: >
3835
+ Maximum number of hits per page.
3836
+
3837
+
3838
+ Algolia uses `page` and `hitsPerPage` to control how search results are displayed ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)).
3839
+
3840
+
3841
+ - `hitsPerPage`: sets the number of search results (_hits_) displayed per page.
3842
+
3843
+ - `page`: specifies the page number of the search results you want to retrieve. Page numbering starts at 0, so the first page is `page=0`, the second is `page=1`, and so on.
3844
+
3845
+
3846
+ For example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.
3847
+
3755
3848
  dictionaryType:
3756
3849
  type: string
3757
3850
  enum:
@@ -3851,6 +3944,7 @@ components:
3851
3944
  type: boolean
3852
3945
  - type: 'null'
3853
3946
  standardEntries:
3947
+ type: object
3854
3948
  description: >
3855
3949
  Key-value pairs of [supported language ISO codes](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/) and boolean values.
3856
3950
 
@@ -3931,6 +4025,7 @@ components:
3931
4025
  description: Data size taken by all the users assigned to the cluster.
3932
4026
  example: 481
3933
4027
  source:
4028
+ type: object
3934
4029
  description: Source.
3935
4030
  required:
3936
4031
  - source
@@ -4221,7 +4316,7 @@ components:
4221
4316
  required: true
4222
4317
  schema:
4223
4318
  type: string
4224
- example: YourIndexName
4319
+ example: ALGOLIA_INDEX_NAME
4225
4320
  ObjectID:
4226
4321
  name: objectID
4227
4322
  in: path
@@ -4258,7 +4353,7 @@ components:
4258
4353
  required: true
4259
4354
  schema:
4260
4355
  type: string
4261
- example: YourAPIKey
4356
+ example: ALGOLIA_API_KEY
4262
4357
  description: API key.
4263
4358
  ObjectIDRule:
4264
4359
  in: path
@@ -4396,6 +4491,18 @@ components:
4396
4491
  properties:
4397
4492
  createdAt:
4398
4493
  $ref: '#/components/schemas/createdAt'
4494
+ IndexInSameApp:
4495
+ description: Indices are in the same application. Use operationIndex instead.
4496
+ content:
4497
+ application/json:
4498
+ schema:
4499
+ $ref: '#/components/schemas/ErrorBase'
4500
+ IndexAlreadyExists:
4501
+ description: Destination index already exists.
4502
+ content:
4503
+ application/json:
4504
+ schema:
4505
+ $ref: '#/components/schemas/ErrorBase'
4399
4506
  x-tagGroups:
4400
4507
  - name: Search and indexing
4401
4508
  tags: