@graphcommerce/algolia-recommend 9.1.0-canary.26 → 9.1.0-canary.29

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.
@@ -192,7 +192,7 @@ components:
192
192
  required: true
193
193
  schema:
194
194
  type: string
195
- example: YourIndexName
195
+ example: ALGOLIA_INDEX_NAME
196
196
  Models:
197
197
  in: path
198
198
  name: model
@@ -223,17 +223,31 @@ components:
223
223
  type: string
224
224
  example: products
225
225
  description: Index name (case-sensitive).
226
- query:
226
+ similarQuery:
227
227
  type: string
228
- description: Search query.
228
+ description: >
229
+ Keywords to be used instead of the search query to conduct a more broader search.
230
+
231
+
232
+ Using the `similarQuery` parameter changes other settings:
233
+
234
+
235
+ - `queryType` is set to `prefixNone`.
236
+
237
+ - `removeStopWords` is set to true.
238
+
239
+ - `words` is set as the first ranking criterion.
240
+
241
+ - All remaining words are treated as `optionalWords`.
242
+
243
+
244
+ Since the `similarQuery` is supposed to do a broad search, they usually return many results.
245
+
246
+ Combine it with `filters` to narrow down the list of results.
247
+
248
+ example: comedy drama crime Macy Buscemi
229
249
  x-categories:
230
250
  - Search
231
- searchParamsQuery:
232
- type: object
233
- additionalProperties: false
234
- properties:
235
- query:
236
- $ref: '#/components/schemas/query'
237
251
  filters:
238
252
  type: string
239
253
  description: >
@@ -312,6 +326,8 @@ components:
312
326
 
313
327
  - Optional filters are applied _after_ sort-by attributes.
314
328
 
329
+ - 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/)).
330
+
315
331
  - Optional filters don't work with numeric attributes.
316
332
 
317
333
  example:
@@ -332,7 +348,9 @@ components:
332
348
  **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.**
333
349
 
334
350
 
335
- You can use numeric comparison operators: `<`, `<=`, `=`, `!=`, `>`, `>=`. Comparsions are precise up to 3 decimals.
351
+ You can use numeric comparison operators: `<`, `<=`, `=`, `!=`, `>`, `>=`.
352
+
353
+ Comparisons are precise up to 3 decimals.
336
354
 
337
355
  You can also provide ranges: `facet:<lower> TO <upper>`. The range includes the lower and upper boundaries.
338
356
 
@@ -374,19 +392,69 @@ components:
374
392
  - type: string
375
393
  x-categories:
376
394
  - Filtering
377
- page:
378
- type: integer
379
- description: Page of search results to retrieve.
380
- minimum: 0
395
+ sumOrFiltersScores:
396
+ type: boolean
397
+ description: >
398
+ Whether to sum all filter scores.
399
+
400
+
401
+ If true, all filter scores are summed.
402
+
403
+ Otherwise, the maximum filter score is kept.
404
+
405
+ For more information, see [filter scores](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring/#accumulating-scores-with-sumorfiltersscores).
406
+
381
407
  x-categories:
382
- - Pagination
408
+ - Filtering
409
+ restrictSearchableAttributes:
410
+ type: array
411
+ items:
412
+ type: string
413
+ example:
414
+ - title
415
+ - author
416
+ description: |
417
+ Restricts a search to a subset of your searchable attributes.
418
+ Attribute names are case-sensitive.
419
+ x-categories:
420
+ - Filtering
421
+ facets:
422
+ type: array
423
+ items:
424
+ type: string
425
+ description: >
426
+ Facets for which to retrieve facet values that match the search criteria and the number of matching facet values.
427
+
428
+
429
+ To retrieve all facets, use the wildcard character `*`.
430
+
431
+ For more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts).
432
+
433
+ example:
434
+ - '*'
435
+ x-categories:
436
+ - Faceting
437
+ facetingAfterDistinct:
438
+ type: boolean
439
+ description: >
440
+ Whether faceting should be applied after deduplication with `distinct`.
441
+
442
+
443
+ This leads to accurate facet counts when using faceting in combination with `distinct`.
444
+
445
+ It's usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting,
446
+
447
+ as `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`.
448
+
449
+ x-categories:
450
+ - Faceting
383
451
  aroundLatLng:
384
452
  type: string
385
453
  description: >
386
454
  Coordinates for the center of a circle, expressed as a comma-separated string of latitude and longitude.
387
455
 
388
456
 
389
- Only records included within circle around this central location are included in the results.
457
+ Only records included within a circle around this central location are included in the results.
390
458
 
391
459
  The radius of the circle is determined by the `aroundRadius` and `minimumAroundRadius` settings.
392
460
 
@@ -468,7 +536,15 @@ components:
468
536
  - $ref: '#/components/schemas/aroundPrecisionFromValue'
469
537
  x-categories:
470
538
  - Geo-Search
471
- insideBoundingBox:
539
+ minimumAroundRadius:
540
+ type: integer
541
+ description: >-
542
+ Minimum radius (in meters) for a search around a location when `aroundRadius` isn't set.
543
+
544
+ minimum: 1
545
+ x-categories:
546
+ - Geo-Search
547
+ insideBoundingBoxArray:
472
548
  type: array
473
549
  items:
474
550
  type: array
@@ -500,6 +576,11 @@ components:
500
576
  - 1.9916
501
577
  x-categories:
502
578
  - Geo-Search
579
+ insideBoundingBox:
580
+ oneOf:
581
+ - type: string
582
+ - type: 'null'
583
+ - $ref: '#/components/schemas/insideBoundingBoxArray'
503
584
  insidePolygon:
504
585
  type: array
505
586
  items:
@@ -608,6 +689,50 @@ components:
608
689
  - ur
609
690
  - uz
610
691
  - zh
692
+ naturalLanguages:
693
+ type: array
694
+ items:
695
+ $ref: '#/components/schemas/supportedLanguage'
696
+ description: >
697
+ ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches):
698
+
699
+
700
+ - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages.
701
+
702
+ - Sets `removeWordsIfNoResults` to `allOptional`.
703
+
704
+ - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`.
705
+
706
+ x-categories:
707
+ - Languages
708
+ ruleContexts:
709
+ type: array
710
+ items:
711
+ type: string
712
+ description: >
713
+ Assigns a rule context to the search query.
714
+
715
+
716
+ [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.
717
+
718
+ example:
719
+ - mobile
720
+ x-categories:
721
+ - Rules
722
+ personalizationImpact:
723
+ type: integer
724
+ description: >
725
+ Impact that Personalization should have on this search.
726
+
727
+
728
+ The higher this value is, the more Personalization determines the ranking compared to other factors.
729
+
730
+ For more information, see [Understanding Personalization impact](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact).
731
+
732
+ minimum: 0
733
+ maximum: 100
734
+ x-categories:
735
+ - Personalization
611
736
  userToken:
612
737
  type: string
613
738
  description: >
@@ -621,35 +746,58 @@ components:
621
746
  example: test-user-123
622
747
  x-categories:
623
748
  - Personalization
624
- baseSearchParamsWithoutQuery:
749
+ getRankingInfo:
750
+ type: boolean
751
+ description: Whether the search response should include detailed ranking information.
752
+ x-categories:
753
+ - Advanced
754
+ synonyms:
755
+ type: boolean
756
+ description: Whether to take into account an index's synonyms for this search.
757
+ x-categories:
758
+ - Advanced
759
+ clickAnalytics:
760
+ type: boolean
761
+ description: >
762
+ Whether to include a `queryID` attribute in the response.
763
+
764
+
765
+ The 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/).
766
+
767
+ x-categories:
768
+ - Analytics
769
+ analytics:
770
+ type: boolean
771
+ description: Whether this search will be included in Analytics.
772
+ x-categories:
773
+ - Analytics
774
+ analyticsTags:
775
+ type: array
776
+ items:
777
+ type: string
778
+ description: >-
779
+ Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments/).
780
+
781
+ x-categories:
782
+ - Analytics
783
+ percentileComputation:
784
+ type: boolean
785
+ description: >-
786
+ Whether to include this search when calculating processing-time percentiles.
787
+
788
+ x-categories:
789
+ - Advanced
790
+ enableABTest:
791
+ type: boolean
792
+ description: Whether to enable A/B testing for this search.
793
+ x-categories:
794
+ - Advanced
795
+ baseRecommendSearchParams:
625
796
  type: object
626
797
  additionalProperties: false
627
798
  properties:
628
799
  similarQuery:
629
- type: string
630
- description: >
631
- Keywords to be used instead of the search query to conduct a more broader search.
632
-
633
-
634
- Using the `similarQuery` parameter changes other settings:
635
-
636
-
637
- - `queryType` is set to `prefixNone`.
638
-
639
- - `removeStopWords` is set to true.
640
-
641
- - `words` is set as the first ranking criterion.
642
-
643
- - All remaining words are treated as `optionalWords`.
644
-
645
-
646
- Since the `similarQuery` is supposed to do a broad search, they usually return many results.
647
-
648
- Combine it with `filters` to narrow down the list of results.
649
-
650
- example: comedy drama crime Macy Buscemi
651
- x-categories:
652
- - Search
800
+ $ref: '#/components/schemas/similarQuery'
653
801
  filters:
654
802
  $ref: '#/components/schemas/filters'
655
803
  facetFilters:
@@ -661,74 +809,13 @@ components:
661
809
  tagFilters:
662
810
  $ref: '#/components/schemas/tagFilters'
663
811
  sumOrFiltersScores:
664
- type: boolean
665
- description: >
666
- Whether to sum all filter scores.
667
-
668
-
669
- If true, all filter scores are summed.
670
-
671
- Otherwise, the maximum filter score is kept.
672
-
673
- For more information, see [filter scores](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring/#accumulating-scores-with-sumorfiltersscores).
674
-
675
- x-categories:
676
- - Filtering
812
+ $ref: '#/components/schemas/sumOrFiltersScores'
677
813
  restrictSearchableAttributes:
678
- type: array
679
- items:
680
- type: string
681
- example:
682
- - title
683
- - author
684
- description: |
685
- Restricts a search to a subset of your searchable attributes.
686
- Attribute names are case-sensitive.
687
- x-categories:
688
- - Filtering
814
+ $ref: '#/components/schemas/restrictSearchableAttributes'
689
815
  facets:
690
- type: array
691
- items:
692
- type: string
693
- description: >
694
- Facets for which to retrieve facet values that match the search criteria and the number of matching facet values.
695
-
696
-
697
- To retrieve all facets, use the wildcard character `*`.
698
-
699
- For more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts).
700
-
701
- default: []
702
- x-categories:
703
- - Faceting
816
+ $ref: '#/components/schemas/facets'
704
817
  facetingAfterDistinct:
705
- type: boolean
706
- description: >
707
- Whether faceting should be applied after deduplication with `distinct`.
708
-
709
-
710
- This leads to accurate facet counts when using faceting in combination with `distinct`.
711
-
712
- It's usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting,
713
-
714
- as `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`.
715
-
716
- x-categories:
717
- - Faceting
718
- page:
719
- $ref: '#/components/schemas/page'
720
- offset:
721
- type: integer
722
- description: Position of the first hit to retrieve.
723
- x-categories:
724
- - Pagination
725
- length:
726
- type: integer
727
- description: Number of hits to retrieve (used in combination with `offset`).
728
- minimum: 0
729
- maximum: 1000
730
- x-categories:
731
- - Pagination
818
+ $ref: '#/components/schemas/facetingAfterDistinct'
732
819
  aroundLatLng:
733
820
  $ref: '#/components/schemas/aroundLatLng'
734
821
  aroundLatLngViaIP:
@@ -738,122 +825,626 @@ components:
738
825
  aroundPrecision:
739
826
  $ref: '#/components/schemas/aroundPrecision'
740
827
  minimumAroundRadius:
741
- type: integer
742
- description: >-
743
- Minimum radius (in meters) for a search around a location when `aroundRadius` isn't set.
744
-
745
- minimum: 1
746
- x-categories:
747
- - Geo-Search
828
+ $ref: '#/components/schemas/minimumAroundRadius'
748
829
  insideBoundingBox:
749
830
  $ref: '#/components/schemas/insideBoundingBox'
750
831
  insidePolygon:
751
832
  $ref: '#/components/schemas/insidePolygon'
752
833
  naturalLanguages:
834
+ $ref: '#/components/schemas/naturalLanguages'
835
+ ruleContexts:
836
+ $ref: '#/components/schemas/ruleContexts'
837
+ personalizationImpact:
838
+ $ref: '#/components/schemas/personalizationImpact'
839
+ userToken:
840
+ $ref: '#/components/schemas/userToken'
841
+ getRankingInfo:
842
+ $ref: '#/components/schemas/getRankingInfo'
843
+ synonyms:
844
+ $ref: '#/components/schemas/synonyms'
845
+ clickAnalytics:
846
+ $ref: '#/components/schemas/clickAnalytics'
847
+ analytics:
848
+ $ref: '#/components/schemas/analytics'
849
+ analyticsTags:
850
+ $ref: '#/components/schemas/analyticsTags'
851
+ percentileComputation:
852
+ $ref: '#/components/schemas/percentileComputation'
853
+ enableABTest:
854
+ $ref: '#/components/schemas/enableABTest'
855
+ query:
856
+ type: string
857
+ description: Search query.
858
+ x-categories:
859
+ - Search
860
+ searchParamsQuery:
861
+ type: object
862
+ additionalProperties: false
863
+ properties:
864
+ query:
865
+ $ref: '#/components/schemas/query'
866
+ userData:
867
+ example:
868
+ settingID: f2a7b51e3503acc6a39b3784ffb84300
869
+ pluginVersion: 1.6.0
870
+ description: |
871
+ An object with custom data.
872
+
873
+ You can store up to 32kB as custom data.
874
+ x-categories:
875
+ - Advanced
876
+ maxFacetHits:
877
+ type: integer
878
+ description: >-
879
+ 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).
880
+
881
+ maximum: 100
882
+ x-categories:
883
+ - Advanced
884
+ baseIndexSettings:
885
+ type: object
886
+ additionalProperties: false
887
+ properties:
888
+ attributesForFaceting:
753
889
  type: array
754
890
  items:
755
- $ref: '#/components/schemas/supportedLanguage'
891
+ type: string
892
+ example:
893
+ - author
894
+ - filterOnly(isbn)
895
+ - searchable(edition)
896
+ - afterDistinct(category)
897
+ - afterDistinct(searchable(publisher))
756
898
  description: >
757
- ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches):
899
+ Attributes used for [faceting](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/).
900
+
758
901
 
902
+ Facets are attributes that let you categorize search results.
759
903
 
760
- - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages.
904
+ They can be used for filtering search results.
761
905
 
762
- - Sets `removeWordsIfNoResults` to `allOptional`.
906
+ By default, no attribute is used for faceting.
763
907
 
764
- - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`.
908
+ Attribute names are case-sensitive.
909
+
910
+
911
+ **Modifiers**
912
+
913
+
914
+ - `filterOnly("ATTRIBUTE")`.
915
+ Allows the attribute to be used as a filter but doesn't evaluate the facet values.
916
+
917
+ - `searchable("ATTRIBUTE")`.
918
+ Allows searching for facet values.
919
+
920
+ - `afterDistinct("ATTRIBUTE")`.
921
+ Evaluates the facet count _after_ deduplication with `distinct`.
922
+ This ensures accurate facet counts.
923
+ You can apply this modifier to searchable facets: `afterDistinct(searchable(ATTRIBUTE))`.
765
924
 
766
925
  x-categories:
767
- - Languages
768
- ruleContexts:
926
+ - Faceting
927
+ replicas:
769
928
  type: array
770
929
  items:
771
930
  type: string
931
+ example:
932
+ - virtual(prod_products_price_asc)
933
+ - dev_products_replica
772
934
  description: >
773
- Assigns a rule context to the search query.
935
+ Creates [replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/).
774
936
 
775
937
 
776
- [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.
777
-
778
- example:
779
- - mobile
780
- x-categories:
781
- - Rules
782
- personalizationImpact:
938
+ Replicas are copies of a primary index with the same records but different settings, synonyms, or rules.
939
+
940
+ If you want to offer a different ranking or sorting of your search results, you'll use replica indices.
941
+
942
+ All index operations on a primary index are automatically forwarded to its replicas.
943
+
944
+ To add a replica index, you must provide the complete set of replicas to this parameter.
945
+
946
+ If you omit a replica from this list, the replica turns into a regular, standalone index that will no longer be synced with the primary index.
947
+
948
+
949
+ **Modifier**
950
+
951
+
952
+ - `virtual("REPLICA")`.
953
+ Create a virtual replica,
954
+ 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/).
955
+
956
+ x-categories:
957
+ - Ranking
958
+ paginationLimitedTo:
783
959
  type: integer
960
+ example: 100
961
+ description: >
962
+ Maximum number of search results that can be obtained through pagination.
963
+
964
+
965
+ Higher pagination limits might slow down your search.
966
+
967
+ For pagination limits above 1,000, the sorting of results beyond the 1,000th hit can't be guaranteed.
968
+
969
+ maximum: 20000
970
+ unretrievableAttributes:
971
+ type: array
972
+ items:
973
+ type: string
974
+ example:
975
+ - total_sales
976
+ description: >
977
+ Attributes that can't be retrieved at query time.
978
+
979
+
980
+ This can be useful if you want to use an attribute for ranking or to [restrict access](https://www.algolia.com/doc/guides/security/api-keys/how-to/user-restricted-access-to-data/),
981
+
982
+ but don't want to include it in the search results.
983
+
984
+ Attribute names are case-sensitive.
985
+
986
+ x-categories:
987
+ - Attributes
988
+ disableTypoToleranceOnWords:
989
+ type: array
990
+ items:
991
+ type: string
992
+ example:
993
+ - wheel
994
+ - 1X2BCD
995
+ description: >
996
+ 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).
997
+
998
+ This also turns off [word splitting and concatenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) for the specified words.
999
+
1000
+ x-categories:
1001
+ - Typos
1002
+ attributesToTransliterate:
1003
+ description: >
1004
+ 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).
1005
+
1006
+
1007
+ Transliteration supports searching in any of the Japanese writing systems.
1008
+
1009
+ To support transliteration, you must set the indexing language to Japanese.
1010
+
1011
+ Attribute names are case-sensitive.
1012
+
1013
+ type: array
1014
+ items:
1015
+ type: string
1016
+ example:
1017
+ - name
1018
+ - description
1019
+ x-categories:
1020
+ - Languages
1021
+ camelCaseAttributes:
1022
+ type: array
1023
+ items:
1024
+ type: string
1025
+ example:
1026
+ - description
1027
+ description: >
1028
+ Attributes for which to split [camel case](https://wikipedia.org/wiki/Camel_case) words.
1029
+
1030
+ Attribute names are case-sensitive.
1031
+
1032
+ x-categories:
1033
+ - Languages
1034
+ decompoundedAttributes:
1035
+ type: object
1036
+ example:
1037
+ de:
1038
+ - name
1039
+ description: >
1040
+ 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).
1041
+
1042
+ Attribute names are case-sensitive.
1043
+
1044
+
1045
+ Compound words are formed by combining two or more individual words,
1046
+
1047
+ and are particularly prevalent in Germanic languages—for example, "firefighter".
1048
+
1049
+ With decompounding, the individual components are indexed separately.
1050
+
1051
+
1052
+ You can specify different lists for different languages.
1053
+
1054
+ Decompounding is supported for these languages:
1055
+
1056
+ Dutch (`nl`), German (`de`), Finnish (`fi`), Danish (`da`), Swedish (`sv`), and Norwegian (`no`).
1057
+
1058
+ Decompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark).
1059
+
1060
+ For example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).
1061
+
1062
+ x-categories:
1063
+ - Languages
1064
+ indexLanguages:
1065
+ type: array
1066
+ items:
1067
+ $ref: '#/components/schemas/supportedLanguage'
1068
+ example:
1069
+ - ja
784
1070
  description: >
785
- Impact that Personalization should have on this search.
1071
+ Languages for language-specific processing steps, such as word detection and dictionary settings.
1072
+
1073
+
1074
+ **You should always specify an indexing language.**
1075
+
1076
+ If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/),
1077
+
1078
+ or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.
1079
+
1080
+ This can lead to unexpected search results.
786
1081
 
1082
+ For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/).
1083
+
1084
+ x-categories:
1085
+ - Languages
1086
+ disablePrefixOnAttributes:
1087
+ type: array
1088
+ items:
1089
+ type: string
1090
+ example:
1091
+ - sku
1092
+ description: >
1093
+ 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).
787
1094
 
788
- The higher this value is, the more Personalization determines the ranking compared to other factors.
1095
+ Attribute names are case-sensitive.
1096
+
1097
+ x-categories:
1098
+ - Query strategy
1099
+ allowCompressionOfIntegerArray:
1100
+ type: boolean
1101
+ description: >
1102
+ Whether arrays with exclusively non-negative integers should be compressed for better performance.
789
1103
 
790
- For more information, see [Understanding Personalization impact](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact).
1104
+ If true, the compressed arrays may be reordered.
1105
+
1106
+ x-categories:
1107
+ - Performance
1108
+ numericAttributesForFiltering:
1109
+ type: array
1110
+ items:
1111
+ type: string
1112
+ description: >
1113
+ 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).
1114
+
1115
+ Attribute names are case-sensitive.
1116
+
1117
+
1118
+ By default, all numeric attributes are available as numerical filters.
1119
+
1120
+ For faster indexing, reduce the number of numeric attributes.
1121
+
1122
+
1123
+ To turn off filtering for all numeric attributes, specify an attribute that doesn't exist in your index, such as `NO_NUMERIC_FILTERING`.
1124
+
1125
+
1126
+ **Modifier**
1127
+
1128
+
1129
+ - `equalOnly("ATTRIBUTE")`.
1130
+ Support only filtering based on equality comparisons `=` and `!=`.
1131
+
1132
+ example:
1133
+ - equalOnly(quantity)
1134
+ - popularity
1135
+ x-categories:
1136
+ - Performance
1137
+ separatorsToIndex:
1138
+ type: string
1139
+ example: +#
1140
+ description: >
1141
+ Control which non-alphanumeric characters are indexed.
1142
+
1143
+
1144
+ By default, Algolia ignores [non-alphanumeric characters](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/how-to/how-to-search-in-hyphenated-attributes/#handling-non-alphanumeric-characters) like hyphen (`-`), plus (`+`), and parentheses (`(`,`)`).
1145
+
1146
+ To include such characters, define them with `separatorsToIndex`.
1147
+
1148
+
1149
+ Separators are all non-letter characters except spaces and currency characters, such as $€£¥.
1150
+
1151
+
1152
+ With `separatorsToIndex`, Algolia treats separator characters as separate words.
1153
+
1154
+ For example, in a search for "Disney+", Algolia considers "Disney" and "+" as two separate words.
1155
+
1156
+ x-categories:
1157
+ - Typos
1158
+ searchableAttributes:
1159
+ type: array
1160
+ items:
1161
+ type: string
1162
+ example:
1163
+ - title,alternative_title
1164
+ - author
1165
+ - unordered(text)
1166
+ - emails.personal
1167
+ description: >
1168
+ Attributes used for searching. Attribute names are case-sensitive.
1169
+
1170
+
1171
+ By default, all attributes are searchable and the [Attribute](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#attribute) ranking criterion is turned off.
1172
+
1173
+ With a non-empty list, Algolia only returns results with matches in the selected attributes.
1174
+
1175
+ In addition, the Attribute ranking criterion is turned on: matches in attributes that are higher in the list of `searchableAttributes` rank first.
1176
+
1177
+ To make matches in two attributes rank equally, include them in a comma-separated string, such as `"title,alternate_title"`.
1178
+
1179
+ Attributes with the same priority are always unordered.
1180
+
1181
+
1182
+ For more information, see [Searchable attributes](https://www.algolia.com/doc/guides/sending-and-managing-data/prepare-your-data/how-to/setting-searchable-attributes/).
1183
+
1184
+
1185
+ **Modifier**
1186
+
1187
+
1188
+ - `unordered("ATTRIBUTE")`.
1189
+ Ignore the position of a match within the attribute.
1190
+
1191
+ Without a modifier, matches at the beginning of an attribute rank higher than matches at the end.
1192
+
1193
+ x-categories:
1194
+ - Attributes
1195
+ userData:
1196
+ $ref: '#/components/schemas/userData'
1197
+ customNormalization:
1198
+ description: >
1199
+ Characters and their normalized replacements.
1200
+
1201
+ This overrides Algolia's default [normalization](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/).
1202
+
1203
+ type: object
1204
+ additionalProperties:
1205
+ type: object
1206
+ additionalProperties:
1207
+ type: string
1208
+ x-categories:
1209
+ - Languages
1210
+ attributeForDistinct:
1211
+ description: >
1212
+ Attribute that should be used to establish groups of results.
1213
+
1214
+ Attribute names are case-sensitive.
1215
+
1216
+
1217
+ All records with the same value for this attribute are considered a group.
1218
+
1219
+ You can combine `attributeForDistinct` with the `distinct` search parameter to control
1220
+
1221
+ how many items per group are included in the search results.
1222
+
1223
+
1224
+ If you want to use the same attribute also for faceting, use the `afterDistinct` modifier of the `attributesForFaceting` setting.
1225
+
1226
+ This applies faceting _after_ deduplication, which will result in accurate facet counts.
1227
+
1228
+ example: url
1229
+ type: string
1230
+ maxFacetHits:
1231
+ $ref: '#/components/schemas/maxFacetHits'
1232
+ keepDiacriticsOnCharacters:
1233
+ type: string
1234
+ example: øé
1235
+ description: |
1236
+ Characters for which diacritics should be preserved.
1237
+
1238
+ By default, Algolia removes diacritics from letters.
1239
+ For example, `é` becomes `e`. If this causes issues in your search,
1240
+ you can specify characters that should keep their diacritics.
1241
+ x-categories:
1242
+ - Languages
1243
+ customRanking:
1244
+ type: array
1245
+ items:
1246
+ type: string
1247
+ example:
1248
+ - desc(popularity)
1249
+ - asc(price)
1250
+ description: >
1251
+ Attributes to use as [custom ranking](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking/).
1252
+
1253
+ Attribute names are case-sensitive.
1254
+
1255
+
1256
+ The custom ranking attributes decide which items are shown first if the other ranking criteria are equal.
1257
+
1258
+
1259
+ Records with missing values for your selected custom ranking attributes are always sorted last.
1260
+
1261
+ Boolean attributes are sorted based on their alphabetical order.
1262
+
1263
+
1264
+ **Modifiers**
1265
+
1266
+
1267
+ - `asc("ATTRIBUTE")`.
1268
+ Sort the index by the values of an attribute, in ascending order.
1269
+
1270
+ - `desc("ATTRIBUTE")`.
1271
+ Sort the index by the values of an attribute, in descending order.
1272
+
1273
+ If you use two or more custom ranking attributes,
1274
+
1275
+ [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,
1276
+
1277
+ or the other attributes will never be applied.
1278
+
1279
+ x-categories:
1280
+ - Ranking
1281
+ attributesToRetrieve:
1282
+ type: array
1283
+ items:
1284
+ type: string
1285
+ example:
1286
+ - author
1287
+ - title
1288
+ - content
1289
+ description: >
1290
+ Attributes to include in the API response.
1291
+
1292
+
1293
+ To reduce the size of your response, you can retrieve only some of the attributes.
1294
+
1295
+ Attribute names are case-sensitive.
1296
+
1297
+
1298
+ - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings.
1299
+
1300
+ - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `["*", "-ATTRIBUTE"]`.
1301
+
1302
+ - The `objectID` attribute is always included.
1303
+
1304
+ x-categories:
1305
+ - Attributes
1306
+ ranking:
1307
+ type: array
1308
+ items:
1309
+ type: string
1310
+ description: >
1311
+ Determines the order in which Algolia returns your results.
1312
+
1313
+
1314
+ By default, each entry corresponds to a [ranking criteria](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/).
1315
+
1316
+ The tie-breaking algorithm sequentially applies each criterion in the order they're specified.
1317
+
1318
+ If you configure a replica index for [sorting by an attribute](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/how-to/sort-by-attribute/),
1319
+
1320
+ you put the sorting attribute at the top of the list.
1321
+
1322
+
1323
+ **Modifiers**
1324
+
1325
+
1326
+ - `asc("ATTRIBUTE")`.
1327
+ Sort the index by the values of an attribute, in ascending order.
1328
+ - `desc("ATTRIBUTE")`.
1329
+ Sort the index by the values of an attribute, in descending order.
1330
+
1331
+ Before you modify the default setting,
1332
+
1333
+ you should test your changes in the dashboard,
1334
+
1335
+ and by [A/B testing](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/).
1336
+
1337
+ x-categories:
1338
+ - Ranking
1339
+ relevancyStrictness:
1340
+ type: integer
1341
+ example: 90
1342
+ description: >
1343
+ Relevancy threshold below which less relevant results aren't included in the results.
1344
+
1345
+
1346
+ You can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas).
1347
+
1348
+ Use this setting to strike a balance between the relevance and number of returned results.
1349
+
1350
+ x-categories:
1351
+ - Ranking
1352
+ attributesToHighlight:
1353
+ type: array
1354
+ items:
1355
+ type: string
1356
+ example:
1357
+ - author
1358
+ - title
1359
+ - conten
1360
+ - content
1361
+ description: >
1362
+ Attributes to highlight.
1363
+
1364
+
1365
+ By default, all searchable attributes are highlighted.
1366
+
1367
+ Use `*` to highlight all attributes or use an empty array `[]` to turn off highlighting.
1368
+
1369
+ Attribute names are case-sensitive.
1370
+
1371
+
1372
+ With highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`.
1373
+
1374
+ You can use this to visually highlight matching parts of a search query in your UI.
1375
+
1376
+
1377
+ For more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js/).
1378
+
1379
+ x-categories:
1380
+ - Highlighting and Snippeting
1381
+ attributesToSnippet:
1382
+ type: array
1383
+ items:
1384
+ type: string
1385
+ example:
1386
+ - content:80
1387
+ - description
1388
+ description: >
1389
+ Attributes for which to enable snippets.
1390
+
1391
+ Attribute names are case-sensitive.
1392
+
1393
+
1394
+ Snippets provide additional context to matched words.
1395
+
1396
+ If you enable snippets, they include 10 words, including the matched word.
1397
+
1398
+ The matched word will also be wrapped by HTML tags for highlighting.
1399
+
1400
+ You can adjust the number of words with the following notation: `ATTRIBUTE:NUMBER`,
1401
+
1402
+ where `NUMBER` is the number of words to be extracted.
791
1403
 
792
- minimum: 0
793
- maximum: 100
794
- x-categories:
795
- - Personalization
796
- userToken:
797
- $ref: '#/components/schemas/userToken'
798
- getRankingInfo:
799
- type: boolean
800
- description: >-
801
- Whether the search response should include detailed ranking information.
1404
+ x-categories:
1405
+ - Highlighting and Snippeting
1406
+ highlightPreTag:
1407
+ type: string
1408
+ description: >-
1409
+ HTML tag to insert before the highlighted parts in all highlighted results and snippets.
802
1410
 
803
- x-categories:
804
- - Advanced
805
- synonyms:
806
- type: boolean
807
- description: Whether to take into account an index's synonyms for this search.
808
- x-categories:
809
- - Advanced
810
- clickAnalytics:
811
- type: boolean
812
- description: >
813
- Whether to include a `queryID` attribute in the response.
814
-
815
-
816
- The 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/).
1411
+ x-categories:
1412
+ - Highlighting and Snippeting
1413
+ highlightPostTag:
1414
+ type: string
1415
+ description: >-
1416
+ HTML tag to insert after the highlighted parts in all highlighted results and snippets.
817
1417
 
818
- x-categories:
819
- - Analytics
820
- analytics:
821
- type: boolean
822
- description: Whether this search will be included in Analytics.
823
- x-categories:
824
- - Analytics
825
- analyticsTags:
826
- type: array
827
- items:
828
- type: string
829
- description: >-
830
- Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments/).
1418
+ x-categories:
1419
+ - Highlighting and Snippeting
1420
+ snippetEllipsisText:
1421
+ type: string
1422
+ description: String used as an ellipsis indicator when a snippet is truncated.
1423
+ x-categories:
1424
+ - Highlighting and Snippeting
1425
+ restrictHighlightAndSnippetArrays:
1426
+ type: boolean
1427
+ description: >
1428
+ Whether to restrict highlighting and snippeting to items that at least partially matched the search query.
1429
+
1430
+ By default, all items are highlighted and snippeted.
831
1431
 
832
- x-categories:
833
- - Analytics
834
- percentileComputation:
835
- type: boolean
836
- description: >-
837
- Whether to include this search when calculating processing-time percentiles.
1432
+ x-categories:
1433
+ - Highlighting and Snippeting
1434
+ minWordSizefor1Typo:
1435
+ type: integer
1436
+ description: >-
1437
+ 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).
838
1438
 
839
- x-categories:
840
- - Advanced
841
- enableABTest:
842
- type: boolean
843
- description: Whether to enable A/B testing for this search.
844
- x-categories:
845
- - Advanced
846
- baseSearchParams:
847
- allOf:
848
- - $ref: '#/components/schemas/searchParamsQuery'
849
- - $ref: '#/components/schemas/baseSearchParamsWithoutQuery'
850
- hitsPerPage:
1439
+ x-categories:
1440
+ - Typos
1441
+ minWordSizefor2Typos:
851
1442
  type: integer
852
- description: Number of hits per page.
853
- minimum: 1
854
- maximum: 1000
1443
+ description: >-
1444
+ 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).
1445
+
855
1446
  x-categories:
856
- - Pagination
1447
+ - Typos
857
1448
  typoToleranceEnum:
858
1449
  type: string
859
1450
  title: typo tolerance
@@ -871,7 +1462,7 @@ components:
871
1462
  Whether [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/) is enabled and how it is applied.
872
1463
 
873
1464
 
874
- If typo tolerance is true, `min`, or `strict`, [word splitting and concetenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) is also active.
1465
+ If typo tolerance is true, `min`, or `strict`, [word splitting and concatenation](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/splitting-and-concatenation/) are also active.
875
1466
 
876
1467
  oneOf:
877
1468
  - type: boolean
@@ -882,6 +1473,39 @@ components:
882
1473
  - $ref: '#/components/schemas/typoToleranceEnum'
883
1474
  x-categories:
884
1475
  - Typos
1476
+ allowTyposOnNumericTokens:
1477
+ type: boolean
1478
+ description: |
1479
+ Whether to allow typos on numbers in the search query.
1480
+
1481
+ Turn off this setting to reduce the number of irrelevant matches
1482
+ when searching in large sets of similar numbers.
1483
+ x-categories:
1484
+ - Typos
1485
+ disableTypoToleranceOnAttributes:
1486
+ type: array
1487
+ items:
1488
+ type: string
1489
+ example:
1490
+ - sku
1491
+ description: >
1492
+ Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/).
1493
+
1494
+ Attribute names are case-sensitive.
1495
+
1496
+
1497
+ Returning only exact matches can help when:
1498
+
1499
+
1500
+ - [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/).
1501
+
1502
+ - Reducing the number of matches when you have too many.
1503
+ This can happen with attributes that are long blocks of text, such as product descriptions.
1504
+
1505
+ Consider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos.
1506
+
1507
+ x-categories:
1508
+ - Typos
885
1509
  booleanString:
886
1510
  type: string
887
1511
  enum:
@@ -942,6 +1566,61 @@ components:
942
1566
 
943
1567
  x-categories:
944
1568
  - Languages
1569
+ queryLanguages:
1570
+ type: array
1571
+ items:
1572
+ $ref: '#/components/schemas/supportedLanguage'
1573
+ example:
1574
+ - es
1575
+ description: >
1576
+ Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries.
1577
+
1578
+
1579
+ This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings.
1580
+
1581
+ This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages.
1582
+
1583
+ To support this, you must place the CJK language **first**.
1584
+
1585
+
1586
+ **You should always specify a query language.**
1587
+
1588
+ If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/),
1589
+
1590
+ or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.
1591
+
1592
+ This can lead to unexpected search results.
1593
+
1594
+ For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/).
1595
+
1596
+ x-categories:
1597
+ - Languages
1598
+ decompoundQuery:
1599
+ type: boolean
1600
+ description: >
1601
+ Whether to split compound words in the query into their building blocks.
1602
+
1603
+
1604
+ For 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).
1605
+
1606
+ Word segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian.
1607
+
1608
+ Decompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark).
1609
+
1610
+ For example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).
1611
+
1612
+ x-categories:
1613
+ - Languages
1614
+ enableRules:
1615
+ type: boolean
1616
+ description: Whether to enable rules.
1617
+ x-categories:
1618
+ - Rules
1619
+ enablePersonalization:
1620
+ type: boolean
1621
+ description: Whether to enable Personalization.
1622
+ x-categories:
1623
+ - Personalization
945
1624
  queryType:
946
1625
  type: string
947
1626
  enum:
@@ -952,7 +1631,7 @@ components:
952
1631
  Determines if and how query words are interpreted as prefixes.
953
1632
 
954
1633
 
955
- By default, only the last query word is treated as prefix (`prefixLast`).
1634
+ By default, only the last query word is treated as a prefix (`prefixLast`).
956
1635
 
957
1636
  To turn off prefix search, use `prefixNone`.
958
1637
 
@@ -997,35 +1676,82 @@ components:
997
1676
 
998
1677
  x-categories:
999
1678
  - Query strategy
1000
- mode:
1001
- type: string
1002
- enum:
1003
- - neuralSearch
1004
- - keywordSearch
1679
+ advancedSyntax:
1680
+ type: boolean
1005
1681
  description: >
1006
- Search mode the index will use to query for results.
1682
+ Whether to support phrase matching and excluding words from search queries.
1007
1683
 
1008
1684
 
1009
- This setting only applies to indices, for which Algolia enabled NeuralSearch for you.
1685
+ Use the `advancedSyntaxFeatures` parameter to control which feature is supported.
1010
1686
 
1011
1687
  x-categories:
1012
1688
  - Query strategy
1013
- semanticSearch:
1014
- type: object
1015
- description: |
1016
- Settings for the semantic search part of NeuralSearch.
1017
- Only used when `mode` is `neuralSearch`.
1018
- properties:
1019
- eventSources:
1020
- oneOf:
1021
- - type: array
1022
- description: |
1023
- Indices from which to collect click and conversion events.
1689
+ optionalWordsArray:
1690
+ type: array
1691
+ items:
1692
+ type: string
1693
+ example:
1694
+ - blue
1695
+ - iphone case
1696
+ description: >-
1697
+ 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).
1024
1698
 
1025
- If null, the current index and all its replicas are used.
1026
- items:
1027
- type: string
1028
- - type: 'null'
1699
+ x-categories:
1700
+ - Query strategy
1701
+ optionalWords:
1702
+ description: >
1703
+ Words that should be considered optional when found in the query.
1704
+
1705
+
1706
+ By default, records must match all words in the search query to be included in the search results.
1707
+
1708
+ Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words.
1709
+
1710
+ For example, if the search query is "action video" and "video" is an optional word,
1711
+
1712
+ the search engine runs two queries. One for "action video" and one for "action".
1713
+
1714
+ Records that match all words are ranked higher.
1715
+
1716
+
1717
+ For a search query with 4 or more words **and** all its words are optional,
1718
+
1719
+ the number of matched words required for a record to be included in the search results increases for every 1,000 records:
1720
+
1721
+
1722
+ - If `optionalWords` has less than 10 words, the required number of matched words increases by 1:
1723
+ results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words.
1724
+ - 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).
1725
+ For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words.
1726
+
1727
+ For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
1728
+
1729
+ oneOf:
1730
+ - type: string
1731
+ - type: 'null'
1732
+ - $ref: '#/components/schemas/optionalWordsArray'
1733
+ disableExactOnAttributes:
1734
+ type: array
1735
+ items:
1736
+ type: string
1737
+ example:
1738
+ - description
1739
+ description: >
1740
+ 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).
1741
+
1742
+ Attribute names are case-sensitive.
1743
+
1744
+
1745
+ This can be useful for attributes with long values, where the likelihood of an exact match is high,
1746
+
1747
+ such as product descriptions.
1748
+
1749
+ Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes.
1750
+
1751
+ This reduces the impact of individual attributes with a lot of content on ranking.
1752
+
1753
+ x-categories:
1754
+ - Query strategy
1029
1755
  exactOnSingleWordQuery:
1030
1756
  type: string
1031
1757
  enum:
@@ -1057,6 +1783,36 @@ components:
1057
1783
  - ignorePlurals
1058
1784
  - singleWordSynonym
1059
1785
  - multiWordsSynonym
1786
+ - ignoreConjugations
1787
+ x-categories:
1788
+ - Query strategy
1789
+ properties-alternativesAsExact:
1790
+ type: array
1791
+ items:
1792
+ $ref: '#/components/schemas/alternativesAsExact'
1793
+ description: >
1794
+ Determine which plurals and synonyms should be considered an exact matches.
1795
+
1796
+
1797
+ By default, Algolia treats singular and plural forms of a word, and single-word synonyms, as [exact](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#exact) matches when searching.
1798
+
1799
+ For example:
1800
+
1801
+
1802
+ - "swimsuit" and "swimsuits" are treated the same
1803
+
1804
+ - "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)).
1805
+
1806
+
1807
+ - `ignorePlurals`.
1808
+ Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches.
1809
+
1810
+ - `singleWordSynonym`.
1811
+ Single-word synonyms, such as "NY" = "NYC", are considered exact matches.
1812
+
1813
+ - `multiWordsSynonym`.
1814
+ Multi-word synonyms, such as "NY" = "New York", are considered exact matches.
1815
+
1060
1816
  x-categories:
1061
1817
  - Query strategy
1062
1818
  advancedSyntaxFeatures:
@@ -1066,6 +1822,24 @@ components:
1066
1822
  - excludeWords
1067
1823
  x-categories:
1068
1824
  - Query strategy
1825
+ properties-advancedSyntaxFeatures:
1826
+ type: array
1827
+ items:
1828
+ $ref: '#/components/schemas/advancedSyntaxFeatures'
1829
+ description: |
1830
+ Advanced search syntax features you want to support.
1831
+
1832
+ - `exactPhrase`.
1833
+ Phrases in quotes must match exactly.
1834
+ For example, `sparkly blue "iPhone case"` only returns records with the exact string "iPhone case".
1835
+
1836
+ - `excludeWords`.
1837
+ Query words prefixed with a `-` must not occur in a record.
1838
+ For example, `search -engine` matches records that contain "search" but not "engine".
1839
+
1840
+ This setting only has an effect if `advancedSyntax` is true.
1841
+ x-categories:
1842
+ - Query strategy
1069
1843
  distinct:
1070
1844
  description: >
1071
1845
  Determines how many records of a group are included in the search results.
@@ -1102,12 +1876,112 @@ components:
1102
1876
  default: 0
1103
1877
  x-categories:
1104
1878
  - Advanced
1105
- maxFacetHits:
1879
+ replaceSynonymsInHighlight:
1880
+ type: boolean
1881
+ description: >
1882
+ Whether to replace a highlighted word with the matched synonym.
1883
+
1884
+
1885
+ By default, the original words are highlighted even if a synonym matches.
1886
+
1887
+ For example, with `home` as a synonym for `house` and a search for `home`,
1888
+
1889
+ records matching either "home" or "house" are included in the search results,
1890
+
1891
+ and either "home" or "house" are highlighted.
1892
+
1893
+
1894
+ With `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records,
1895
+
1896
+ but all occurrences of "house" are replaced by "home" in the highlighted response.
1897
+
1898
+ x-categories:
1899
+ - Highlighting and Snippeting
1900
+ minProximity:
1106
1901
  type: integer
1107
- description: >-
1108
- 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).
1902
+ minimum: 1
1903
+ maximum: 7
1904
+ description: >
1905
+ Minimum proximity score for two matching words.
1906
+
1907
+
1908
+ This adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity)
1909
+
1910
+ by equally scoring matches that are farther apart.
1911
+
1912
+
1913
+ For example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score.
1914
+
1915
+ x-categories:
1916
+ - Advanced
1917
+ responseFields:
1918
+ type: array
1919
+ items:
1920
+ type: string
1921
+ description: >
1922
+ Properties to include in the API response of search and browse requests.
1923
+
1924
+
1925
+ By default, all response properties are included.
1926
+
1927
+ To reduce the response size, you can select which properties should be included.
1928
+
1929
+
1930
+ An empty list may lead to an empty API response (except properties you can't exclude).
1931
+
1932
+
1933
+ You can't exclude these properties:
1934
+
1935
+ `message`, `warning`, `cursor`, `abTestVariantID`,
1936
+
1937
+ or any property added by setting `getRankingInfo` to true.
1938
+
1939
+
1940
+ Your search depends on the `hits` field. If you omit this field, searches won't return any results.
1941
+
1942
+ Your UI might also depend on other properties, for example, for pagination.
1943
+
1944
+ Before restricting the response size, check the impact on your search experience.
1945
+
1946
+ x-categories:
1947
+ - Advanced
1948
+ maxValuesPerFacet:
1949
+ type: integer
1950
+ description: Maximum number of facet values to return for each facet.
1951
+ maximum: 1000
1952
+ x-categories:
1953
+ - Faceting
1954
+ sortFacetValuesBy:
1955
+ type: string
1956
+ description: >
1957
+ Order in which to retrieve facet values.
1958
+
1959
+
1960
+ - `count`.
1961
+ Facet values are retrieved by decreasing count.
1962
+ The count is the number of matching records containing this facet value.
1963
+
1964
+ - `alpha`.
1965
+ Retrieve facet values alphabetically.
1966
+
1967
+ This setting doesn't influence how facet values are displayed in your UI (see `renderingContent`).
1968
+
1969
+ For more information, see [facet value display](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js/).
1970
+
1971
+ x-categories:
1972
+ - Faceting
1973
+ attributeCriteriaComputedByMinProximity:
1974
+ type: boolean
1975
+ description: >
1976
+ Whether the best matching attribute should be determined by minimum proximity.
1977
+
1978
+
1979
+ This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting.
1980
+
1981
+ If true, the best matching attribute is selected based on the minimum proximity of multiple matches.
1982
+
1983
+ Otherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting.
1109
1984
 
1110
- maximum: 100
1111
1985
  x-categories:
1112
1986
  - Advanced
1113
1987
  order:
@@ -1120,7 +1994,7 @@ components:
1120
1994
  type: array
1121
1995
  items:
1122
1996
  type: string
1123
- facets:
1997
+ IndexSettings_facets:
1124
1998
  description: Order of facet names.
1125
1999
  type: object
1126
2000
  additionalProperties: false
@@ -1174,7 +2048,7 @@ components:
1174
2048
  additionalProperties: false
1175
2049
  properties:
1176
2050
  facets:
1177
- $ref: '#/components/schemas/facets'
2051
+ $ref: '#/components/schemas/IndexSettings_facets'
1178
2052
  values:
1179
2053
  $ref: '#/components/schemas/values'
1180
2054
  redirectURL:
@@ -1184,12 +2058,58 @@ components:
1184
2058
  properties:
1185
2059
  url:
1186
2060
  type: string
2061
+ bannerImageUrl:
2062
+ description: URL for an image to show inside a banner.
2063
+ type: object
2064
+ additionalProperties: false
2065
+ properties:
2066
+ url:
2067
+ type: string
2068
+ bannerImage:
2069
+ description: Image to show inside a banner.
2070
+ type: object
2071
+ additionalProperties: false
2072
+ properties:
2073
+ urls:
2074
+ type: array
2075
+ items:
2076
+ $ref: '#/components/schemas/bannerImageUrl'
2077
+ title:
2078
+ type: string
2079
+ bannerLink:
2080
+ description: Link for a banner defined in the Merchandising Studio.
2081
+ type: object
2082
+ additionalProperties: false
2083
+ properties:
2084
+ url:
2085
+ type: string
2086
+ banner:
2087
+ description: Banner with image and link to redirect users.
2088
+ type: object
2089
+ additionalProperties: false
2090
+ properties:
2091
+ image:
2092
+ $ref: '#/components/schemas/bannerImage'
2093
+ link:
2094
+ $ref: '#/components/schemas/bannerLink'
2095
+ banners:
2096
+ description: Banners defined in the Merchandising Studio for a given search.
2097
+ type: array
2098
+ items:
2099
+ $ref: '#/components/schemas/banner'
2100
+ widgets:
2101
+ description: Widgets returned from any rules that are applied to the current search.
2102
+ type: object
2103
+ additionalProperties: false
2104
+ properties:
2105
+ banners:
2106
+ $ref: '#/components/schemas/banners'
1187
2107
  renderingContent:
1188
2108
  description: >
1189
2109
  Extra data that can be used in the search UI.
1190
2110
 
1191
2111
 
1192
- You can use this to control aspects of your search UI, such as, the order of facet names and values
2112
+ You can use this to control aspects of your search UI, such as the order of facet names and values
1193
2113
 
1194
2114
  without changing your frontend code.
1195
2115
 
@@ -1200,8 +2120,20 @@ components:
1200
2120
  $ref: '#/components/schemas/facetOrdering'
1201
2121
  redirect:
1202
2122
  $ref: '#/components/schemas/redirectURL'
2123
+ widgets:
2124
+ $ref: '#/components/schemas/widgets'
1203
2125
  x-categories:
1204
2126
  - Advanced
2127
+ enableReRanking:
2128
+ type: boolean
2129
+ description: >
2130
+ Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/).
2131
+
2132
+
2133
+ This setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard.
2134
+
2135
+ x-categories:
2136
+ - Filtering
1205
2137
  reRankingApplyFilter:
1206
2138
  description: >
1207
2139
  Restrict [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/) to records that match these filters.
@@ -1213,570 +2145,102 @@ components:
1213
2145
  - type: string
1214
2146
  x-categories:
1215
2147
  - Filtering
1216
- indexSettingsAsSearchParams:
2148
+ properties-reRankingApplyFilter:
2149
+ oneOf:
2150
+ - $ref: '#/components/schemas/reRankingApplyFilter'
2151
+ - type: 'null'
2152
+ baseRecommendIndexSettings:
1217
2153
  type: object
1218
2154
  additionalProperties: false
1219
2155
  properties:
1220
2156
  attributesToRetrieve:
1221
- type: array
1222
- items:
1223
- type: string
1224
- example:
1225
- - author
1226
- - title
1227
- - content
1228
- description: >
1229
- Attributes to include in the API response.
1230
-
1231
-
1232
- To reduce the size of your response, you can retrieve only some of the attributes.
1233
-
1234
- Attribute names are case-sensitive.
1235
-
1236
-
1237
- - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings.
1238
-
1239
- - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `["*", "-ATTRIBUTE"]`.
1240
-
1241
- - The `objectID` attribute is always included.
1242
-
1243
- x-categories:
1244
- - Attributes
2157
+ $ref: '#/components/schemas/attributesToRetrieve'
1245
2158
  ranking:
1246
- type: array
1247
- items:
1248
- type: string
1249
- description: >
1250
- Determines the order in which Algolia returns your results.
1251
-
1252
-
1253
- By default, each entry corresponds to a [ranking criteria](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/).
1254
-
1255
- The tie-breaking algorithm sequentially applies each criterion in the order they're specified.
1256
-
1257
- If you configure a replica index for [sorting by an attribute](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/how-to/sort-by-attribute/),
1258
-
1259
- you put the sorting attribute at the top of the list.
1260
-
1261
-
1262
- **Modifiers**
1263
-
1264
-
1265
- - `asc("ATTRIBUTE")`.
1266
- Sort the index by the values of an attribute, in ascending order.
1267
- - `desc("ATTRIBUTE")`.
1268
- Sort the index by the values of an attribute, in descending order.
1269
-
1270
- Before you modify the default setting,
1271
-
1272
- you should test your changes in the dashboard,
1273
-
1274
- and by [A/B testing](https://www.algolia.com/doc/guides/ab-testing/what-is-ab-testing/).
1275
-
1276
- x-categories:
1277
- - Ranking
1278
- customRanking:
1279
- type: array
1280
- items:
1281
- type: string
1282
- example:
1283
- - desc(popularity)
1284
- - asc(price)
1285
- description: >
1286
- Attributes to use as [custom ranking](https://www.algolia.com/doc/guides/managing-results/must-do/custom-ranking/).
1287
-
1288
- Attribute names are case-sensitive.
1289
-
1290
-
1291
- The custom ranking attributes decide which items are shown first if the other ranking criteria are equal.
1292
-
1293
-
1294
- Records with missing values for your selected custom ranking attributes are always sorted last.
1295
-
1296
- Boolean attributes are sorted based on their alphabetical order.
1297
-
1298
-
1299
- **Modifiers**
1300
-
1301
-
1302
- - `asc("ATTRIBUTE")`.
1303
- Sort the index by the values of an attribute, in ascending order.
1304
-
1305
- - `desc("ATTRIBUTE")`.
1306
- Sort the index by the values of an attribute, in descending order.
1307
-
1308
- If you use two or more custom ranking attributes,
1309
-
1310
- [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,
1311
-
1312
- or the other attributes will never be applied.
1313
-
1314
- x-categories:
1315
- - Ranking
2159
+ $ref: '#/components/schemas/ranking'
1316
2160
  relevancyStrictness:
1317
- type: integer
1318
- example: 90
1319
- description: >
1320
- Relevancy threshold below which less relevant results aren't included in the results.
1321
-
1322
-
1323
- You can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas).
1324
-
1325
- Use this setting to strike a balance between the relevance and number of returned results.
1326
-
1327
- x-categories:
1328
- - Ranking
2161
+ $ref: '#/components/schemas/relevancyStrictness'
1329
2162
  attributesToHighlight:
1330
- type: array
1331
- items:
1332
- type: string
1333
- example:
1334
- - author
1335
- - title
1336
- - conten
1337
- - content
1338
- description: >
1339
- Attributes to highlight.
1340
-
1341
-
1342
- By default, all searchable attributes are highlighted.
1343
-
1344
- Use `*` to highlight all attributes or use an empty array `[]` to turn off highlighting.
1345
-
1346
- Attribute names are case-sensitive.
1347
-
1348
-
1349
- With highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`.
1350
-
1351
- You can use this to visually highlight matching parts of a search query in your UI.
1352
-
1353
-
1354
- For more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js/).
1355
-
1356
- x-categories:
1357
- - Highlighting and Snippeting
2163
+ $ref: '#/components/schemas/attributesToHighlight'
1358
2164
  attributesToSnippet:
1359
- type: array
1360
- items:
1361
- type: string
1362
- example:
1363
- - content:80
1364
- - description
1365
- description: >
1366
- Attributes for which to enable snippets.
1367
-
1368
- Attribute names are case-sensitive.
1369
-
1370
-
1371
- Snippets provide additional context to matched words.
1372
-
1373
- If you enable snippets, they include 10 words, including the matched word.
1374
-
1375
- The matched word will also be wrapped by HTML tags for highlighting.
1376
-
1377
- You can adjust the number of words with the following notation: `ATTRIBUTE:NUMBER`,
1378
-
1379
- where `NUMBER` is the number of words to be extracted.
1380
-
1381
- x-categories:
1382
- - Highlighting and Snippeting
2165
+ $ref: '#/components/schemas/attributesToSnippet'
1383
2166
  highlightPreTag:
1384
- type: string
1385
- description: >-
1386
- HTML tag to insert before the highlighted parts in all highlighted results and snippets.
1387
-
1388
- x-categories:
1389
- - Highlighting and Snippeting
2167
+ $ref: '#/components/schemas/highlightPreTag'
1390
2168
  highlightPostTag:
1391
- type: string
1392
- description: >-
1393
- HTML tag to insert after the highlighted parts in all highlighted results and snippets.
1394
-
1395
- x-categories:
1396
- - Highlighting and Snippeting
2169
+ $ref: '#/components/schemas/highlightPostTag'
1397
2170
  snippetEllipsisText:
1398
- type: string
1399
- description: String used as an ellipsis indicator when a snippet is truncated.
1400
- x-categories:
1401
- - Highlighting and Snippeting
2171
+ $ref: '#/components/schemas/snippetEllipsisText'
1402
2172
  restrictHighlightAndSnippetArrays:
1403
- type: boolean
1404
- description: >
1405
- Whether to restrict highlighting and snippeting to items that at least partially matched the search query.
1406
-
1407
- By default, all items are highlighted and snippeted.
1408
-
1409
- x-categories:
1410
- - Highlighting and Snippeting
1411
- hitsPerPage:
1412
- $ref: '#/components/schemas/hitsPerPage'
2173
+ $ref: '#/components/schemas/restrictHighlightAndSnippetArrays'
1413
2174
  minWordSizefor1Typo:
1414
- type: integer
1415
- description: >-
1416
- 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).
1417
-
1418
- x-categories:
1419
- - Typos
2175
+ $ref: '#/components/schemas/minWordSizefor1Typo'
1420
2176
  minWordSizefor2Typos:
1421
- type: integer
1422
- description: >-
1423
- 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).
1424
-
1425
- x-categories:
1426
- - Typos
2177
+ $ref: '#/components/schemas/minWordSizefor2Typos'
1427
2178
  typoTolerance:
1428
2179
  $ref: '#/components/schemas/typoTolerance'
1429
2180
  allowTyposOnNumericTokens:
1430
- type: boolean
1431
- description: |
1432
- Whether to allow typos on numbers in the search query.
1433
-
1434
- Turn off this setting to reduce the number of irrelevant matches
1435
- when searching in large sets of similar numbers.
1436
- x-categories:
1437
- - Typos
2181
+ $ref: '#/components/schemas/allowTyposOnNumericTokens'
1438
2182
  disableTypoToleranceOnAttributes:
1439
- type: array
1440
- items:
1441
- type: string
1442
- example:
1443
- - sku
1444
- description: >
1445
- Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/).
1446
-
1447
- Attribute names are case-sensitive.
1448
-
1449
-
1450
- Returning only exact matches can help when:
1451
-
1452
-
1453
- - [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/).
1454
-
1455
- - Reducing the number of matches when you have too many.
1456
- This can happen with attributes that are long blocks of text, such as product descriptions.
1457
-
1458
- Consider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos.
1459
-
1460
- x-categories:
1461
- - Typos
2183
+ $ref: '#/components/schemas/disableTypoToleranceOnAttributes'
1462
2184
  ignorePlurals:
1463
- $ref: '#/components/schemas/ignorePlurals'
1464
- removeStopWords:
1465
- $ref: '#/components/schemas/removeStopWords'
1466
- keepDiacriticsOnCharacters:
1467
- type: string
1468
- example: øé
1469
- description: |
1470
- Characters for which diacritics should be preserved.
1471
-
1472
- By default, Algolia removes diacritics from letters.
1473
- For example, `é` becomes `e`. If this causes issues in your search,
1474
- you can specify characters that should keep their diacritics.
1475
- x-categories:
1476
- - Languages
1477
- queryLanguages:
1478
- type: array
1479
- items:
1480
- $ref: '#/components/schemas/supportedLanguage'
1481
- example:
1482
- - es
1483
- description: >
1484
- Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries.
1485
-
1486
-
1487
- This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings.
1488
-
1489
- This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages.
1490
-
1491
- To support this, you must place the CJK language **first**.
1492
-
1493
-
1494
- **You should always specify a query language.**
1495
-
1496
- If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/),
1497
-
1498
- or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters.
1499
-
1500
- This can lead to unexpected search results.
1501
-
1502
- For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/).
1503
-
1504
- x-categories:
1505
- - Languages
1506
- decompoundQuery:
1507
- type: boolean
1508
- description: >
1509
- Whether to split compound words in the query into their building blocks.
1510
-
1511
-
1512
- For 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).
1513
-
1514
- Word segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian.
1515
-
1516
- Decompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark).
1517
-
1518
- For example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308).
1519
-
1520
- x-categories:
1521
- - Languages
2185
+ $ref: '#/components/schemas/ignorePlurals'
2186
+ removeStopWords:
2187
+ $ref: '#/components/schemas/removeStopWords'
2188
+ queryLanguages:
2189
+ $ref: '#/components/schemas/queryLanguages'
2190
+ decompoundQuery:
2191
+ $ref: '#/components/schemas/decompoundQuery'
1522
2192
  enableRules:
1523
- type: boolean
1524
- description: Whether to enable rules.
1525
- x-categories:
1526
- - Rules
2193
+ $ref: '#/components/schemas/enableRules'
1527
2194
  enablePersonalization:
1528
- type: boolean
1529
- description: Whether to enable Personalization.
1530
- x-categories:
1531
- - Personalization
2195
+ $ref: '#/components/schemas/enablePersonalization'
1532
2196
  queryType:
1533
2197
  $ref: '#/components/schemas/queryType'
1534
2198
  removeWordsIfNoResults:
1535
2199
  $ref: '#/components/schemas/removeWordsIfNoResults'
1536
- mode:
1537
- $ref: '#/components/schemas/mode'
1538
- semanticSearch:
1539
- $ref: '#/components/schemas/semanticSearch'
1540
2200
  advancedSyntax:
1541
- type: boolean
1542
- description: >
1543
- Whether to support phrase matching and excluding words from search queries.
1544
-
1545
-
1546
- Use the `advancedSyntaxFeatures` parameter to control which feature is supported.
1547
-
1548
- x-categories:
1549
- - Query strategy
2201
+ $ref: '#/components/schemas/advancedSyntax'
1550
2202
  optionalWords:
1551
- type: array
1552
- items:
1553
- type: string
1554
- example:
1555
- - blue
1556
- - iphone case
1557
- description: >
1558
- Words that should be considered optional when found in the query.
1559
-
1560
-
1561
- By default, records must match all words in the search query to be included in the search results.
1562
-
1563
- Adding optional words can help to increase the number of search results by running an additional search query that doesn't include the optional words.
1564
-
1565
- For example, if the search query is "action video" and "video" is an optional word,
1566
-
1567
- the search engine runs two queries. One for "action video" and one for "action".
1568
-
1569
- Records that match all words are ranked higher.
1570
-
1571
-
1572
- For a search query with 4 or more words **and** all its words are optional,
1573
-
1574
- the number of matched words required for a record to be included in the search results increases for every 1,000 records:
1575
-
1576
-
1577
- - If `optionalWords` has less than 10 words, the required number of matched words increases by 1:
1578
- results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words.
1579
- - If `optionalWords` has 10 or more words, the number of required matched words increases by the number of optional words dividied by 5 (rounded down).
1580
- For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words.
1581
-
1582
- For more information, see [Optional words](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/empty-or-insufficient-results/#creating-a-list-of-optional-words).
1583
-
1584
- x-categories:
1585
- - Query strategy
2203
+ $ref: '#/components/schemas/optionalWords'
1586
2204
  disableExactOnAttributes:
1587
- type: array
1588
- items:
1589
- type: string
1590
- example:
1591
- - description
1592
- description: >
1593
- 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).
1594
-
1595
- Attribute names are case-sensitive.
1596
-
1597
-
1598
- This can be useful for attributes with long values, where the likelyhood of an exact match is high,
1599
-
1600
- such as product descriptions.
1601
-
1602
- Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes.
1603
-
1604
- This reduces the impact of individual attributes with a lot of content on ranking.
1605
-
1606
- x-categories:
1607
- - Query strategy
2205
+ $ref: '#/components/schemas/disableExactOnAttributes'
1608
2206
  exactOnSingleWordQuery:
1609
2207
  $ref: '#/components/schemas/exactOnSingleWordQuery'
1610
2208
  alternativesAsExact:
1611
- type: array
1612
- items:
1613
- $ref: '#/components/schemas/alternativesAsExact'
1614
- description: >
1615
- Alternatives of query words that should be considered as exact matches by the Exact ranking criterion.
1616
-
1617
-
1618
- - `ignorePlurals`.
1619
- Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches.
1620
-
1621
- - `singleWordSynonym`.
1622
- Single-word synonyms, such as "NY/NYC" are considered exact matches.
1623
-
1624
- - `multiWordsSynonym`.
1625
- Multi-word synonyms, such as "NY/New York" are considered exact matches.
1626
-
1627
- x-categories:
1628
- - Query strategy
2209
+ $ref: '#/components/schemas/properties-alternativesAsExact'
1629
2210
  advancedSyntaxFeatures:
1630
- type: array
1631
- items:
1632
- $ref: '#/components/schemas/advancedSyntaxFeatures'
1633
- description: |
1634
- Advanced search syntax features you want to support.
1635
-
1636
- - `exactPhrase`.
1637
- Phrases in quotes must match exactly.
1638
- For example, `sparkly blue "iPhone case"` only returns records with the exact string "iPhone case".
1639
-
1640
- - `excludeWords`.
1641
- Query words prefixed with a `-` must not occur in a record.
1642
- For example, `search -engine` matches records that contain "search" but not "engine".
1643
-
1644
- This setting only has an effect if `advancedSyntax` is true.
1645
- x-categories:
1646
- - Query strategy
2211
+ $ref: '#/components/schemas/properties-advancedSyntaxFeatures'
1647
2212
  distinct:
1648
2213
  $ref: '#/components/schemas/distinct'
1649
2214
  replaceSynonymsInHighlight:
1650
- type: boolean
1651
- description: >
1652
- Whether to replace a highlighted word with the matched synonym.
1653
-
1654
-
1655
- By default, the original words are highlighted even if a synonym matches.
1656
-
1657
- For example, with `home` as a synonym for `house` and a search for `home`,
1658
-
1659
- records matching either "home" or "house" are included in the search results,
1660
-
1661
- and either "home" or "house" are highlighted.
1662
-
1663
-
1664
- With `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records,
1665
-
1666
- but all occurences of "house" are replaced by "home" in the highlighted response.
1667
-
1668
- x-categories:
1669
- - Highlighting and Snippeting
2215
+ $ref: '#/components/schemas/replaceSynonymsInHighlight'
1670
2216
  minProximity:
1671
- type: integer
1672
- minimum: 1
1673
- maximum: 7
1674
- description: >
1675
- Minimum proximity score for two matching words.
1676
-
1677
-
1678
- This adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity)
1679
-
1680
- by equally scoring matches that are farther apart.
1681
-
1682
-
1683
- For example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score.
1684
-
1685
- x-categories:
1686
- - Advanced
2217
+ $ref: '#/components/schemas/minProximity'
1687
2218
  responseFields:
1688
- type: array
1689
- items:
1690
- type: string
1691
- description: >
1692
- Properties to include in the API response of `search` and `browse` requests.
1693
-
1694
-
1695
- By default, all response properties are included.
1696
-
1697
- To reduce the response size, you can select, which attributes should be included.
1698
-
1699
-
1700
- You can't exclude these properties:
1701
-
1702
- `message`, `warning`, `cursor`, `serverUsed`, `indexUsed`,
1703
-
1704
- `abTestVariantID`, `parsedQuery`, or any property triggered by the `getRankingInfo` parameter.
1705
-
1706
-
1707
- Don't exclude properties that you might need in your search UI.
1708
-
1709
- x-categories:
1710
- - Advanced
1711
- maxFacetHits:
1712
- $ref: '#/components/schemas/maxFacetHits'
2219
+ $ref: '#/components/schemas/responseFields'
1713
2220
  maxValuesPerFacet:
1714
- type: integer
1715
- description: Maximum number of facet values to return for each facet.
1716
- maximum: 1000
1717
- x-categories:
1718
- - Faceting
2221
+ $ref: '#/components/schemas/maxValuesPerFacet'
1719
2222
  sortFacetValuesBy:
1720
- type: string
1721
- description: >
1722
- Order in which to retrieve facet values.
1723
-
1724
-
1725
- - `count`.
1726
- Facet values are retrieved by decreasing count.
1727
- The count is the number of matching records containing this facet value.
1728
-
1729
- - `alpha`.
1730
- Retrieve facet values alphabetically.
1731
-
1732
- This setting doesn't influence how facet values are displayed in your UI (see `renderingContent`).
1733
-
1734
- For more information, see [facet value display](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js/).
1735
-
1736
- x-categories:
1737
- - Faceting
2223
+ $ref: '#/components/schemas/sortFacetValuesBy'
1738
2224
  attributeCriteriaComputedByMinProximity:
1739
- type: boolean
1740
- description: >
1741
- Whether the best matching attribute should be determined by minimum proximity.
1742
-
1743
-
1744
- This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting.
1745
-
1746
- If true, the best matching attribute is selected based on the minimum proximity of multiple matches.
1747
-
1748
- Otherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting.
1749
-
1750
- x-categories:
1751
- - Advanced
2225
+ $ref: '#/components/schemas/attributeCriteriaComputedByMinProximity'
1752
2226
  renderingContent:
1753
2227
  $ref: '#/components/schemas/renderingContent'
1754
2228
  enableReRanking:
1755
- type: boolean
1756
- description: >
1757
- Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/).
1758
-
1759
-
1760
- This setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard.
1761
-
1762
- x-categories:
1763
- - Filtering
2229
+ $ref: '#/components/schemas/enableReRanking'
1764
2230
  reRankingApplyFilter:
1765
- oneOf:
1766
- - $ref: '#/components/schemas/reRankingApplyFilter'
1767
- - type: 'null'
1768
- searchParamsObject:
1769
- title: Search parameters as object
1770
- description: >-
1771
- Each parameter value, including the `query` must not be larger than 512 bytes.
1772
-
2231
+ $ref: '#/components/schemas/properties-reRankingApplyFilter'
2232
+ recommendIndexSettings:
2233
+ description: Index settings.
1773
2234
  allOf:
1774
- - $ref: '#/components/schemas/baseSearchParams'
1775
- - $ref: '#/components/schemas/indexSettingsAsSearchParams'
1776
- searchParams:
1777
- title: queryParameters
2235
+ - $ref: '#/components/schemas/baseIndexSettings'
2236
+ - $ref: '#/components/schemas/baseRecommendIndexSettings'
2237
+ recommendSearchParams:
2238
+ title: Search parameters as object
2239
+ description: Search parameters for filtering the recommendations.
1778
2240
  allOf:
1779
- - $ref: '#/components/schemas/searchParamsObject'
2241
+ - $ref: '#/components/schemas/baseRecommendSearchParams'
2242
+ - $ref: '#/components/schemas/searchParamsQuery'
2243
+ - $ref: '#/components/schemas/recommendIndexSettings'
1780
2244
  baseRecommendRequest:
1781
2245
  type: object
1782
2246
  additionalProperties: false
@@ -1794,7 +2258,7 @@ components:
1794
2258
  maxRecommendations:
1795
2259
  type: integer
1796
2260
  minimum: 1
1797
- maximum: 1000
2261
+ maximum: 30
1798
2262
  description: >
1799
2263
  Maximum number of recommendations to retrieve.
1800
2264
 
@@ -1853,7 +2317,7 @@ components:
1853
2317
  fallbackParams:
1854
2318
  title: fallbackParameters
1855
2319
  allOf:
1856
- - $ref: '#/components/schemas/searchParamsObject'
2320
+ - $ref: '#/components/schemas/recommendSearchParams'
1857
2321
  relatedProducts:
1858
2322
  type: object
1859
2323
  properties:
@@ -1927,6 +2391,7 @@ components:
1927
2391
  type: object
1928
2392
  properties:
1929
2393
  facetName:
2394
+ type: string
1930
2395
  description: Facet attribute for which to retrieve trending facet values.
1931
2396
  model:
1932
2397
  $ref: '#/components/schemas/trendingFacetsModel'
@@ -1967,26 +2432,6 @@ components:
1967
2432
  allOf:
1968
2433
  - $ref: '#/components/schemas/baseRecommendRequest'
1969
2434
  - $ref: '#/components/schemas/lookingSimilar'
1970
- recommendedForYouModel:
1971
- type: string
1972
- description: |
1973
- "Recommened for you" model.
1974
- enum:
1975
- - recommended-for-you
1976
- recommendedForYou:
1977
- type: object
1978
- properties:
1979
- model:
1980
- $ref: '#/components/schemas/recommendedForYouModel'
1981
- fallbackParameters:
1982
- $ref: '#/components/schemas/searchParamsObject'
1983
- required:
1984
- - model
1985
- recommendedForYouQuery:
1986
- title: Recommended for you
1987
- allOf:
1988
- - $ref: '#/components/schemas/baseRecommendRequest'
1989
- - $ref: '#/components/schemas/recommendedForYou'
1990
2435
  recommendationsRequest:
1991
2436
  oneOf:
1992
2437
  - $ref: '#/components/schemas/boughtTogetherQuery'
@@ -1994,7 +2439,6 @@ components:
1994
2439
  - $ref: '#/components/schemas/trendingItemsQuery'
1995
2440
  - $ref: '#/components/schemas/trendingFacetsQuery'
1996
2441
  - $ref: '#/components/schemas/lookingSimilarQuery'
1997
- - $ref: '#/components/schemas/recommendedForYouQuery'
1998
2442
  processingTimeMS:
1999
2443
  type: integer
2000
2444
  description: Time the server took to process the request, in milliseconds.
@@ -2029,17 +2473,6 @@ components:
2029
2473
  - reason
2030
2474
  - dest
2031
2475
  - source
2032
- userData:
2033
- type: object
2034
- example:
2035
- settingID: f2a7b51e3503acc6a39b3784ffb84300
2036
- pluginVersion: 1.6.0
2037
- description: |
2038
- An object with custom data.
2039
-
2040
- You can store up to 32kB as custom data.
2041
- x-categories:
2042
- - Advanced
2043
2476
  baseSearchResponse:
2044
2477
  type: object
2045
2478
  additionalProperties: true
@@ -2100,6 +2533,12 @@ components:
2100
2533
  description: >-
2101
2534
  Whether the typo search was exhaustive (`true`) or approximate (`false`). An approximation is done when the typo search query part takes more than 10% of the query budget (ie. 5ms by default) to be processed (this can happen when a lot of typo alternatives exist for the query). This field will not be included when typo-tolerance is entirely disabled.
2102
2535
 
2536
+ appliedRules:
2537
+ description: Rules applied to the query.
2538
+ title: appliedRules
2539
+ type: array
2540
+ items:
2541
+ type: object
2103
2542
  exhaustiveFacetsCount:
2104
2543
  type: boolean
2105
2544
  description: >-
@@ -2214,6 +2653,12 @@ components:
2214
2653
  _automaticInsights:
2215
2654
  type: boolean
2216
2655
  description: Whether automatic events collection is enabled for the application.
2656
+ page:
2657
+ type: integer
2658
+ description: Page of search results to retrieve.
2659
+ minimum: 0
2660
+ x-categories:
2661
+ - Pagination
2217
2662
  nbHits:
2218
2663
  type: integer
2219
2664
  description: Number of results (hits).
@@ -2222,6 +2667,13 @@ components:
2222
2667
  type: integer
2223
2668
  description: Number of pages of results.
2224
2669
  example: 1
2670
+ hitsPerPage:
2671
+ type: integer
2672
+ description: Number of hits per page.
2673
+ minimum: 1
2674
+ maximum: 1000
2675
+ x-categories:
2676
+ - Pagination
2225
2677
  SearchPagination:
2226
2678
  type: object
2227
2679
  additionalProperties: false
@@ -2234,17 +2686,6 @@ components:
2234
2686
  $ref: '#/components/schemas/nbPages'
2235
2687
  hitsPerPage:
2236
2688
  $ref: '#/components/schemas/hitsPerPage'
2237
- required:
2238
- - page
2239
- - nbHits
2240
- - nbPages
2241
- - hitsPerPage
2242
- highlightResultMap:
2243
- type: object
2244
- description: Surround words that match the query with HTML tags for highlighting.
2245
- additionalProperties:
2246
- x-additionalPropertiesName: attribute
2247
- $ref: '#/components/schemas/highlightResult'
2248
2689
  highlightedValue:
2249
2690
  type: string
2250
2691
  description: Highlighted attribute value, including HTML tags.
@@ -2282,29 +2723,23 @@ components:
2282
2723
  x-discriminator-fields:
2283
2724
  - matchLevel
2284
2725
  - matchedWords
2285
- highlightResultOptionMap:
2726
+ highlightResultMap:
2286
2727
  type: object
2287
2728
  description: Surround words that match the query with HTML tags for highlighting.
2729
+ x-is-free-form: false
2288
2730
  additionalProperties:
2289
2731
  x-additionalPropertiesName: attribute
2290
- $ref: '#/components/schemas/highlightResultOption'
2291
- highlightResultOptionArray:
2292
- type: array
2293
- description: Surround words that match the query with HTML tags for highlighting.
2294
- items:
2295
- $ref: '#/components/schemas/highlightResultOption'
2732
+ $ref: '#/components/schemas/highlightResult'
2296
2733
  highlightResult:
2297
2734
  oneOf:
2298
- - $ref: '#/components/schemas/highlightResultMap'
2299
2735
  - $ref: '#/components/schemas/highlightResultOption'
2300
- - $ref: '#/components/schemas/highlightResultOptionMap'
2301
- - $ref: '#/components/schemas/highlightResultOptionArray'
2302
- snippetResultMap:
2303
- type: object
2304
- description: Snippets that show the context around a matching search query.
2305
- additionalProperties:
2306
- x-additionalPropertiesName: attribute
2307
- $ref: '#/components/schemas/snippetResult'
2736
+ - $ref: '#/components/schemas/highlightResultMap'
2737
+ - $ref: '#/components/schemas/highlightResultArray'
2738
+ highlightResultArray:
2739
+ type: array
2740
+ description: Surround words that match the query with HTML tags for highlighting.
2741
+ items:
2742
+ $ref: '#/components/schemas/highlightResult'
2308
2743
  snippetResultOption:
2309
2744
  type: object
2310
2745
  description: Snippets that show the context around a matching search query.
@@ -2319,23 +2754,23 @@ components:
2319
2754
  - matchLevel
2320
2755
  x-discriminator-fields:
2321
2756
  - matchLevel
2322
- snippetResultOptionMap:
2757
+ snippetResultMap:
2323
2758
  type: object
2324
2759
  description: Snippets that show the context around a matching search query.
2760
+ x-is-free-form: false
2325
2761
  additionalProperties:
2326
2762
  x-additionalPropertiesName: attribute
2327
- $ref: '#/components/schemas/snippetResultOption'
2328
- snippetResultOptionArray:
2329
- type: array
2330
- description: Snippets that show the context around a matching search query.
2331
- items:
2332
- $ref: '#/components/schemas/snippetResultOption'
2763
+ $ref: '#/components/schemas/snippetResult'
2333
2764
  snippetResult:
2334
2765
  oneOf:
2335
- - $ref: '#/components/schemas/snippetResultMap'
2336
2766
  - $ref: '#/components/schemas/snippetResultOption'
2337
- - $ref: '#/components/schemas/snippetResultOptionMap'
2338
- - $ref: '#/components/schemas/snippetResultOptionArray'
2767
+ - $ref: '#/components/schemas/snippetResultMap'
2768
+ - $ref: '#/components/schemas/snippetResultArray'
2769
+ snippetResultArray:
2770
+ type: array
2771
+ description: Snippets that show the context around a matching search query.
2772
+ items:
2773
+ $ref: '#/components/schemas/snippetResult'
2339
2774
  matchedGeoLocation:
2340
2775
  type: object
2341
2776
  properties:
@@ -2442,7 +2877,6 @@ components:
2442
2877
  additionalProperties: true
2443
2878
  required:
2444
2879
  - objectID
2445
- - _score
2446
2880
  properties:
2447
2881
  objectID:
2448
2882
  $ref: '#/components/schemas/objectID'
@@ -2456,11 +2890,12 @@ components:
2456
2890
  $ref: '#/components/schemas/distinctSeqID'
2457
2891
  _score:
2458
2892
  $ref: '#/components/schemas/recommendScore'
2893
+ x-discriminator-fields:
2894
+ - objectID
2459
2895
  trendingFacetHit:
2460
2896
  type: object
2461
2897
  description: Trending facet hit.
2462
2898
  required:
2463
- - _score
2464
2899
  - facetName
2465
2900
  - facetValue
2466
2901
  properties:
@@ -2470,6 +2905,9 @@ components:
2470
2905
  $ref: '#/components/schemas/facetName'
2471
2906
  facetValue:
2472
2907
  $ref: '#/components/schemas/facetValue'
2908
+ x-discriminator-fields:
2909
+ - facetName
2910
+ - facetValue
2473
2911
  recommendationsHit:
2474
2912
  oneOf:
2475
2913
  - $ref: '#/components/schemas/recommendHit'
@@ -2613,6 +3051,21 @@ components:
2613
3051
  $ref: '#/components/schemas/PromoteConsequence'
2614
3052
  params:
2615
3053
  $ref: '#/components/schemas/ParamsConsequence'
3054
+ timeRange:
3055
+ type: object
3056
+ additionalProperties: false
3057
+ properties:
3058
+ from:
3059
+ type: integer
3060
+ format: int64
3061
+ description: When the rule should start to be active, in Unix epoch time.
3062
+ until:
3063
+ type: integer
3064
+ format: int64
3065
+ description: When the rule should stop to be active, in Unix epoch time.
3066
+ required:
3067
+ - from
3068
+ - until
2616
3069
  RecommendRule:
2617
3070
  type: object
2618
3071
  description: Recommend rule.
@@ -2636,12 +3089,17 @@ components:
2636
3089
  description: >-
2637
3090
  Description of the rule's purpose. This can be helpful for display in the Algolia dashboard.
2638
3091
 
2639
- example: Display a promotional banner
3092
+ example: Boost on-sale items
2640
3093
  enabled:
2641
3094
  type: boolean
2642
3095
  description: >-
2643
3096
  Indicates whether to enable the rule. If it isn't enabled, it isn't applied at query time.
2644
3097
 
3098
+ validity:
3099
+ type: array
3100
+ description: Time periods when the rule is active.
3101
+ items:
3102
+ $ref: '#/components/schemas/timeRange'
2645
3103
  taskID:
2646
3104
  type: integer
2647
3105
  format: int64
@@ -2670,12 +3128,50 @@ components:
2670
3128
  parameters_page:
2671
3129
  type: integer
2672
3130
  minimum: 0
2673
- description: Requested page of the API response.
3131
+ description: >
3132
+ Requested page of the API response.
3133
+
3134
+
3135
+ Algolia uses `page` and `hitsPerPage` to control how search results are displayed ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)).
3136
+
3137
+
3138
+ - `hitsPerPage`: sets the number of search results (_hits_) displayed per page.
3139
+
3140
+ - `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.
3141
+
3142
+
3143
+ For example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.
3144
+
2674
3145
  parameters_hitsPerPage:
2675
3146
  type: integer
2676
3147
  minimum: 1
2677
3148
  maximum: 1000
2678
- description: Maximum number of hits per page.
3149
+ description: >
3150
+ Maximum number of hits per page.
3151
+
3152
+
3153
+ Algolia uses `page` and `hitsPerPage` to control how search results are displayed ([paginated](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/pagination/js/)).
3154
+
3155
+
3156
+ - `hitsPerPage`: sets the number of search results (_hits_) displayed per page.
3157
+
3158
+ - `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.
3159
+
3160
+
3161
+ For example, to display 10 results per page starting from the third page, set `hitsPerPage` to 10 and `page` to 2.
3162
+
3163
+ recommendUpdatedAtResponse:
3164
+ type: object
3165
+ description: Response, taskID, and update timestamp.
3166
+ additionalProperties: false
3167
+ required:
3168
+ - taskID
3169
+ - updatedAt
3170
+ properties:
3171
+ taskID:
3172
+ $ref: '#/components/schemas/taskID'
3173
+ updatedAt:
3174
+ $ref: '#/components/schemas/updatedAt'
2679
3175
  responses:
2680
3176
  BadRequest:
2681
3177
  description: Bad request or request arguments.
@@ -2718,3 +3214,9 @@ components:
2718
3214
  $ref: '#/components/schemas/taskID'
2719
3215
  deletedAt:
2720
3216
  $ref: '#/components/schemas/deletedAt'
3217
+ RecommendUpdatedAt:
3218
+ description: OK
3219
+ content:
3220
+ application/json:
3221
+ schema:
3222
+ $ref: '#/components/schemas/recommendUpdatedAtResponse'