@algolia/n8n-nodes-algolia 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.2",
3
3
  "info": {
4
4
  "title": "Recommend API",
5
- "description": "The Recommend API lets you retrieve recommendations from one of Algolia's AI recommendation models that you previously trained on your data.\n\n## Client libraries\n\nUse Algolia's API clients and libraries to reliably integrate Algolia's APIs with your apps.\nThe official API clients are covered by Algolia's [Service Level Agreement](https://www.algolia.com/policies/sla/).\n\nSee: [Algolia's ecosystem](https://www.algolia.com/doc/guides/getting-started/how-algolia-works/in-depth/ecosystem/)\n\n## Base URLs\n\nThe base URLs for requests to the Recommend API are:\n\n- `https://{APPLICATION_ID}.algolia.net`\n- `https://{APPLICATION_ID}-dsn.algolia.net`.\n If your subscription includes a [Distributed Search Network](https://dashboard.algolia.com/infra),\n this ensures that requests are sent to servers closest to users.\n\nBoth URLs provide high availability by distributing requests with load balancing.\n\n**All requests must use HTTPS.**\n\n## Retry strategy\n\nTo guarantee a high availability, implement a retry strategy for all API requests using the URLs of your servers as fallbacks:\n\n- `https://{APPLICATION_ID}-1.algolianet.com`\n- `https://{APPLICATION_ID}-2.algolianet.com`\n- `https://{APPLICATION_ID}-3.algolianet.com`\n\nThese URLs use a different DNS provider than the primary URLs.\nYou should randomize this list to ensure an even load across the three servers.\n\nAll Algolia API clients implement this retry strategy.\n\n## Authentication\n\nTo authenticate your API requests, add these headers:\n\n- `x-algolia-application-id`. Your Algolia application ID.\n- `x-algolia-api-key`. An API key with the necessary permissions to make the request.\n The required access control list (ACL) to make a request is listed in each endpoint's reference.\n\nYou can find your application ID and API key in the [Algolia dashboard](https://dashboard.algolia.com/account).\n\n## Request format\n\nRequest bodies must be JSON objects.\n\n## Response status and errors\n\nThe Recommend API returns JSON responses.\nSince JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response.\n\nSuccessful responses return a `2xx` status. Client errors return a `4xx` status. Server errors are indicated by a `5xx` status.\nError responses have a `message` property with more information.\n\n## Version\n\nThe current version of the Recommend API is version 1, as indicated by the `/1/` in each endpoint's URL.\n",
5
+ "description": "The Recommend API lets you retrieve recommendations from one of Algolia's AI recommendation models that you previously trained on your data.\n\n## Client libraries\n\nUse Algolia's API clients and libraries to reliably integrate Algolia's APIs with your apps.\nThe official API clients are covered by Algolia's [Service Level Agreement](https://www.algolia.com/policies/sla).\n\nSee: [Algolia's ecosystem](https://www.algolia.com/doc/guides/getting-started/how-algolia-works/in-depth/ecosystem)\n\n## Base URLs\n\nThe base URLs for requests to the Recommend API are:\n\n- `https://{APPLICATION_ID}.algolia.net`\n- `https://{APPLICATION_ID}-dsn.algolia.net`.\n If your subscription includes a [Distributed Search Network](https://dashboard.algolia.com/infra),\n this ensures that requests are sent to servers closest to users.\n\nBoth URLs provide high availability by distributing requests with load balancing.\n\n**All requests must use HTTPS.**\n\n## Retry strategy\n\nTo guarantee a high availability, implement a retry strategy for all API requests using the URLs of your servers as fallbacks:\n\n- `https://{APPLICATION_ID}-1.algolianet.com`\n- `https://{APPLICATION_ID}-2.algolianet.com`\n- `https://{APPLICATION_ID}-3.algolianet.com`\n\nThese URLs use a different DNS provider than the primary URLs.\nYou should randomize this list to ensure an even load across the three servers.\n\nAll Algolia API clients implement this retry strategy.\n\n## Authentication\n\nTo authenticate your API requests, add these headers:\n\n- `x-algolia-application-id`. Your Algolia application ID.\n- `x-algolia-api-key`. An API key with the necessary permissions to make the request.\n The required access control list (ACL) to make a request is listed in each endpoint's reference.\n\nYou can find your application ID and API key in the [Algolia dashboard](https://dashboard.algolia.com/account).\n\n## Request format\n\nRequest bodies must be JSON objects.\n\n## Response status and errors\n\nThe Recommend API returns JSON responses.\nSince JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response.\n\nSuccessful responses return a `2xx` status. Client errors return a `4xx` status. Server errors are indicated by a `5xx` status.\nError responses have a `message` property with more information.\n\n## Version\n\nThe current version of the Recommend API is version 1, as indicated by the `/1/` in each endpoint's URL.\n",
6
6
  "version": "1.0.0"
7
7
  },
8
8
  "servers": [
@@ -57,10 +57,10 @@
57
57
  {
58
58
  "name": "recommendations",
59
59
  "x-displayName": "Recommendations",
60
- "description": "Retrieve recommendations from a pre-trained AI model. You can train models in the [Algolia dashboard](https://dashboard.algolia.com/recommend/).",
60
+ "description": "Retrieve recommendations from a pre-trained AI model. You can train models in the [Algolia dashboard](https://dashboard.algolia.com/recommend).",
61
61
  "externalDocs": {
62
- "url": "https://www.algolia.com/doc/guides/algolia-recommend/overview/",
63
- "description": "Related guide: Algolia Recommend.\n"
62
+ "url": "https://www.algolia.com/doc/guides/algolia-recommend/overview",
63
+ "description": "Algolia Recommend."
64
64
  }
65
65
  },
66
66
  {
@@ -68,8 +68,8 @@
68
68
  "x-displayName": "Rules",
69
69
  "description": "Curate your recommendations with rules, which are _if_-_then_ statements.",
70
70
  "externalDocs": {
71
- "url": "https://www.algolia.com/doc/guides/algolia-recommend/how-to/rules/",
72
- "description": "Related guide: Recommend Rules.\n"
71
+ "url": "https://www.algolia.com/doc/guides/algolia-recommend/how-to/rules",
72
+ "description": "Recommend Rules."
73
73
  }
74
74
  }
75
75
  ],
@@ -246,15 +246,11 @@
246
246
  },
247
247
  "/1/indexes/*/recommendations": {
248
248
  "post": {
249
- "tags": [
250
- "recommendations"
251
- ],
249
+ "tags": ["recommendations"],
252
250
  "operationId": "getRecommendations",
253
251
  "x-use-read-transporter": true,
254
252
  "x-cacheable": true,
255
- "x-acl": [
256
- "search"
257
- ],
253
+ "x-acl": ["search"],
258
254
  "x-legacy-signature-recommend": true,
259
255
  "summary": "Retrieve recommendations",
260
256
  "description": "Retrieves recommendations from selected AI models.\n",
@@ -276,9 +272,7 @@
276
272
  }
277
273
  }
278
274
  },
279
- "required": [
280
- "requests"
281
- ]
275
+ "required": ["requests"]
282
276
  }
283
277
  }
284
278
  }
@@ -300,9 +294,7 @@
300
294
  }
301
295
  }
302
296
  },
303
- "required": [
304
- "results"
305
- ]
297
+ "required": ["results"]
306
298
  }
307
299
  }
308
300
  }
@@ -324,13 +316,9 @@
324
316
  },
325
317
  "/1/indexes/{indexName}/{model}/recommend/rules/{objectID}": {
326
318
  "get": {
327
- "tags": [
328
- "rules"
329
- ],
319
+ "tags": ["rules"],
330
320
  "operationId": "getRecommendRule",
331
- "x-acl": [
332
- "settings"
333
- ],
321
+ "x-acl": ["settings"],
334
322
  "summary": "Retrieve a rule",
335
323
  "description": "Retrieves a Recommend rule that you previously created in the Algolia dashboard.",
336
324
  "parameters": [
@@ -370,13 +358,9 @@
370
358
  }
371
359
  },
372
360
  "delete": {
373
- "tags": [
374
- "rules"
375
- ],
361
+ "tags": ["rules"],
376
362
  "operationId": "deleteRecommendRule",
377
- "x-acl": [
378
- "editSettings"
379
- ],
363
+ "x-acl": ["editSettings"],
380
364
  "summary": "Delete a rule",
381
365
  "description": "Deletes a Recommend rule from a recommendation scenario.",
382
366
  "parameters": [
@@ -411,13 +395,9 @@
411
395
  },
412
396
  "/1/indexes/{indexName}/{model}/task/{taskID}": {
413
397
  "get": {
414
- "tags": [
415
- "rules"
416
- ],
398
+ "tags": ["rules"],
417
399
  "operationId": "getRecommendStatus",
418
- "x-acl": [
419
- "editSettings"
420
- ],
400
+ "x-acl": ["editSettings"],
421
401
  "summary": "Check task status",
422
402
  "description": "Checks the status of a given task.\n\nDeleting a Recommend rule is asynchronous.\nWhen you delete a rule, a task is created on a queue and completed depending on the load on the server.\nThe API response includes a task ID that you can use to check the status.\n",
423
403
  "parameters": [
@@ -451,9 +431,7 @@
451
431
  "$ref": "#/components/schemas/taskStatus"
452
432
  }
453
433
  },
454
- "required": [
455
- "status"
456
- ]
434
+ "required": ["status"]
457
435
  }
458
436
  }
459
437
  }
@@ -475,15 +453,11 @@
475
453
  },
476
454
  "/1/indexes/{indexName}/{model}/recommend/rules/search": {
477
455
  "post": {
478
- "tags": [
479
- "rules"
480
- ],
456
+ "tags": ["rules"],
481
457
  "operationId": "searchRecommendRules",
482
458
  "x-use-read-transporter": true,
483
459
  "x-cacheable": true,
484
- "x-acl": [
485
- "settings"
486
- ],
460
+ "x-acl": ["settings"],
487
461
  "summary": "Search for rules",
488
462
  "description": "Searches for Recommend rules.\n\nUse an empty query to list all rules for this recommendation scenario.\n",
489
463
  "parameters": [
@@ -529,9 +503,7 @@
529
503
  "facets": {
530
504
  "type": "array",
531
505
  "description": "Include facets and facet values in the response. Use `['*']` to include all facets.",
532
- "example": [
533
- "*"
534
- ],
506
+ "example": ["*"],
535
507
  "items": {
536
508
  "type": "string",
537
509
  "description": "Facet name for rule objects or `*` as wildcard character.",
@@ -558,12 +530,7 @@
558
530
  "title": "searchRecommendRulesResponse",
559
531
  "type": "object",
560
532
  "additionalProperties": false,
561
- "required": [
562
- "hits",
563
- "nbHits",
564
- "page",
565
- "nbPages"
566
- ],
533
+ "required": ["hits", "nbHits", "page", "nbPages"],
567
534
  "properties": {
568
535
  "hits": {
569
536
  "type": "array",
@@ -603,13 +570,9 @@
603
570
  },
604
571
  "/1/indexes/{indexName}/{model}/recommend/rules/batch": {
605
572
  "post": {
606
- "tags": [
607
- "rules"
608
- ],
573
+ "tags": ["rules"],
609
574
  "operationId": "batchRecommendRules",
610
- "x-acl": [
611
- "editSettings"
612
- ],
575
+ "x-acl": ["editSettings"],
613
576
  "summary": "Create or update a batch of Recommend Rules",
614
577
  "description": "Create or update a batch of Recommend Rules\n\nEach Recommend Rule is created or updated, depending on whether a Recommend Rule with the same `objectID` already exists.\nYou may also specify `true` for `clearExistingRules`, in which case the batch will atomically replace all the existing Recommend Rules.\n\nRecommend Rules are similar to Search Rules, except that the conditions and consequences apply to a [source item](/doc/guides/algolia-recommend/overview/#recommend-models) instead of a query. The main differences are the following:\n- Conditions `pattern` and `anchoring` are unavailable.\n- Condition `filters` triggers if the source item matches the specified filters.\n- Condition `filters` accepts numeric filters.\n- Consequence `params` only covers filtering parameters.\n- Consequence `automaticFacetFilters` doesn't require a facet value placeholder (it tries to match the data source item's attributes instead).\n",
615
578
  "parameters": [
@@ -648,9 +611,7 @@
648
611
  "get": {
649
612
  "x-helper": true,
650
613
  "x-asynchronous-helper": false,
651
- "tags": [
652
- "Api Key"
653
- ],
614
+ "tags": ["Api Key"],
654
615
  "operationId": "setClientApiKey",
655
616
  "summary": "Switch the API key used to authenticate requests",
656
617
  "description": "Switch the API key used to authenticate requests.\n",
@@ -760,27 +721,17 @@
760
721
  "description": "Keywords to be used instead of the search query to conduct a more broader search\nUsing the `similarQuery` parameter changes other settings\n- `queryType` is set to `prefixNone`.\n- `removeStopWords` is set to true.\n- `words` is set as the first ranking criterion.\n- All remaining words are treated as `optionalWords`\nSince the `similarQuery` is supposed to do a broad search, they usually return many results.\nCombine it with `filters` to narrow down the list of results.\n",
761
722
  "default": "",
762
723
  "example": "comedy drama crime Macy Buscemi",
763
- "x-categories": [
764
- "Search"
765
- ]
724
+ "x-categories": ["Search"]
766
725
  },
767
726
  "filters": {
768
727
  "type": "string",
769
- "description": "Filter expression to only include items that match the filter criteria in the response.\n\nYou can use these filter expressions:\n\n- **Numeric filters.** `<facet> <op> <number>`, where `<op>` is one of `<`, `<=`, `=`, `!=`, `>`, `>=`.\n- **Ranges.** `<facet>:<lower> TO <upper>` where `<lower>` and `<upper>` are the lower and upper limits of the range (inclusive).\n- **Facet filters.** `<facet>:<value>` where `<facet>` is a facet attribute (case-sensitive) and `<value>` a facet value.\n- **Tag filters.** `_tags:<value>` or just `<value>` (case-sensitive).\n- **Boolean filters.** `<facet>: true | false`.\n\nYou can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions:\n\n- You can only combine filters of the same type with `OR`.\n **Not supported:** `facet:value OR num > 3`.\n- You can't use `NOT` with combinations of filters.\n **Not supported:** `NOT(facet:value OR facet:value)`\n- You can't combine conjunctions (`AND`) with `OR`.\n **Not supported:** `facet:value OR (facet:value AND facet:value)`\n\nUse quotes around your filters, if the facet attribute name or facet value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes.\nIf a facet attribute is an array, the filter matches if it matches at least one element of the array.\n\nFor more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/).\n",
728
+ "description": "Filter expression to only include items that match the filter criteria in the response.\n\nYou can use these filter expressions:\n\n- **Numeric filters.** `<facet> <op> <number>`, where `<op>` is one of `<`, `<=`, `=`, `!=`, `>`, `>=`.\n- **Ranges.** `<facet>:<lower> TO <upper>` where `<lower>` and `<upper>` are the lower and upper limits of the range (inclusive).\n- **Facet filters.** `<facet>:<value>` where `<facet>` is a facet attribute (case-sensitive) and `<value>` a facet value.\n- **Tag filters.** `_tags:<value>` or just `<value>` (case-sensitive).\n- **Boolean filters.** `<facet>: true | false`.\n\nYou can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions:\n\n- You can only combine filters of the same type with `OR`.\n **Not supported:** `facet:value OR num > 3`.\n- You can't use `NOT` with combinations of filters.\n **Not supported:** `NOT(facet:value OR facet:value)`\n- You can't combine conjunctions (`AND`) with `OR`.\n **Not supported:** `facet:value OR (facet:value AND facet:value)`\n\nUse quotes around your filters, if the facet attribute name or facet value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes.\nIf a facet attribute is an array, the filter matches if it matches at least one element of the array.\n\nFor more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering).\n",
770
729
  "example": "(category:Book OR category:Ebook) AND _tags:published",
771
- "x-categories": [
772
- "Filtering"
773
- ]
730
+ "x-categories": ["Filtering"]
774
731
  },
775
732
  "facetFilters": {
776
733
  "description": "Filter the search by facet values, so that only records with the same facet values are retrieved.\n\n**Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**\n\n- `[filter1, filter2]` is interpreted as `filter1 AND filter2`.\n- `[[filter1, filter2], filter3]` is interpreted as `filter1 OR filter2 AND filter3`.\n- `facet:-value` is interpreted as `NOT facet:value`.\n\nWhile it's best to avoid attributes that start with a `-`, you can still filter them by escaping with a backslash:\n`facet:\\-value`.\n",
777
- "example": [
778
- [
779
- "category:Book",
780
- "category:-Movie"
781
- ],
782
- "author:John Doe"
783
- ],
734
+ "example": [["category:Book", "category:-Movie"], "author:John Doe"],
784
735
  "oneOf": [
785
736
  {
786
737
  "type": "array",
@@ -792,16 +743,11 @@
792
743
  "type": "string"
793
744
  }
794
745
  ],
795
- "x-categories": [
796
- "Filtering"
797
- ]
746
+ "x-categories": ["Filtering"]
798
747
  },
799
748
  "optionalFilters": {
800
- "description": "Filters to promote or demote records in the search results.\n\nOptional filters work like facet filters, but they don't exclude records from the search results.\nRecords that match the optional filter rank before records that don't match.\nIf you're using a negative filter `facet:-value`, matching records rank after records that don't match.\n\n- Optional filters don't work on virtual replicas.\n- Optional filters are applied _after_ sort-by attributes.\n- 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/)).\n- Optional filters don't work with numeric attributes.\n",
801
- "example": [
802
- "category:Book",
803
- "author:John Doe"
804
- ],
749
+ "description": "Filters to promote or demote records in the search results.\n\nOptional filters work like facet filters, but they don't exclude records from the search results.\nRecords that match the optional filter rank before records that don't match.\nIf you're using a negative filter `facet:-value`, matching records rank after records that don't match.\n\n- Optional filters don't work on virtual replicas.\n- Optional filters are applied _after_ sort-by attributes.\n- 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)).\n- Optional filters don't work with numeric attributes.\n",
750
+ "example": ["category:Book", "author:John Doe"],
805
751
  "oneOf": [
806
752
  {
807
753
  "type": "array",
@@ -813,19 +759,11 @@
813
759
  "type": "string"
814
760
  }
815
761
  ],
816
- "x-categories": [
817
- "Filtering"
818
- ]
762
+ "x-categories": ["Filtering"]
819
763
  },
820
764
  "numericFilters": {
821
765
  "description": "Filter by numeric facets.\n\n**Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**\n\nYou can use numeric comparison operators: `<`, `<=`, `=`, `!=`, `>`, `>=`.\nComparisons are precise up to 3 decimals.\nYou can also provide ranges: `facet:<lower> TO <upper>`. The range includes the lower and upper boundaries.\nThe same combination rules apply as for `facetFilters`.\n",
822
- "example": [
823
- [
824
- "inStock = 1",
825
- "deliveryDate < 1441755506"
826
- ],
827
- "price < 1000"
828
- ],
766
+ "example": [["inStock = 1", "deliveryDate < 1441755506"], "price < 1000"],
829
767
  "oneOf": [
830
768
  {
831
769
  "type": "array",
@@ -837,19 +775,11 @@
837
775
  "type": "string"
838
776
  }
839
777
  ],
840
- "x-categories": [
841
- "Filtering"
842
- ]
778
+ "x-categories": ["Filtering"]
843
779
  },
844
780
  "tagFilters": {
845
781
  "description": "Filter the search by values of the special `_tags` attribute.\n\n**Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**\n\nDifferent from regular facets, `_tags` can only be used for filtering (including or excluding records).\nYou won't get a facet count.\nThe same combination and escaping rules apply as for `facetFilters`.\n",
846
- "example": [
847
- [
848
- "Book",
849
- "Movie"
850
- ],
851
- "SciFi"
852
- ],
782
+ "example": [["Book", "Movie"], "SciFi"],
853
783
  "oneOf": [
854
784
  {
855
785
  "type": "array",
@@ -861,32 +791,23 @@
861
791
  "type": "string"
862
792
  }
863
793
  ],
864
- "x-categories": [
865
- "Filtering"
866
- ]
794
+ "x-categories": ["Filtering"]
867
795
  },
868
796
  "sumOrFiltersScores": {
869
797
  "type": "boolean",
870
798
  "description": "Whether to sum all filter scores\nIf true, all filter scores are summed.\nOtherwise, the maximum filter score is kept.\nFor more information, see [filter scores](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring/#accumulating-scores-with-sumorfiltersscores).\n",
871
799
  "default": false,
872
- "x-categories": [
873
- "Filtering"
874
- ]
800
+ "x-categories": ["Filtering"]
875
801
  },
876
802
  "restrictSearchableAttributes": {
877
803
  "type": "array",
878
804
  "items": {
879
805
  "type": "string"
880
806
  },
881
- "example": [
882
- "title",
883
- "author"
884
- ],
807
+ "example": ["title", "author"],
885
808
  "description": "Restricts a search to a subset of your searchable attributes.\nAttribute names are case-sensitive.\n",
886
809
  "default": [],
887
- "x-categories": [
888
- "Filtering"
889
- ]
810
+ "x-categories": ["Filtering"]
890
811
  },
891
812
  "facets": {
892
813
  "type": "array",
@@ -895,45 +816,33 @@
895
816
  },
896
817
  "description": "Facets for which to retrieve facet values that match the search criteria and the number of matching facet values\nTo retrieve all facets, use the wildcard character `*`.\nFor more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts).\n",
897
818
  "default": [],
898
- "example": [
899
- "*"
900
- ],
901
- "x-categories": [
902
- "Faceting"
903
- ]
819
+ "example": ["*"],
820
+ "x-categories": ["Faceting"]
904
821
  },
905
822
  "facetingAfterDistinct": {
906
823
  "type": "boolean",
907
824
  "description": "Whether faceting should be applied after deduplication with `distinct`\nThis leads to accurate facet counts when using faceting in combination with `distinct`.\nIt's usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting,\nas `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`.\n",
908
825
  "default": false,
909
- "x-categories": [
910
- "Faceting"
911
- ]
826
+ "x-categories": ["Faceting"]
912
827
  },
913
828
  "aroundLatLng": {
914
829
  "type": "string",
915
830
  "description": "Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude.\n\nOnly records included within a circle around this central location are included in the results.\nThe radius of the circle is determined by the `aroundRadius` and `minimumAroundRadius` settings.\nThis parameter is ignored if you also specify `insidePolygon` or `insideBoundingBox`.\n",
916
831
  "example": "40.71,-74.01",
917
832
  "default": "",
918
- "x-categories": [
919
- "Geo-Search"
920
- ]
833
+ "x-categories": ["Geo-Search"]
921
834
  },
922
835
  "aroundLatLngViaIP": {
923
836
  "type": "boolean",
924
837
  "description": "Whether to obtain the coordinates from the request's IP address.",
925
838
  "default": false,
926
- "x-categories": [
927
- "Geo-Search"
928
- ]
839
+ "x-categories": ["Geo-Search"]
929
840
  },
930
841
  "aroundRadiusAll": {
931
842
  "title": "all",
932
843
  "type": "string",
933
844
  "description": "Return all records with a valid `_geoloc` attribute. Don't filter by distance.",
934
- "enum": [
935
- "all"
936
- ]
845
+ "enum": ["all"]
937
846
  },
938
847
  "aroundRadius": {
939
848
  "description": "Maximum radius for a search around a central location.\n\nThis parameter works in combination with the `aroundLatLng` and `aroundLatLngViaIP` parameters.\nBy default, the search radius is determined automatically from the density of hits around the central location.\nThe search radius is small if there are many hits close to the central coordinates.\n",
@@ -947,9 +856,7 @@
947
856
  "$ref": "#/components/schemas/aroundRadiusAll"
948
857
  }
949
858
  ],
950
- "x-categories": [
951
- "Geo-Search"
952
- ]
859
+ "x-categories": ["Geo-Search"]
953
860
  },
954
861
  "aroundPrecisionFromValue": {
955
862
  "title": "range objects",
@@ -983,17 +890,13 @@
983
890
  "$ref": "#/components/schemas/aroundPrecisionFromValue"
984
891
  }
985
892
  ],
986
- "x-categories": [
987
- "Geo-Search"
988
- ]
893
+ "x-categories": ["Geo-Search"]
989
894
  },
990
895
  "minimumAroundRadius": {
991
896
  "type": "integer",
992
897
  "description": "Minimum radius (in meters) for a search around a location when `aroundRadius` isn't set.",
993
898
  "minimum": 1,
994
- "x-categories": [
995
- "Geo-Search"
996
- ]
899
+ "x-categories": ["Geo-Search"]
997
900
  },
998
901
  "insideBoundingBoxArray": {
999
902
  "type": "array",
@@ -1008,22 +911,10 @@
1008
911
  },
1009
912
  "description": "Coordinates for a rectangular area in which to search.\n\nEach bounding box is defined by the two opposite points of its diagonal, and expressed as latitude and longitude pair:\n`[p1 lat, p1 long, p2 lat, p2 long]`.\nProvide multiple bounding boxes as nested arrays.\nFor more information, see [rectangular area](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).\n",
1010
913
  "example": [
1011
- [
1012
- 47.3165,
1013
- 4.9665,
1014
- 47.3424,
1015
- 5.0201
1016
- ],
1017
- [
1018
- 40.9234,
1019
- 2.1185,
1020
- 38.643,
1021
- 1.9916
1022
- ]
914
+ [47.3165, 4.9665, 47.3424, 5.0201],
915
+ [40.9234, 2.1185, 38.643, 1.9916]
1023
916
  ],
1024
- "x-categories": [
1025
- "Geo-Search"
1026
- ]
917
+ "x-categories": ["Geo-Search"]
1027
918
  },
1028
919
  "insideBoundingBox": {
1029
920
  "oneOf": [
@@ -1051,26 +942,10 @@
1051
942
  },
1052
943
  "description": "Coordinates of a polygon in which to search.\n\nPolygons are defined by 3 to 10,000 points. Each point is represented by its latitude and longitude.\nProvide multiple polygons as nested arrays.\nFor more information, see [filtering inside polygons](https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/#filtering-inside-rectangular-or-polygonal-areas).\nThis parameter is ignored if you also specify `insideBoundingBox`.\n",
1053
944
  "example": [
1054
- [
1055
- 47.3165,
1056
- 4.9665,
1057
- 47.3424,
1058
- 5.0201,
1059
- 47.32,
1060
- 4.9
1061
- ],
1062
- [
1063
- 40.9234,
1064
- 2.1185,
1065
- 38.643,
1066
- 1.9916,
1067
- 39.2587,
1068
- 2.0104
1069
- ]
945
+ [47.3165, 4.9665, 47.3424, 5.0201, 47.32, 4.9],
946
+ [40.9234, 2.1185, 38.643, 1.9916, 39.2587, 2.0104]
1070
947
  ],
1071
- "x-categories": [
1072
- "Geo-Search"
1073
- ]
948
+ "x-categories": ["Geo-Search"]
1074
949
  },
1075
950
  "supportedLanguage": {
1076
951
  "type": "string",
@@ -1153,9 +1028,7 @@
1153
1028
  },
1154
1029
  "description": "ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches)\n- Sets `removeStopWords` and `ignorePlurals` to the list of provided languages.\n- Sets `removeWordsIfNoResults` to `allOptional`.\n- Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`.\n",
1155
1030
  "default": [],
1156
- "x-categories": [
1157
- "Languages"
1158
- ]
1031
+ "x-categories": ["Languages"]
1159
1032
  },
1160
1033
  "ruleContexts": {
1161
1034
  "type": "array",
@@ -1164,12 +1037,8 @@
1164
1037
  },
1165
1038
  "description": "Assigns a rule context to the search query\n[Rule contexts](https://www.algolia.com/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform/#whats-a-context) are strings that you can use to trigger matching rules.\n",
1166
1039
  "default": [],
1167
- "example": [
1168
- "mobile"
1169
- ],
1170
- "x-categories": [
1171
- "Rules"
1172
- ]
1040
+ "example": ["mobile"],
1041
+ "x-categories": ["Rules"]
1173
1042
  },
1174
1043
  "personalizationImpact": {
1175
1044
  "type": "integer",
@@ -1177,73 +1046,57 @@
1177
1046
  "default": 100,
1178
1047
  "minimum": 0,
1179
1048
  "maximum": 100,
1180
- "x-categories": [
1181
- "Personalization"
1182
- ]
1049
+ "x-categories": ["Personalization"]
1183
1050
  },
1184
1051
  "userToken": {
1185
1052
  "type": "string",
1186
- "description": "Unique pseudonymous or anonymous user identifier.\n\nThis helps with analytics and click and conversion events.\nFor more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/).\n",
1053
+ "description": "Unique pseudonymous or anonymous user identifier.\n\nThis helps with analytics and click and conversion events.\nFor more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken).\n",
1187
1054
  "example": "test-user-123",
1188
- "x-categories": [
1189
- "Personalization"
1190
- ]
1055
+ "x-categories": ["Personalization"]
1191
1056
  },
1192
1057
  "getRankingInfo": {
1193
1058
  "type": "boolean",
1194
1059
  "description": "Whether the search response should include detailed ranking information.",
1195
1060
  "default": false,
1196
- "x-categories": [
1197
- "Advanced"
1198
- ]
1061
+ "x-categories": ["Advanced"]
1199
1062
  },
1200
1063
  "synonyms": {
1201
1064
  "type": "boolean",
1202
1065
  "description": "Whether to take into account an index's synonyms for this search.",
1203
1066
  "default": true,
1204
- "x-categories": [
1205
- "Advanced"
1206
- ]
1067
+ "x-categories": ["Advanced"]
1207
1068
  },
1208
1069
  "clickAnalytics": {
1209
1070
  "type": "boolean",
1210
- "description": "Whether to include a `queryID` attribute in the response\nThe query ID is a unique identifier for a search query and is required for tracking [click and conversion events](https://www.algolia.com/guides/sending-events/getting-started/).\n",
1071
+ "description": "Whether to include a `queryID` attribute in the response\nThe query ID is a unique identifier for a search query and is required for tracking [click and conversion events](https://www.algolia.com/guides/sending-events/getting-started).\n",
1211
1072
  "default": false,
1212
- "x-categories": [
1213
- "Analytics"
1214
- ]
1073
+ "x-categories": ["Analytics"]
1215
1074
  },
1216
1075
  "analytics": {
1217
1076
  "type": "boolean",
1218
1077
  "description": "Whether this search will be included in Analytics.",
1219
1078
  "default": true,
1220
- "x-categories": [
1221
- "Analytics"
1222
- ]
1079
+ "x-categories": ["Analytics"]
1223
1080
  },
1224
1081
  "analyticsTags": {
1225
1082
  "type": "array",
1226
1083
  "items": {
1227
1084
  "type": "string"
1228
1085
  },
1229
- "description": "Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments/).",
1086
+ "description": "Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments).",
1230
1087
  "default": []
1231
1088
  },
1232
1089
  "percentileComputation": {
1233
1090
  "type": "boolean",
1234
1091
  "description": "Whether to include this search when calculating processing-time percentiles.",
1235
1092
  "default": true,
1236
- "x-categories": [
1237
- "Advanced"
1238
- ]
1093
+ "x-categories": ["Advanced"]
1239
1094
  },
1240
1095
  "enableABTest": {
1241
1096
  "type": "boolean",
1242
1097
  "description": "Whether to enable A/B testing for this search.",
1243
1098
  "default": true,
1244
- "x-categories": [
1245
- "Advanced"
1246
- ]
1099
+ "x-categories": ["Advanced"]
1247
1100
  },
1248
1101
  "baseRecommendSearchParams": {
1249
1102
  "type": "object",
@@ -1339,9 +1192,7 @@
1339
1192
  "type": "string",
1340
1193
  "description": "Search query.",
1341
1194
  "default": "",
1342
- "x-categories": [
1343
- "Search"
1344
- ]
1195
+ "x-categories": ["Search"]
1345
1196
  },
1346
1197
  "searchParamsQuery": {
1347
1198
  "type": "object",
@@ -1359,18 +1210,14 @@
1359
1210
  },
1360
1211
  "description": "An object with custom data.\n\nYou can store up to 32kB as custom data.\n",
1361
1212
  "default": {},
1362
- "x-categories": [
1363
- "Advanced"
1364
- ]
1213
+ "x-categories": ["Advanced"]
1365
1214
  },
1366
1215
  "maxFacetHits": {
1367
1216
  "type": "integer",
1368
1217
  "description": "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).",
1369
1218
  "maximum": 100,
1370
1219
  "default": 10,
1371
- "x-categories": [
1372
- "Advanced"
1373
- ]
1220
+ "x-categories": ["Advanced"]
1374
1221
  },
1375
1222
  "baseIndexSettings": {
1376
1223
  "type": "object",
@@ -1388,26 +1235,19 @@
1388
1235
  "afterDistinct(category)",
1389
1236
  "afterDistinct(searchable(publisher))"
1390
1237
  ],
1391
- "description": "Attributes used for [faceting](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/).\n\nFacets are attributes that let you categorize search results.\nThey can be used for filtering search results.\nBy default, no attribute is used for faceting.\nAttribute names are case-sensitive.\n\n**Modifiers**\n\n- `filterOnly(\"ATTRIBUTE\")`.\n Allows the attribute to be used as a filter but doesn't evaluate the facet values.\n\n- `searchable(\"ATTRIBUTE\")`.\n Allows searching for facet values.\n\n- `afterDistinct(\"ATTRIBUTE\")`.\n Evaluates the facet count _after_ deduplication with `distinct`.\n This ensures accurate facet counts.\n You can apply this modifier to searchable facets: `afterDistinct(searchable(ATTRIBUTE))`.\n",
1238
+ "description": "Attributes used for [faceting](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting).\n\nFacets are attributes that let you categorize search results.\nThey can be used for filtering search results.\nBy default, no attribute is used for faceting.\nAttribute names are case-sensitive.\n\n**Modifiers**\n\n- `filterOnly(\"ATTRIBUTE\")`.\n Allows the attribute to be used as a filter but doesn't evaluate the facet values.\n\n- `searchable(\"ATTRIBUTE\")`.\n Allows searching for facet values.\n\n- `afterDistinct(\"ATTRIBUTE\")`.\n Evaluates the facet count _after_ deduplication with `distinct`.\n This ensures accurate facet counts.\n You can apply this modifier to searchable facets: `afterDistinct(searchable(ATTRIBUTE))`.\n",
1392
1239
  "default": [],
1393
- "x-categories": [
1394
- "Faceting"
1395
- ]
1240
+ "x-categories": ["Faceting"]
1396
1241
  },
1397
1242
  "replicas": {
1398
1243
  "type": "array",
1399
1244
  "items": {
1400
1245
  "type": "string"
1401
1246
  },
1402
- "example": [
1403
- "virtual(prod_products_price_asc)",
1404
- "dev_products_replica"
1405
- ],
1406
- "description": "Creates [replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/).\n\nReplicas are copies of a primary index with the same records but different settings, synonyms, or rules.\nIf you want to offer a different ranking or sorting of your search results, you'll use replica indices.\nAll index operations on a primary index are automatically forwarded to its replicas.\nTo add a replica index, you must provide the complete set of replicas to this parameter.\nIf 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.\n\n**Modifier**\n\n- `virtual(\"REPLICA\")`.\n Create a virtual replica,\n 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/).\n",
1247
+ "example": ["virtual(prod_products_price_asc)", "dev_products_replica"],
1248
+ "description": "Creates [replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas).\n\nReplicas are copies of a primary index with the same records but different settings, synonyms, or rules.\nIf you want to offer a different ranking or sorting of your search results, you'll use replica indices.\nAll index operations on a primary index are automatically forwarded to its replicas.\nTo add a replica index, you must provide the complete set of replicas to this parameter.\nIf 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.\n\n**Modifier**\n\n- `virtual(\"REPLICA\")`.\n Create a virtual replica,\n 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).\n",
1407
1249
  "default": [],
1408
- "x-categories": [
1409
- "Ranking"
1410
- ]
1250
+ "x-categories": ["Ranking"]
1411
1251
  },
1412
1252
  "paginationLimitedTo": {
1413
1253
  "type": "integer",
@@ -1421,29 +1261,20 @@
1421
1261
  "items": {
1422
1262
  "type": "string"
1423
1263
  },
1424
- "example": [
1425
- "total_sales"
1426
- ],
1427
- "description": "Attributes that can't be retrieved at query time.\n\nThis 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/),\nbut don't want to include it in the search results.\nAttribute names are case-sensitive.\n",
1264
+ "example": ["total_sales"],
1265
+ "description": "Attributes that can't be retrieved at query time.\n\nThis 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),\nbut don't want to include it in the search results.\nAttribute names are case-sensitive.\n",
1428
1266
  "default": [],
1429
- "x-categories": [
1430
- "Attributes"
1431
- ]
1267
+ "x-categories": ["Attributes"]
1432
1268
  },
1433
1269
  "disableTypoToleranceOnWords": {
1434
1270
  "type": "array",
1435
1271
  "items": {
1436
1272
  "type": "string"
1437
1273
  },
1438
- "example": [
1439
- "wheel",
1440
- "1X2BCD"
1441
- ],
1442
- "description": "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).\nThis 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.\n",
1274
+ "example": ["wheel", "1X2BCD"],
1275
+ "description": "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).\nThis 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.\n",
1443
1276
  "default": [],
1444
- "x-categories": [
1445
- "Typos"
1446
- ]
1277
+ "x-categories": ["Typos"]
1447
1278
  },
1448
1279
  "attributesToTransliterate": {
1449
1280
  "description": "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).\n\nTransliteration supports searching in any of the Japanese writing systems.\nTo support transliteration, you must set the indexing language to Japanese.\nAttribute names are case-sensitive.\n",
@@ -1451,76 +1282,53 @@
1451
1282
  "items": {
1452
1283
  "type": "string"
1453
1284
  },
1454
- "example": [
1455
- "name",
1456
- "description"
1457
- ],
1458
- "x-categories": [
1459
- "Languages"
1460
- ]
1285
+ "example": ["name", "description"],
1286
+ "x-categories": ["Languages"]
1461
1287
  },
1462
1288
  "camelCaseAttributes": {
1463
1289
  "type": "array",
1464
1290
  "items": {
1465
1291
  "type": "string"
1466
1292
  },
1467
- "example": [
1468
- "description"
1469
- ],
1293
+ "example": ["description"],
1470
1294
  "description": "Attributes for which to split [camel case](https://wikipedia.org/wiki/Camel_case) words.\nAttribute names are case-sensitive.\n",
1471
1295
  "default": [],
1472
- "x-categories": [
1473
- "Languages"
1474
- ]
1296
+ "x-categories": ["Languages"]
1475
1297
  },
1476
1298
  "decompoundedAttributes": {
1477
1299
  "type": "object",
1478
1300
  "example": {
1479
- "de": [
1480
- "name"
1481
- ]
1301
+ "de": ["name"]
1482
1302
  },
1483
- "description": "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).\nAttribute names are case-sensitive.\n\nCompound words are formed by combining two or more individual words,\nand are particularly prevalent in Germanic languages—for example, \"firefighter\".\nWith decompounding, the individual components are indexed separately.\n\nYou can specify different lists for different languages.\nDecompounding is supported for these languages:\nDutch (`nl`), German (`de`), Finnish (`fi`), Danish (`da`), Swedish (`sv`), and Norwegian (`no`).\nDecompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark).\nFor example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).\n",
1303
+ "description": "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).\nAttribute names are case-sensitive.\n\nCompound words are formed by combining two or more individual words,\nand are particularly prevalent in Germanic languages—for example, \"firefighter\".\nWith decompounding, the individual components are indexed separately.\n\nYou can specify different lists for different languages.\nDecompounding is supported for these languages:\nDutch (`nl`), German (`de`), Finnish (`fi`), Danish (`da`), Swedish (`sv`), and Norwegian (`no`).\nDecompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark).\nFor example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).\n",
1484
1304
  "default": {},
1485
- "x-categories": [
1486
- "Languages"
1487
- ]
1305
+ "x-categories": ["Languages"]
1488
1306
  },
1489
1307
  "indexLanguages": {
1490
1308
  "type": "array",
1491
1309
  "items": {
1492
1310
  "$ref": "#/components/schemas/supportedLanguage"
1493
1311
  },
1494
- "example": [
1495
- "ja"
1496
- ],
1497
- "description": "Languages for language-specific processing steps, such as word detection and dictionary settings.\n\n**You should always specify an indexing language.**\nIf 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/),\nor the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.\nThis can lead to unexpected search results.\nFor 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/).\n",
1312
+ "example": ["ja"],
1313
+ "description": "Languages for language-specific processing steps, such as word detection and dictionary settings.\n\n**You should always specify an indexing language.**\nIf 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),\nor the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.\nThis can lead to unexpected search results.\nFor 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).\n",
1498
1314
  "default": [],
1499
- "x-categories": [
1500
- "Languages"
1501
- ]
1315
+ "x-categories": ["Languages"]
1502
1316
  },
1503
1317
  "disablePrefixOnAttributes": {
1504
1318
  "type": "array",
1505
1319
  "items": {
1506
1320
  "type": "string"
1507
1321
  },
1508
- "example": [
1509
- "sku"
1510
- ],
1322
+ "example": ["sku"],
1511
1323
  "description": "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).\nAttribute names are case-sensitive.\n",
1512
1324
  "default": [],
1513
- "x-categories": [
1514
- "Query strategy"
1515
- ]
1325
+ "x-categories": ["Query strategy"]
1516
1326
  },
1517
1327
  "allowCompressionOfIntegerArray": {
1518
1328
  "type": "boolean",
1519
1329
  "description": "Whether arrays with exclusively non-negative integers should be compressed for better performance.\nIf true, the compressed arrays may be reordered.\n",
1520
1330
  "default": false,
1521
- "x-categories": [
1522
- "Performance"
1523
- ]
1331
+ "x-categories": ["Performance"]
1524
1332
  },
1525
1333
  "numericAttributesForFiltering": {
1526
1334
  "type": "array",
@@ -1528,46 +1336,32 @@
1528
1336
  "type": "string"
1529
1337
  },
1530
1338
  "description": "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).\nAttribute names are case-sensitive.\n\nBy default, all numeric attributes are available as numerical filters.\nFor faster indexing, reduce the number of numeric attributes.\n\nTo turn off filtering for all numeric attributes, specify an attribute that doesn't exist in your index, such as `NO_NUMERIC_FILTERING`.\n\n**Modifier**\n\n- `equalOnly(\"ATTRIBUTE\")`.\n Support only filtering based on equality comparisons `=` and `!=`.\n",
1531
- "example": [
1532
- "equalOnly(quantity)",
1533
- "popularity"
1534
- ],
1339
+ "example": ["equalOnly(quantity)", "popularity"],
1535
1340
  "default": [],
1536
- "x-categories": [
1537
- "Performance"
1538
- ]
1341
+ "x-categories": ["Performance"]
1539
1342
  },
1540
1343
  "separatorsToIndex": {
1541
1344
  "type": "string",
1542
1345
  "example": "+#",
1543
1346
  "description": "Control which non-alphanumeric characters are indexed.\n\nBy 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 (`(`,`)`).\nTo include such characters, define them with `separatorsToIndex`.\n\nSeparators are all non-letter characters except spaces and currency characters, such as $€£¥.\n\nWith `separatorsToIndex`, Algolia treats separator characters as separate words.\nFor example, in a search for \"Disney+\", Algolia considers \"Disney\" and \"+\" as two separate words.\n",
1544
1347
  "default": "",
1545
- "x-categories": [
1546
- "Typos"
1547
- ]
1348
+ "x-categories": ["Typos"]
1548
1349
  },
1549
1350
  "searchableAttributes": {
1550
1351
  "type": "array",
1551
1352
  "items": {
1552
1353
  "type": "string"
1553
1354
  },
1554
- "example": [
1555
- "title,alternative_title",
1556
- "author",
1557
- "unordered(text)",
1558
- "emails.personal"
1559
- ],
1560
- "description": "Attributes used for searching. Attribute names are case-sensitive.\n\nBy 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.\nWith a non-empty list, Algolia only returns results with matches in the selected attributes.\nIn addition, the Attribute ranking criterion is turned on: matches in attributes that are higher in the list of `searchableAttributes` rank first.\nTo make matches in two attributes rank equally, include them in a comma-separated string, such as `\"title,alternate_title\"`.\nAttributes with the same priority are always unordered.\n\nFor more information, see [Searchable attributes](https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/how-to/setting-searchable-attributes/).\n\n**Modifier**\n\n- `unordered(\"ATTRIBUTE\")`.\n Ignore the position of a match within the attribute.\n\nWithout a modifier, matches at the beginning of an attribute rank higher than matches at the end.\n",
1355
+ "example": ["title,alternative_title", "author", "unordered(text)", "emails.personal"],
1356
+ "description": "Attributes used for searching. Attribute names are case-sensitive.\n\nBy 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.\nWith a non-empty list, Algolia only returns results with matches in the selected attributes.\nIn addition, the Attribute ranking criterion is turned on: matches in attributes that are higher in the list of `searchableAttributes` rank first.\nTo make matches in two attributes rank equally, include them in a comma-separated string, such as `\"title,alternate_title\"`.\nAttributes with the same priority are always unordered.\n\nFor more information, see [Searchable attributes](https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/how-to/setting-searchable-attributes).\n\n**Modifier**\n\n- `unordered(\"ATTRIBUTE\")`.\n Ignore the position of a match within the attribute.\n\nWithout a modifier, matches at the beginning of an attribute rank higher than matches at the end.\n",
1561
1357
  "default": [],
1562
- "x-categories": [
1563
- "Attributes"
1564
- ]
1358
+ "x-categories": ["Attributes"]
1565
1359
  },
1566
1360
  "userData": {
1567
1361
  "$ref": "#/components/schemas/userData"
1568
1362
  },
1569
1363
  "customNormalization": {
1570
- "description": "Characters and their normalized replacements.\nThis overrides Algolia's default [normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/).\n",
1364
+ "description": "Characters and their normalized replacements.\nThis overrides Algolia's default [normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization).\n",
1571
1365
  "type": "object",
1572
1366
  "example": {
1573
1367
  "default": {
@@ -1581,9 +1375,7 @@
1581
1375
  "type": "string"
1582
1376
  }
1583
1377
  },
1584
- "x-categories": [
1585
- "Languages"
1586
- ]
1378
+ "x-categories": ["Languages"]
1587
1379
  },
1588
1380
  "attributeForDistinct": {
1589
1381
  "description": "Attribute that should be used to establish groups of results.\nAttribute names are case-sensitive.\n\nAll records with the same value for this attribute are considered a group.\nYou can combine `attributeForDistinct` with the `distinct` search parameter to control\nhow many items per group are included in the search results.\n\nIf you want to use the same attribute also for faceting, use the `afterDistinct` modifier of the `attributesForFaceting` setting.\nThis applies faceting _after_ deduplication, which will result in accurate facet counts.\n",
@@ -1598,24 +1390,17 @@
1598
1390
  "example": "øé",
1599
1391
  "description": "Characters for which diacritics should be preserved.\n\nBy default, Algolia removes diacritics from letters.\nFor example, `é` becomes `e`. If this causes issues in your search,\nyou can specify characters that should keep their diacritics.\n",
1600
1392
  "default": "",
1601
- "x-categories": [
1602
- "Languages"
1603
- ]
1393
+ "x-categories": ["Languages"]
1604
1394
  },
1605
1395
  "customRanking": {
1606
1396
  "type": "array",
1607
1397
  "items": {
1608
1398
  "type": "string"
1609
1399
  },
1610
- "example": [
1611
- "desc(popularity)",
1612
- "asc(price)"
1613
- ],
1614
- "description": "Attributes to use as [custom ranking](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking/).\nAttribute names are case-sensitive.\n\nThe custom ranking attributes decide which items are shown first if the other ranking criteria are equal.\n\nRecords with missing values for your selected custom ranking attributes are always sorted last.\nBoolean attributes are sorted based on their alphabetical order.\n\n**Modifiers**\n\n- `asc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in ascending order.\n\n- `desc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in descending order.\n\nIf you use two or more custom ranking attributes,\n[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,\nor the other attributes will never be applied.\n",
1400
+ "example": ["desc(popularity)", "asc(price)"],
1401
+ "description": "Attributes to use as [custom ranking](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking).\nAttribute names are case-sensitive.\n\nThe custom ranking attributes decide which items are shown first if the other ranking criteria are equal.\n\nRecords with missing values for your selected custom ranking attributes are always sorted last.\nBoolean attributes are sorted based on their alphabetical order.\n\n**Modifiers**\n\n- `asc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in ascending order.\n\n- `desc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in descending order.\n\nIf you use two or more custom ranking attributes,\n[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,\nor the other attributes will never be applied.\n",
1615
1402
  "default": [],
1616
- "x-categories": [
1617
- "Ranking"
1618
- ]
1403
+ "x-categories": ["Ranking"]
1619
1404
  }
1620
1405
  }
1621
1406
  },
@@ -1624,140 +1409,90 @@
1624
1409
  "items": {
1625
1410
  "type": "string"
1626
1411
  },
1627
- "example": [
1628
- "author",
1629
- "title",
1630
- "content"
1631
- ],
1412
+ "example": ["author", "title", "content"],
1632
1413
  "description": "Attributes to include in the API response\nTo reduce the size of your response, you can retrieve only some of the attributes.\nAttribute names are case-sensitive\n- `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings.\n- To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `[\"*\", \"-ATTRIBUTE\"]`.\n- The `objectID` attribute is always included.\n",
1633
- "default": [
1634
- "*"
1635
- ],
1636
- "x-categories": [
1637
- "Attributes"
1638
- ]
1414
+ "default": ["*"],
1415
+ "x-categories": ["Attributes"]
1639
1416
  },
1640
1417
  "ranking": {
1641
1418
  "type": "array",
1642
1419
  "items": {
1643
1420
  "type": "string"
1644
1421
  },
1645
- "description": "Determines the order in which Algolia returns your results.\n\nBy default, each entry corresponds to a [ranking criteria](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/).\nThe tie-breaking algorithm sequentially applies each criterion in the order they're specified.\nIf 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/),\nyou put the sorting attribute at the top of the list.\n\n**Modifiers**\n\n- `asc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in ascending order.\n- `desc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in descending order.\n\nBefore you modify the default setting,\nyou should test your changes in the dashboard,\nand by [A/B testing](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/).\n",
1646
- "default": [
1647
- "typo",
1648
- "geo",
1649
- "words",
1650
- "filters",
1651
- "proximity",
1652
- "attribute",
1653
- "exact",
1654
- "custom"
1655
- ],
1656
- "x-categories": [
1657
- "Ranking"
1658
- ]
1422
+ "description": "Determines the order in which Algolia returns your results.\n\nBy default, each entry corresponds to a [ranking criteria](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria).\nThe tie-breaking algorithm sequentially applies each criterion in the order they're specified.\nIf 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),\nyou put the sorting attribute at the top of the list.\n\n**Modifiers**\n\n- `asc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in ascending order.\n- `desc(\"ATTRIBUTE\")`.\n Sort the index by the values of an attribute, in descending order.\n\nBefore you modify the default setting,\nyou should test your changes in the dashboard,\nand by [A/B testing](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing).\n",
1423
+ "default": ["typo", "geo", "words", "filters", "proximity", "attribute", "exact", "custom"],
1424
+ "x-categories": ["Ranking"]
1659
1425
  },
1660
1426
  "relevancyStrictness": {
1661
1427
  "type": "integer",
1662
1428
  "example": 90,
1663
1429
  "description": "Relevancy threshold below which less relevant results aren't included in the results\nYou 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).\nUse this setting to strike a balance between the relevance and number of returned results.\n",
1664
1430
  "default": 100,
1665
- "x-categories": [
1666
- "Ranking"
1667
- ]
1431
+ "x-categories": ["Ranking"]
1668
1432
  },
1669
1433
  "attributesToHighlight": {
1670
1434
  "type": "array",
1671
1435
  "items": {
1672
1436
  "type": "string"
1673
1437
  },
1674
- "example": [
1675
- "author",
1676
- "title",
1677
- "conten",
1678
- "content"
1679
- ],
1680
- "description": "Attributes to highlight\nBy default, all searchable attributes are highlighted.\nUse `*` to highlight all attributes or use an empty array `[]` to turn off highlighting.\nAttribute names are case-sensitive\nWith highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`.\nYou can use this to visually highlight matching parts of a search query in your UI\nFor more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js/).\n",
1681
- "x-categories": [
1682
- "Highlighting and Snippeting"
1683
- ]
1438
+ "example": ["author", "title", "conten", "content"],
1439
+ "description": "Attributes to highlight\nBy default, all searchable attributes are highlighted.\nUse `*` to highlight all attributes or use an empty array `[]` to turn off highlighting.\nAttribute names are case-sensitive\nWith highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`.\nYou can use this to visually highlight matching parts of a search query in your UI\nFor more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js).\n",
1440
+ "x-categories": ["Highlighting and Snippeting"]
1684
1441
  },
1685
1442
  "attributesToSnippet": {
1686
1443
  "type": "array",
1687
1444
  "items": {
1688
1445
  "type": "string"
1689
1446
  },
1690
- "example": [
1691
- "content:80",
1692
- "description"
1693
- ],
1447
+ "example": ["content:80", "description"],
1694
1448
  "description": "Attributes for which to enable snippets.\nAttribute names are case-sensitive\nSnippets provide additional context to matched words.\nIf you enable snippets, they include 10 words, including the matched word.\nThe matched word will also be wrapped by HTML tags for highlighting.\nYou can adjust the number of words with the following notation: `ATTRIBUTE:NUMBER`,\nwhere `NUMBER` is the number of words to be extracted.\n",
1695
1449
  "default": [],
1696
- "x-categories": [
1697
- "Highlighting and Snippeting"
1698
- ]
1450
+ "x-categories": ["Highlighting and Snippeting"]
1699
1451
  },
1700
1452
  "highlightPreTag": {
1701
1453
  "type": "string",
1702
1454
  "description": "HTML tag to insert before the highlighted parts in all highlighted results and snippets.",
1703
1455
  "default": "<em>",
1704
- "x-categories": [
1705
- "Highlighting and Snippeting"
1706
- ]
1456
+ "x-categories": ["Highlighting and Snippeting"]
1707
1457
  },
1708
1458
  "highlightPostTag": {
1709
1459
  "type": "string",
1710
1460
  "description": "HTML tag to insert after the highlighted parts in all highlighted results and snippets.",
1711
1461
  "default": "</em>",
1712
- "x-categories": [
1713
- "Highlighting and Snippeting"
1714
- ]
1462
+ "x-categories": ["Highlighting and Snippeting"]
1715
1463
  },
1716
1464
  "snippetEllipsisText": {
1717
1465
  "type": "string",
1718
1466
  "description": "String used as an ellipsis indicator when a snippet is truncated.",
1719
1467
  "default": "…",
1720
- "x-categories": [
1721
- "Highlighting and Snippeting"
1722
- ]
1468
+ "x-categories": ["Highlighting and Snippeting"]
1723
1469
  },
1724
1470
  "restrictHighlightAndSnippetArrays": {
1725
1471
  "type": "boolean",
1726
1472
  "description": "Whether to restrict highlighting and snippeting to items that at least partially matched the search query.\nBy default, all items are highlighted and snippeted.\n",
1727
1473
  "default": false,
1728
- "x-categories": [
1729
- "Highlighting and Snippeting"
1730
- ]
1474
+ "x-categories": ["Highlighting and Snippeting"]
1731
1475
  },
1732
1476
  "minWordSizefor1Typo": {
1733
1477
  "type": "integer",
1734
1478
  "description": "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).",
1735
1479
  "default": 4,
1736
- "x-categories": [
1737
- "Typos"
1738
- ]
1480
+ "x-categories": ["Typos"]
1739
1481
  },
1740
1482
  "minWordSizefor2Typos": {
1741
1483
  "type": "integer",
1742
1484
  "description": "Minimum number of characters a word in the search query must contain to accept matches with [two typos](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos).",
1743
1485
  "default": 8,
1744
- "x-categories": [
1745
- "Typos"
1746
- ]
1486
+ "x-categories": ["Typos"]
1747
1487
  },
1748
1488
  "typoToleranceEnum": {
1749
1489
  "type": "string",
1750
1490
  "title": "typo tolerance",
1751
1491
  "description": "- `min`. Return matches with the lowest number of typos.\n For example, if you have matches without typos, only include those.\n But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos).\n- `strict`. Return matches with the two lowest numbers of typos.\n With `strict`, the Typo ranking criterion is applied first in the `ranking` setting.\n",
1752
- "enum": [
1753
- "min",
1754
- "strict",
1755
- "true",
1756
- "false"
1757
- ]
1492
+ "enum": ["min", "strict", "true", "false"]
1758
1493
  },
1759
1494
  "typoTolerance": {
1760
- "description": "Whether [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/) is enabled and how it is applied.\n\nIf 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.\n",
1495
+ "description": "Whether [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance) is enabled and how it is applied.\n\nIf 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.\n",
1761
1496
  "oneOf": [
1762
1497
  {
1763
1498
  "type": "boolean",
@@ -1768,45 +1503,31 @@
1768
1503
  "$ref": "#/components/schemas/typoToleranceEnum"
1769
1504
  }
1770
1505
  ],
1771
- "x-categories": [
1772
- "Typos"
1773
- ]
1506
+ "x-categories": ["Typos"]
1774
1507
  },
1775
1508
  "allowTyposOnNumericTokens": {
1776
1509
  "type": "boolean",
1777
1510
  "description": "Whether to allow typos on numbers in the search query\nTurn off this setting to reduce the number of irrelevant matches\nwhen searching in large sets of similar numbers.\n",
1778
1511
  "default": true,
1779
- "x-categories": [
1780
- "Typos"
1781
- ]
1512
+ "x-categories": ["Typos"]
1782
1513
  },
1783
1514
  "disableTypoToleranceOnAttributes": {
1784
1515
  "type": "array",
1785
1516
  "items": {
1786
1517
  "type": "string"
1787
1518
  },
1788
- "example": [
1789
- "sku"
1790
- ],
1791
- "description": "Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/).\nAttribute names are case-sensitive\nReturning only exact matches can help when\n- [Searching in hyphenated attributes](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-search-in-hyphenated-attributes/).\n- Reducing the number of matches when you have too many.\n This can happen with attributes that are long blocks of text, such as product descriptions\nConsider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos.\n",
1519
+ "example": ["sku"],
1520
+ "description": "Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance).\nAttribute names are case-sensitive\nReturning only exact matches can help when\n- [Searching in hyphenated attributes](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-search-in-hyphenated-attributes).\n- Reducing the number of matches when you have too many.\n This can happen with attributes that are long blocks of text, such as product descriptions\nConsider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos.\n",
1792
1521
  "default": [],
1793
- "x-categories": [
1794
- "Typos"
1795
- ]
1522
+ "x-categories": ["Typos"]
1796
1523
  },
1797
1524
  "booleanString": {
1798
1525
  "type": "string",
1799
- "enum": [
1800
- "true",
1801
- "false"
1802
- ]
1526
+ "enum": ["true", "false"]
1803
1527
  },
1804
1528
  "ignorePlurals": {
1805
1529
  "description": "Treat singular, plurals, and other forms of declensions as equivalent.\nYou should only use this feature for the languages used in your index.\n",
1806
- "example": [
1807
- "ca",
1808
- "es"
1809
- ],
1530
+ "example": ["ca", "es"],
1810
1531
  "oneOf": [
1811
1532
  {
1812
1533
  "type": "array",
@@ -1824,16 +1545,11 @@
1824
1545
  "default": false
1825
1546
  }
1826
1547
  ],
1827
- "x-categories": [
1828
- "Languages"
1829
- ]
1548
+ "x-categories": ["Languages"]
1830
1549
  },
1831
1550
  "removeStopWords": {
1832
1551
  "description": "Removes stop words from the search query.\n\nStop words are common words like articles, conjunctions, prepositions, or pronouns that have little or no meaning on their own.\nIn English, \"the\", \"a\", or \"and\" are stop words.\n\nYou should only use this feature for the languages used in your index.\n",
1833
- "example": [
1834
- "ca",
1835
- "es"
1836
- ],
1552
+ "example": ["ca", "es"],
1837
1553
  "oneOf": [
1838
1554
  {
1839
1555
  "type": "array",
@@ -1848,98 +1564,66 @@
1848
1564
  "description": "If true, stop words are removed for all languages you included in `queryLanguages`, or for all supported languages, if `queryLanguages` is empty.\nIf false, stop words are not removed.\n"
1849
1565
  }
1850
1566
  ],
1851
- "x-categories": [
1852
- "Languages"
1853
- ]
1567
+ "x-categories": ["Languages"]
1854
1568
  },
1855
1569
  "queryLanguages": {
1856
1570
  "type": "array",
1857
1571
  "items": {
1858
1572
  "$ref": "#/components/schemas/supportedLanguage"
1859
1573
  },
1860
- "example": [
1861
- "es"
1862
- ],
1863
- "description": "Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries \nThis setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings.\nThis 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.\nTo support this, you must place the CJK language **first** \n**You should always specify a query language.**\nIf 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/),\nor the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.\nThis can lead to unexpected search results.\nFor 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/).\n",
1574
+ "example": ["es"],
1575
+ "description": "Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries \nThis setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings.\nThis 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.\nTo support this, you must place the CJK language **first** \n**You should always specify a query language.**\nIf 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),\nor the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.\nThis can lead to unexpected search results.\nFor 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).\n",
1864
1576
  "default": [],
1865
- "x-categories": [
1866
- "Languages"
1867
- ]
1577
+ "x-categories": ["Languages"]
1868
1578
  },
1869
1579
  "decompoundQuery": {
1870
1580
  "type": "boolean",
1871
1581
  "description": "Whether to split compound words in the query into their building blocks\nFor more information, see [Word segmentation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/#splitting-compound-words).\nWord segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian.\nDecompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark).\nFor example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).\n",
1872
1582
  "default": true,
1873
- "x-categories": [
1874
- "Languages"
1875
- ]
1583
+ "x-categories": ["Languages"]
1876
1584
  },
1877
1585
  "enableRules": {
1878
1586
  "type": "boolean",
1879
1587
  "description": "Whether to enable rules.",
1880
1588
  "default": true,
1881
- "x-categories": [
1882
- "Rules"
1883
- ]
1589
+ "x-categories": ["Rules"]
1884
1590
  },
1885
1591
  "enablePersonalization": {
1886
1592
  "type": "boolean",
1887
1593
  "description": "Whether to enable Personalization.",
1888
1594
  "default": false,
1889
- "x-categories": [
1890
- "Personalization"
1891
- ]
1595
+ "x-categories": ["Personalization"]
1892
1596
  },
1893
1597
  "queryType": {
1894
1598
  "type": "string",
1895
- "enum": [
1896
- "prefixLast",
1897
- "prefixAll",
1898
- "prefixNone"
1899
- ],
1900
- "description": "Determines if and how query words are interpreted as prefixes.\n\nBy default, only the last query word is treated as a prefix (`prefixLast`).\nTo turn off prefix search, use `prefixNone`.\nAvoid `prefixAll`, which treats all query words as prefixes.\nThis might lead to counterintuitive results and makes your search slower.\n\nFor more information, see [Prefix searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching/).\n",
1599
+ "enum": ["prefixLast", "prefixAll", "prefixNone"],
1600
+ "description": "Determines if and how query words are interpreted as prefixes.\n\nBy default, only the last query word is treated as a prefix (`prefixLast`).\nTo turn off prefix search, use `prefixNone`.\nAvoid `prefixAll`, which treats all query words as prefixes.\nThis might lead to counterintuitive results and makes your search slower.\n\nFor more information, see [Prefix searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching).\n",
1901
1601
  "default": "prefixLast",
1902
- "x-categories": [
1903
- "Query strategy"
1904
- ]
1602
+ "x-categories": ["Query strategy"]
1905
1603
  },
1906
1604
  "removeWordsIfNoResults": {
1907
1605
  "type": "string",
1908
- "enum": [
1909
- "none",
1910
- "lastWords",
1911
- "firstWords",
1912
- "allOptional"
1913
- ],
1606
+ "enum": ["none", "lastWords", "firstWords", "allOptional"],
1914
1607
  "example": "firstWords",
1915
- "description": "Strategy for removing words from the query when it doesn't return any results.\nThis helps to avoid returning empty search results.\n\n- `none`.\n No words are removed when a query doesn't return results.\n\n- `lastWords`.\n Treat the last (then second to last, then third to last) word as optional,\n until there are results or at most 5 words have been removed.\n\n- `firstWords`.\n Treat the first (then second, then third) word as optional,\n until there are results or at most 5 words have been removed.\n\n- `allOptional`.\n Treat all words as optional.\n\nFor more information, see [Remove words to improve results](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/in-depth/why-use-remove-words-if-no-results/).\n",
1608
+ "description": "Strategy for removing words from the query when it doesn't return any results.\nThis helps to avoid returning empty search results.\n\n- `none`.\n No words are removed when a query doesn't return results.\n\n- `lastWords`.\n Treat the last (then second to last, then third to last) word as optional,\n until there are results or at most 5 words have been removed.\n\n- `firstWords`.\n Treat the first (then second, then third) word as optional,\n until there are results or at most 5 words have been removed.\n\n- `allOptional`.\n Treat all words as optional.\n\nFor more information, see [Remove words to improve results](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/in-depth/why-use-remove-words-if-no-results).\n",
1916
1609
  "default": "none",
1917
- "x-categories": [
1918
- "Query strategy"
1919
- ]
1610
+ "x-categories": ["Query strategy"]
1920
1611
  },
1921
1612
  "advancedSyntax": {
1922
1613
  "type": "boolean",
1923
1614
  "description": "Whether to support phrase matching and excluding words from search queries\nUse the `advancedSyntaxFeatures` parameter to control which feature is supported.\n",
1924
1615
  "default": false,
1925
- "x-categories": [
1926
- "Query strategy"
1927
- ]
1616
+ "x-categories": ["Query strategy"]
1928
1617
  },
1929
1618
  "optionalWordsArray": {
1930
1619
  "type": "array",
1931
1620
  "items": {
1932
1621
  "type": "string"
1933
1622
  },
1934
- "example": [
1935
- "blue",
1936
- "iphone case"
1937
- ],
1623
+ "example": ["blue", "iphone case"],
1938
1624
  "description": "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).",
1939
1625
  "default": [],
1940
- "x-categories": [
1941
- "Query strategy"
1942
- ]
1626
+ "x-categories": ["Query strategy"]
1943
1627
  },
1944
1628
  "optionalWords": {
1945
1629
  "description": "Words that should be considered optional when found in the query.\n\nBy default, records must match all words in the search query to be included in the search results.\nAdding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words.\nFor example, if the search query is \"action video\" and \"video\" is an optional word,\nthe search engine runs two queries. One for \"action video\" and one for \"action\".\nRecords that match all words are ranked higher.\n\nFor a search query with 4 or more words **and** all its words are optional,\nthe number of matched words required for a record to be included in the search results increases for every 1,000 records:\n\n- If `optionalWords` has less than 10 words, the required number of matched words increases by 1:\n results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words.\n- 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).\n For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words.\n\nFor 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).\n",
@@ -1960,39 +1644,22 @@
1960
1644
  "items": {
1961
1645
  "type": "string"
1962
1646
  },
1963
- "example": [
1964
- "description"
1965
- ],
1647
+ "example": ["description"],
1966
1648
  "description": "Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes).\nAttribute names are case-sensitive\nThis can be useful for attributes with long values, where the likelihood of an exact match is high,\nsuch as product descriptions.\nTurning off the Exact ranking criterion for these attributes favors exact matching on other attributes.\nThis reduces the impact of individual attributes with a lot of content on ranking.\n",
1967
1649
  "default": [],
1968
- "x-categories": [
1969
- "Query strategy"
1970
- ]
1650
+ "x-categories": ["Query strategy"]
1971
1651
  },
1972
1652
  "exactOnSingleWordQuery": {
1973
1653
  "type": "string",
1974
- "enum": [
1975
- "attribute",
1976
- "none",
1977
- "word"
1978
- ],
1654
+ "enum": ["attribute", "none", "word"],
1979
1655
  "description": "Determines how the [Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes) is computed when the search query has only one word.\n\n- `attribute`.\n The Exact ranking criterion is 1 if the query word and attribute value are the same.\n For example, a search for \"road\" will match the value \"road\", but not \"road trip\".\n\n- `none`.\n The Exact ranking criterion is ignored on single-word searches.\n\n- `word`.\n The Exact ranking criterion is 1 if the query word is found in the attribute value.\n The query word must have at least 3 characters and must not be a stop word.\n Only exact matches will be highlighted,\n partial and prefix matches won't.\n",
1980
1656
  "default": "attribute",
1981
- "x-categories": [
1982
- "Query strategy"
1983
- ]
1657
+ "x-categories": ["Query strategy"]
1984
1658
  },
1985
1659
  "alternativesAsExact": {
1986
1660
  "type": "string",
1987
- "enum": [
1988
- "ignorePlurals",
1989
- "singleWordSynonym",
1990
- "multiWordsSynonym",
1991
- "ignoreConjugations"
1992
- ],
1993
- "x-categories": [
1994
- "Query strategy"
1995
- ]
1661
+ "enum": ["ignorePlurals", "singleWordSynonym", "multiWordsSynonym", "ignoreConjugations"],
1662
+ "x-categories": ["Query strategy"]
1996
1663
  },
1997
1664
  "IndexSettings_alternativesAsExact": {
1998
1665
  "type": "array",
@@ -2000,23 +1667,13 @@
2000
1667
  "$ref": "#/components/schemas/alternativesAsExact"
2001
1668
  },
2002
1669
  "description": "Determine which plurals and synonyms should be considered an exact matches\nBy 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.\nFor example\n- \"swimsuit\" and \"swimsuits\" are treated the same\n- \"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))\n- `ignorePlurals`.\n Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches\n- `singleWordSynonym`.\n Single-word synonyms, such as \"NY\" = \"NYC\", are considered exact matches\n- `multiWordsSynonym`.\n Multi-word synonyms, such as \"NY\" = \"New York\", are considered exact matches.\n",
2003
- "default": [
2004
- "ignorePlurals",
2005
- "singleWordSynonym"
2006
- ],
2007
- "x-categories": [
2008
- "Query strategy"
2009
- ]
1670
+ "default": ["ignorePlurals", "singleWordSynonym"],
1671
+ "x-categories": ["Query strategy"]
2010
1672
  },
2011
1673
  "advancedSyntaxFeatures": {
2012
1674
  "type": "string",
2013
- "enum": [
2014
- "exactPhrase",
2015
- "excludeWords"
2016
- ],
2017
- "x-categories": [
2018
- "Query strategy"
2019
- ]
1675
+ "enum": ["exactPhrase", "excludeWords"],
1676
+ "x-categories": ["Query strategy"]
2020
1677
  },
2021
1678
  "IndexSettings_advancedSyntaxFeatures": {
2022
1679
  "type": "array",
@@ -2024,13 +1681,8 @@
2024
1681
  "$ref": "#/components/schemas/advancedSyntaxFeatures"
2025
1682
  },
2026
1683
  "description": "Advanced search syntax features you want to support\n- `exactPhrase`.\n Phrases in quotes must match exactly.\n For example, `sparkly blue \"iPhone case\"` only returns records with the exact string \"iPhone case\"\n- `excludeWords`.\n Query words prefixed with a `-` must not occur in a record.\n For example, `search -engine` matches records that contain \"search\" but not \"engine\"\nThis setting only has an effect if `advancedSyntax` is true.\n",
2027
- "default": [
2028
- "exactPhrase",
2029
- "excludeWords"
2030
- ],
2031
- "x-categories": [
2032
- "Query strategy"
2033
- ]
1684
+ "default": ["exactPhrase", "excludeWords"],
1685
+ "x-categories": ["Query strategy"]
2034
1686
  },
2035
1687
  "distinct": {
2036
1688
  "description": "Determines how many records of a group are included in the search results.\n\nRecords with the same value for the `attributeForDistinct` attribute are considered a group.\nThe `distinct` setting controls how many members of the group are returned.\nThis is useful for [deduplication and grouping](https://www.algolia.com/doc/guides/managing-results/refine-results/grouping/#introducing-algolias-distinct-feature).\n\nThe `distinct` setting is ignored if `attributeForDistinct` is not set.\n",
@@ -2042,23 +1694,19 @@
2042
1694
  },
2043
1695
  {
2044
1696
  "type": "integer",
2045
- "description": "Number of members of a group of records to include in the search results.\n\n- Don't use `distinct > 1` for records that might be [promoted by rules](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/promote-hits/).\n The number of hits won't be correct and faceting won't work as expected.\n- With `distinct > 1`, the `hitsPerPage` parameter controls the number of returned groups.\n For example, with `hitsPerPage: 10` and `distinct: 2`, up to 20 records are returned.\n Likewise, the `nbHits` response attribute contains the number of returned groups.\n",
1697
+ "description": "Number of members of a group of records to include in the search results.\n\n- Don't use `distinct > 1` for records that might be [promoted by rules](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/promote-hits).\n The number of hits won't be correct and faceting won't work as expected.\n- With `distinct > 1`, the `hitsPerPage` parameter controls the number of returned groups.\n For example, with `hitsPerPage: 10` and `distinct: 2`, up to 20 records are returned.\n Likewise, the `nbHits` response attribute contains the number of returned groups.\n",
2046
1698
  "minimum": 0,
2047
1699
  "maximum": 4,
2048
1700
  "default": 0
2049
1701
  }
2050
1702
  ],
2051
- "x-categories": [
2052
- "Advanced"
2053
- ]
1703
+ "x-categories": ["Advanced"]
2054
1704
  },
2055
1705
  "replaceSynonymsInHighlight": {
2056
1706
  "type": "boolean",
2057
1707
  "description": "Whether to replace a highlighted word with the matched synonym\nBy default, the original words are highlighted even if a synonym matches.\nFor example, with `home` as a synonym for `house` and a search for `home`,\nrecords matching either \"home\" or \"house\" are included in the search results,\nand either \"home\" or \"house\" are highlighted\nWith `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records,\nbut all occurrences of \"house\" are replaced by \"home\" in the highlighted response.\n",
2058
1708
  "default": false,
2059
- "x-categories": [
2060
- "Highlighting and Snippeting"
2061
- ]
1709
+ "x-categories": ["Highlighting and Snippeting"]
2062
1710
  },
2063
1711
  "minProximity": {
2064
1712
  "type": "integer",
@@ -2066,9 +1714,7 @@
2066
1714
  "maximum": 7,
2067
1715
  "description": "Minimum proximity score for two matching words\nThis adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity)\nby equally scoring matches that are farther apart\nFor example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score.\n",
2068
1716
  "default": 1,
2069
- "x-categories": [
2070
- "Advanced"
2071
- ]
1717
+ "x-categories": ["Advanced"]
2072
1718
  },
2073
1719
  "responseFields": {
2074
1720
  "type": "array",
@@ -2076,37 +1722,27 @@
2076
1722
  "type": "string"
2077
1723
  },
2078
1724
  "description": "Properties to include in the API response of search and browse requests\nBy default, all response properties are included.\nTo reduce the response size, you can select which properties should be included\nAn empty list may lead to an empty API response (except properties you can't exclude)\nYou can't exclude these properties:\n`message`, `warning`, `cursor`, `abTestVariantID`,\nor any property added by setting `getRankingInfo` to true\nYour search depends on the `hits` field. If you omit this field, searches won't return any results.\nYour UI might also depend on other properties, for example, for pagination.\nBefore restricting the response size, check the impact on your search experience.\n",
2079
- "default": [
2080
- "*"
2081
- ],
2082
- "x-categories": [
2083
- "Advanced"
2084
- ]
1725
+ "default": ["*"],
1726
+ "x-categories": ["Advanced"]
2085
1727
  },
2086
1728
  "maxValuesPerFacet": {
2087
1729
  "type": "integer",
2088
1730
  "description": "Maximum number of facet values to return for each facet.",
2089
1731
  "default": 100,
2090
1732
  "maximum": 1000,
2091
- "x-categories": [
2092
- "Faceting"
2093
- ]
1733
+ "x-categories": ["Faceting"]
2094
1734
  },
2095
1735
  "sortFacetValuesBy": {
2096
1736
  "type": "string",
2097
- "description": "Order in which to retrieve facet values\n- `count`.\n Facet values are retrieved by decreasing count.\n The count is the number of matching records containing this facet value\n- `alpha`.\n Retrieve facet values alphabetically\nThis setting doesn't influence how facet values are displayed in your UI (see `renderingContent`).\nFor more information, see [facet value display](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js/).\n",
1737
+ "description": "Order in which to retrieve facet values\n- `count`.\n Facet values are retrieved by decreasing count.\n The count is the number of matching records containing this facet value\n- `alpha`.\n Retrieve facet values alphabetically\nThis setting doesn't influence how facet values are displayed in your UI (see `renderingContent`).\nFor more information, see [facet value display](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js).\n",
2098
1738
  "default": "count",
2099
- "x-categories": [
2100
- "Faceting"
2101
- ]
1739
+ "x-categories": ["Faceting"]
2102
1740
  },
2103
1741
  "attributeCriteriaComputedByMinProximity": {
2104
1742
  "type": "boolean",
2105
1743
  "description": "Whether the best matching attribute should be determined by minimum proximity\nThis setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting.\nIf true, the best matching attribute is selected based on the minimum proximity of multiple matches.\nOtherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting.\n",
2106
1744
  "default": false,
2107
- "x-categories": [
2108
- "Advanced"
2109
- ]
1745
+ "x-categories": ["Advanced"]
2110
1746
  },
2111
1747
  "order": {
2112
1748
  "description": "Explicit order of facets or facet values.\n\nThis setting lets you always show specific facets or facet values at the top of the list.\n",
@@ -2128,11 +1764,7 @@
2128
1764
  "sortRemainingBy": {
2129
1765
  "description": "Order of facet values that aren't explicitly positioned with the `order` setting.\n\n- `count`.\n Order remaining facet values by decreasing count.\n The count is the number of matching records containing this facet value.\n\n- `alpha`.\n Sort facet values alphabetically.\n\n- `hidden`.\n Don't show facet values that aren't explicitly positioned.\n",
2130
1766
  "type": "string",
2131
- "enum": [
2132
- "count",
2133
- "alpha",
2134
- "hidden"
2135
- ]
1767
+ "enum": ["count", "alpha", "hidden"]
2136
1768
  },
2137
1769
  "hide": {
2138
1770
  "description": "Hide facet values.",
@@ -2268,20 +1900,16 @@
2268
1900
  "$ref": "#/components/schemas/widgets"
2269
1901
  }
2270
1902
  },
2271
- "x-categories": [
2272
- "Advanced"
2273
- ]
1903
+ "x-categories": ["Advanced"]
2274
1904
  },
2275
1905
  "enableReRanking": {
2276
1906
  "type": "boolean",
2277
- "description": "Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/)\nThis setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard.\n",
1907
+ "description": "Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking)\nThis setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard.\n",
2278
1908
  "default": true,
2279
- "x-categories": [
2280
- "Filtering"
2281
- ]
1909
+ "x-categories": ["Filtering"]
2282
1910
  },
2283
1911
  "reRankingApplyFilter": {
2284
- "description": "Restrict [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/) to records that match these filters.\n",
1912
+ "description": "Restrict [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking) to records that match these filters.\n",
2285
1913
  "oneOf": [
2286
1914
  {
2287
1915
  "type": "array",
@@ -2291,9 +1919,7 @@
2291
1919
  },
2292
1920
  {
2293
1921
  "type": "string",
2294
- "x-categories": [
2295
- "Filtering"
2296
- ]
1922
+ "x-categories": ["Filtering"]
2297
1923
  }
2298
1924
  ]
2299
1925
  },
@@ -2478,17 +2104,12 @@
2478
2104
  "$ref": "#/components/schemas/recommendSearchParams"
2479
2105
  }
2480
2106
  },
2481
- "required": [
2482
- "indexName",
2483
- "threshold"
2484
- ]
2107
+ "required": ["indexName", "threshold"]
2485
2108
  },
2486
2109
  "fbtModel": {
2487
2110
  "type": "string",
2488
2111
  "description": "Frequently bought together model.\n\nThis model recommends items that have been purchased within 1 day with the item with the ID `objectID`.\n",
2489
- "enum": [
2490
- "bought-together"
2491
- ]
2112
+ "enum": ["bought-together"]
2492
2113
  },
2493
2114
  "objectID": {
2494
2115
  "type": "string",
@@ -2505,10 +2126,7 @@
2505
2126
  "$ref": "#/components/schemas/objectID"
2506
2127
  }
2507
2128
  },
2508
- "required": [
2509
- "model",
2510
- "objectID"
2511
- ]
2129
+ "required": ["model", "objectID"]
2512
2130
  },
2513
2131
  "boughtTogetherQuery": {
2514
2132
  "title": "Frequently bought together",
@@ -2524,9 +2142,7 @@
2524
2142
  "relatedModel": {
2525
2143
  "type": "string",
2526
2144
  "description": "Related products or similar content model.\n\nThis model recommends items that are similar to the item with the ID `objectID`.\nSimilarity is determined from the user interactions and attributes.\n",
2527
- "enum": [
2528
- "related-products"
2529
- ]
2145
+ "enum": ["related-products"]
2530
2146
  },
2531
2147
  "fallbackParams": {
2532
2148
  "title": "fallbackParameters",
@@ -2553,10 +2169,7 @@
2553
2169
  "$ref": "#/components/schemas/fallbackParams"
2554
2170
  }
2555
2171
  },
2556
- "required": [
2557
- "model",
2558
- "objectID"
2559
- ]
2172
+ "required": ["model", "objectID"]
2560
2173
  },
2561
2174
  "relatedQuery": {
2562
2175
  "title": "Related products",
@@ -2580,9 +2193,7 @@
2580
2193
  "trendingItemsModel": {
2581
2194
  "description": "Trending items model.\n\nTrending items are determined from the number of conversion events collected on them.\n",
2582
2195
  "type": "string",
2583
- "enum": [
2584
- "trending-items"
2585
- ]
2196
+ "enum": ["trending-items"]
2586
2197
  },
2587
2198
  "trendingItems": {
2588
2199
  "type": "object",
@@ -2600,9 +2211,7 @@
2600
2211
  "$ref": "#/components/schemas/fallbackParams"
2601
2212
  }
2602
2213
  },
2603
- "required": [
2604
- "model"
2605
- ]
2214
+ "required": ["model"]
2606
2215
  },
2607
2216
  "trendingItemsQuery": {
2608
2217
  "title": "Trending items",
@@ -2618,9 +2227,7 @@
2618
2227
  "trendingFacetsModel": {
2619
2228
  "type": "string",
2620
2229
  "description": "Trending facet values model.\n\nThis model recommends trending facet values for the specified facet attribute.\n",
2621
- "enum": [
2622
- "trending-facets"
2623
- ]
2230
+ "enum": ["trending-facets"]
2624
2231
  },
2625
2232
  "trendingFacets": {
2626
2233
  "type": "object",
@@ -2636,10 +2243,7 @@
2636
2243
  "$ref": "#/components/schemas/fallbackParams"
2637
2244
  }
2638
2245
  },
2639
- "required": [
2640
- "facetName",
2641
- "model"
2642
- ]
2246
+ "required": ["facetName", "model"]
2643
2247
  },
2644
2248
  "trendingFacetsQuery": {
2645
2249
  "title": "Trending facet values",
@@ -2655,9 +2259,7 @@
2655
2259
  "lookingSimilarModel": {
2656
2260
  "type": "string",
2657
2261
  "description": "Looking similar model.\n\nThis model recommends items that look similar to the item with the ID `objectID` based on image attributes in your index.\n",
2658
- "enum": [
2659
- "looking-similar"
2660
- ]
2262
+ "enum": ["looking-similar"]
2661
2263
  },
2662
2264
  "lookingSimilar": {
2663
2265
  "type": "object",
@@ -2672,10 +2274,7 @@
2672
2274
  "$ref": "#/components/schemas/fallbackParams"
2673
2275
  }
2674
2276
  },
2675
- "required": [
2676
- "model",
2677
- "objectID"
2678
- ]
2277
+ "required": ["model", "objectID"]
2679
2278
  },
2680
2279
  "lookingSimilarQuery": {
2681
2280
  "title": "Looking similar",
@@ -2735,9 +2334,7 @@
2735
2334
  "title": "redirectRuleIndexData",
2736
2335
  "type": "object",
2737
2336
  "description": "Redirect rule data.",
2738
- "required": [
2739
- "ruleObjectID"
2740
- ],
2337
+ "required": ["ruleObjectID"],
2741
2338
  "properties": {
2742
2339
  "ruleObjectID": {
2743
2340
  "type": "string"
@@ -2745,13 +2342,7 @@
2745
2342
  }
2746
2343
  }
2747
2344
  },
2748
- "required": [
2749
- "data",
2750
- "succeed",
2751
- "reason",
2752
- "dest",
2753
- "source"
2754
- ]
2345
+ "required": ["data", "succeed", "reason", "dest", "source"]
2755
2346
  },
2756
2347
  "baseSearchResponse": {
2757
2348
  "type": "object",
@@ -2918,7 +2509,7 @@
2918
2509
  "redirect": {
2919
2510
  "title": "redirect",
2920
2511
  "type": "object",
2921
- "description": "[Redirect results to a URL](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/redirects/), this this parameter is for internal use only.\n",
2512
+ "description": "[Redirect results to a URL](https://www.algolia.com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/redirects), this this parameter is for internal use only.\n",
2922
2513
  "properties": {
2923
2514
  "index": {
2924
2515
  "type": "array",
@@ -2946,7 +2537,7 @@
2946
2537
  },
2947
2538
  "queryID": {
2948
2539
  "type": "string",
2949
- "description": "Unique identifier for the query. This is used for [click analytics](https://www.algolia.com/doc/guides/analytics/click-analytics/).",
2540
+ "description": "Unique identifier for the query. This is used for [click analytics](https://www.algolia.com/doc/guides/analytics/click-analytics).",
2950
2541
  "example": "a00dbc80a8d13c4565a442e7e2dca80a"
2951
2542
  },
2952
2543
  "_automaticInsights": {
@@ -2960,9 +2551,7 @@
2960
2551
  "description": "Page of search results to retrieve.",
2961
2552
  "default": 0,
2962
2553
  "minimum": 0,
2963
- "x-categories": [
2964
- "Pagination"
2965
- ]
2554
+ "x-categories": ["Pagination"]
2966
2555
  },
2967
2556
  "nbHits": {
2968
2557
  "type": "integer",
@@ -2980,9 +2569,7 @@
2980
2569
  "default": 20,
2981
2570
  "minimum": 1,
2982
2571
  "maximum": 1000,
2983
- "x-categories": [
2984
- "Pagination"
2985
- ]
2572
+ "x-categories": ["Pagination"]
2986
2573
  },
2987
2574
  "SearchPagination": {
2988
2575
  "type": "object",
@@ -3010,11 +2597,7 @@
3010
2597
  "matchLevel": {
3011
2598
  "type": "string",
3012
2599
  "description": "Whether the whole query string matches or only a part.",
3013
- "enum": [
3014
- "none",
3015
- "partial",
3016
- "full"
3017
- ]
2600
+ "enum": ["none", "partial", "full"]
3018
2601
  },
3019
2602
  "highlightResultOption": {
3020
2603
  "title": "highlightResultOption",
@@ -3031,9 +2614,7 @@
3031
2614
  "matchedWords": {
3032
2615
  "type": "array",
3033
2616
  "description": "List of matched words from the search query.",
3034
- "example": [
3035
- "action"
3036
- ],
2617
+ "example": ["action"],
3037
2618
  "items": {
3038
2619
  "type": "string"
3039
2620
  }
@@ -3043,15 +2624,8 @@
3043
2624
  "description": "Whether the entire attribute value is highlighted."
3044
2625
  }
3045
2626
  },
3046
- "required": [
3047
- "value",
3048
- "matchLevel",
3049
- "matchedWords"
3050
- ],
3051
- "x-discriminator-fields": [
3052
- "matchLevel",
3053
- "matchedWords"
3054
- ]
2627
+ "required": ["value", "matchLevel", "matchedWords"],
2628
+ "x-discriminator-fields": ["matchLevel", "matchedWords"]
3055
2629
  },
3056
2630
  "highlightResultMap": {
3057
2631
  "title": "highlightResultMap",
@@ -3097,13 +2671,8 @@
3097
2671
  "$ref": "#/components/schemas/matchLevel"
3098
2672
  }
3099
2673
  },
3100
- "required": [
3101
- "value",
3102
- "matchLevel"
3103
- ],
3104
- "x-discriminator-fields": [
3105
- "matchLevel"
3106
- ]
2674
+ "required": ["value", "matchLevel"],
2675
+ "x-discriminator-fields": ["matchLevel"]
3107
2676
  },
3108
2677
  "snippetResultMap": {
3109
2678
  "title": "snippetResultMap",
@@ -3236,13 +2805,7 @@
3236
2805
  "description": "Whether the record is re-ranked."
3237
2806
  }
3238
2807
  },
3239
- "required": [
3240
- "nbTypos",
3241
- "firstMatchedWord",
3242
- "geoDistance",
3243
- "nbExactWords",
3244
- "userScore"
3245
- ]
2808
+ "required": ["nbTypos", "firstMatchedWord", "geoDistance", "nbExactWords", "userScore"]
3246
2809
  },
3247
2810
  "distinctSeqID": {
3248
2811
  "type": "integer"
@@ -3258,9 +2821,7 @@
3258
2821
  "type": "object",
3259
2822
  "description": "Recommend hit.",
3260
2823
  "additionalProperties": true,
3261
- "required": [
3262
- "objectID"
3263
- ],
2824
+ "required": ["objectID"],
3264
2825
  "properties": {
3265
2826
  "objectID": {
3266
2827
  "$ref": "#/components/schemas/objectID"
@@ -3281,17 +2842,12 @@
3281
2842
  "$ref": "#/components/schemas/recommendScore"
3282
2843
  }
3283
2844
  },
3284
- "x-discriminator-fields": [
3285
- "objectID"
3286
- ]
2845
+ "x-discriminator-fields": ["objectID"]
3287
2846
  },
3288
2847
  "trendingFacetHit": {
3289
2848
  "type": "object",
3290
2849
  "description": "Trending facet hit.",
3291
- "required": [
3292
- "facetName",
3293
- "facetValue"
3294
- ],
2850
+ "required": ["facetName", "facetValue"],
3295
2851
  "properties": {
3296
2852
  "_score": {
3297
2853
  "$ref": "#/components/schemas/recommendScore"
@@ -3303,10 +2859,7 @@
3303
2859
  "$ref": "#/components/schemas/facetValue"
3304
2860
  }
3305
2861
  },
3306
- "x-discriminator-fields": [
3307
- "facetName",
3308
- "facetValue"
3309
- ]
2862
+ "x-discriminator-fields": ["facetName", "facetValue"]
3310
2863
  },
3311
2864
  "recommendationsHit": {
3312
2865
  "oneOf": [
@@ -3329,9 +2882,7 @@
3329
2882
  }
3330
2883
  }
3331
2884
  },
3332
- "required": [
3333
- "hits"
3334
- ]
2885
+ "required": ["hits"]
3335
2886
  },
3336
2887
  "recommendationsResults": {
3337
2888
  "allOf": [
@@ -3348,12 +2899,7 @@
3348
2899
  },
3349
2900
  "recommendModels": {
3350
2901
  "type": "string",
3351
- "enum": [
3352
- "related-products",
3353
- "bought-together",
3354
- "trending-facets",
3355
- "trending-items"
3356
- ]
2902
+ "enum": ["related-products", "bought-together", "trending-facets", "trending-items"]
3357
2903
  },
3358
2904
  "updatedAt": {
3359
2905
  "type": "string",
@@ -3456,10 +3002,7 @@
3456
3002
  "items": {
3457
3003
  "type": "string"
3458
3004
  },
3459
- "example": [
3460
- "category:books<score=1>",
3461
- "category:-movies<score=1>"
3462
- ]
3005
+ "example": ["category:books<score=1>", "category:-movies<score=1>"]
3463
3006
  }
3464
3007
  }
3465
3008
  },
@@ -3541,7 +3084,7 @@
3541
3084
  "type": "integer",
3542
3085
  "format": "int64",
3543
3086
  "example": 1514562690001,
3544
- "description": "Unique identifier of a task.\n\nA successful API response means that a task was added to a queue. It might not run immediately. You can check the task's progress with the [`task` operation](#tag/Indices/operation/getTask) and this `taskID`.\n"
3087
+ "description": "Unique identifier of a task.\n\nA successful API response means that a task was added to a queue.\nIt might not run immediately.\nYou can check the task's progress with the [`task` operation](https://www.algolia.com/doc/rest-api/search/get-task) and this task ID.\n"
3545
3088
  },
3546
3089
  "deletedAt": {
3547
3090
  "type": "string",
@@ -3550,10 +3093,7 @@
3550
3093
  },
3551
3094
  "taskStatus": {
3552
3095
  "type": "string",
3553
- "enum": [
3554
- "published",
3555
- "notPublished"
3556
- ],
3096
+ "enum": ["published", "notPublished"],
3557
3097
  "description": "Task status, `published` if the task is completed, `notPublished` otherwise."
3558
3098
  },
3559
3099
  "parameters_query": {
@@ -3564,23 +3104,20 @@
3564
3104
  "parameters_page": {
3565
3105
  "type": "integer",
3566
3106
  "minimum": 0,
3567
- "description": "Requested page of the API response.\n\nAlgolia 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/)).\n\n- `hitsPerPage`: sets the number of search results (_hits_) displayed per page.\n- `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.\n\nFor example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.\n"
3107
+ "description": "Requested page of the API response.\n\nAlgolia 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)).\n\n- `hitsPerPage`: sets the number of search results (_hits_) displayed per page.\n- `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.\n\nFor example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.\n"
3568
3108
  },
3569
3109
  "parameters_hitsPerPage": {
3570
3110
  "type": "integer",
3571
3111
  "default": 20,
3572
3112
  "minimum": 1,
3573
3113
  "maximum": 1000,
3574
- "description": "Maximum number of hits per page.\n\nAlgolia 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/)).\n\n- `hitsPerPage`: sets the number of search results (_hits_) displayed per page.\n- `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.\n\nFor example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.\n"
3114
+ "description": "Maximum number of hits per page.\n\nAlgolia 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)).\n\n- `hitsPerPage`: sets the number of search results (_hits_) displayed per page.\n- `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.\n\nFor example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.\n"
3575
3115
  },
3576
3116
  "recommendUpdatedAtResponse": {
3577
3117
  "type": "object",
3578
3118
  "description": "Response, taskID, and update timestamp.",
3579
3119
  "additionalProperties": false,
3580
- "required": [
3581
- "taskID",
3582
- "updatedAt"
3583
- ],
3120
+ "required": ["taskID", "updatedAt"],
3584
3121
  "properties": {
3585
3122
  "taskID": {
3586
3123
  "$ref": "#/components/schemas/taskID"
@@ -3641,10 +3178,7 @@
3641
3178
  "description": "Response, taskID, and deletion timestamp.",
3642
3179
  "additionalProperties": false,
3643
3180
  "type": "object",
3644
- "required": [
3645
- "taskID",
3646
- "deletedAt"
3647
- ],
3181
+ "required": ["taskID", "deletedAt"],
3648
3182
  "properties": {
3649
3183
  "taskID": {
3650
3184
  "$ref": "#/components/schemas/taskID"
@@ -3672,10 +3206,7 @@
3672
3206
  "x-tagGroups": [
3673
3207
  {
3674
3208
  "name": "Recommend",
3675
- "tags": [
3676
- "recommendations",
3677
- "rules"
3678
- ]
3209
+ "tags": ["recommendations", "rules"]
3679
3210
  }
3680
3211
  ]
3681
- }
3212
+ }