diff --git a/specs/common/schemas/IndexSettings.yml b/specs/common/schemas/IndexSettings.yml index 5bd58247195..5601126cef4 100644 --- a/specs/common/schemas/IndexSettings.yml +++ b/specs/common/schemas/IndexSettings.yml @@ -333,25 +333,7 @@ indexSettingsAsSearchParams: additionalProperties: false properties: attributesToRetrieve: - type: array - items: - type: string - example: - - author - - title - - content - description: | - Attributes to include in the API response. - - To reduce the size of your response, you can retrieve only some of the attributes. - Attribute names are case-sensitive. - - - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `["*", "-ATTRIBUTE"]`. - - The `objectID` attribute is always included. - default: ['*'] - x-categories: - - Attributes + $ref: '#/attributesToRetrieve' ranking: type: array items: @@ -386,174 +368,43 @@ indexSettingsAsSearchParams: x-categories: - Ranking relevancyStrictness: - type: integer - example: 90 - description: | - Relevancy threshold below which less relevant results aren't included in the results. - - You can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas). - Use this setting to strike a balance between the relevance and number of returned results. - default: 100 - x-categories: - - Ranking + $ref: '#/relevancyStrictness' attributesToHighlight: - type: array - items: - type: string - example: [author, title, conten, content] - description: | - Attributes to highlight. - - By default, all searchable attributes are highlighted. - Use `*` to highlight all attributes or use an empty array `[]` to turn off highlighting. - Attribute names are case-sensitive. - - With highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`. - You can use this to visually highlight matching parts of a search query in your UI. - - For more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js/). - x-categories: - - Highlighting and Snippeting + $ref: '#/attributesToHighlight' attributesToSnippet: - type: array - items: - type: string - example: - - content:80 - - description - description: | - Attributes for which to enable snippets. - Attribute names are case-sensitive. - - Snippets provide additional context to matched words. - If you enable snippets, they include 10 words, including the matched word. - The matched word will also be wrapped by HTML tags for highlighting. - You can adjust the number of words with the following notation: `ATTRIBUTE:NUMBER`, - where `NUMBER` is the number of words to be extracted. - default: [] - x-categories: - - Highlighting and Snippeting + $ref: '#/attributesToSnippet' highlightPreTag: - type: string - description: HTML tag to insert before the highlighted parts in all highlighted results and snippets. - default: - x-categories: - - Highlighting and Snippeting + $ref: '#/highlightPreTag' highlightPostTag: - type: string - description: HTML tag to insert after the highlighted parts in all highlighted results and snippets. - default: - x-categories: - - Highlighting and Snippeting + $ref: '#/highlightPostTag' snippetEllipsisText: - type: string - description: String used as an ellipsis indicator when a snippet is truncated. - default: … - x-categories: - - Highlighting and Snippeting + $ref: '#/snippetEllipsisText' restrictHighlightAndSnippetArrays: - type: boolean - description: | - Whether to restrict highlighting and snippeting to items that at least partially matched the search query. - By default, all items are highlighted and snippeted. - default: false - x-categories: - - Highlighting and Snippeting + $ref: '#/restrictHighlightAndSnippetArrays' hitsPerPage: $ref: '#/hitsPerPage' minWordSizefor1Typo: - type: integer - description: Minimum number of characters a word in the search query must contain to accept matches with [one typo](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos). - default: 4 - x-categories: - - Typos + $ref: '#/minWordSizefor1Typo' minWordSizefor2Typos: - type: integer - description: Minimum number of characters a word in the search query must contain to accept matches with [two typos](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos). - default: 8 - x-categories: - - Typos + $ref: '#/minWordSizefor2Typos' typoTolerance: $ref: '#/typoTolerance' allowTyposOnNumericTokens: - type: boolean - description: | - Whether to allow typos on numbers in the search query. - - Turn off this setting to reduce the number of irrelevant matches - when searching in large sets of similar numbers. - default: true - x-categories: - - Typos + $ref: '#/allowTyposOnNumericTokens' disableTypoToleranceOnAttributes: - type: array - items: - type: string - example: - - sku - description: | - Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/). - Attribute names are case-sensitive. - - Returning only exact matches can help when: - - - [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/). - - Reducing the number of matches when you have too many. - This can happen with attributes that are long blocks of text, such as product descriptions. - - Consider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos. - default: [] - x-categories: - - Typos + $ref: '#/disableTypoToleranceOnAttributes' ignorePlurals: $ref: '#/ignorePlurals' removeStopWords: $ref: '#/removeStopWords' queryLanguages: - type: array - items: - $ref: '#/supportedLanguage' - example: - - es - description: | - Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries. - - This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings. - This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages. - To support this, you must place the CJK language **first**. - - **You should always specify a query language.** - If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), - or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters. - This can lead to unexpected search results. - For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/). - default: [] - x-categories: - - Languages + $ref: '#/queryLanguages' decompoundQuery: - type: boolean - description: | - Whether to split compound words in the query into their building blocks. - - 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). - Word segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian. - Decompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark). - For example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308). - default: true - x-categories: - - Languages + $ref: '#/decompoundQuery' enableRules: - type: boolean - description: Whether to enable rules. - default: true - x-categories: - - Rules + $ref: '#/enableRules' enablePersonalization: - type: boolean - description: Whether to enable Personalization. - default: false - x-categories: - - Personalization + $ref: '#/enablePersonalization' queryType: $ref: '#/queryType' removeWordsIfNoResults: @@ -563,181 +414,248 @@ indexSettingsAsSearchParams: semanticSearch: $ref: '#/semanticSearch' advancedSyntax: - type: boolean - description: | - Whether to support phrase matching and excluding words from search queries. - - Use the `advancedSyntaxFeatures` parameter to control which feature is supported. - default: false - x-categories: - - Query strategy + $ref: '#/advancedSyntax' optionalWords: $ref: '#/optionalWords' disableExactOnAttributes: - type: array - items: - type: string - example: - - description - description: | - Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). - Attribute names are case-sensitive. - - This can be useful for attributes with long values, where the likelihood of an exact match is high, - such as product descriptions. - Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. - This reduces the impact of individual attributes with a lot of content on ranking. - default: [] - x-categories: - - Query strategy + $ref: '#/disableExactOnAttributes' exactOnSingleWordQuery: $ref: '#/exactOnSingleWordQuery' alternativesAsExact: - type: array - items: - $ref: '#/alternativesAsExact' - description: | - Determine which plurals and synonyms should be considered an exact matches. - - 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. - For example: - - - "swimsuit" and "swimsuits" are treated the same - - "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)). - - - `ignorePlurals`. - Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches. - - - `singleWordSynonym`. - Single-word synonyms, such as "NY" = "NYC", are considered exact matches. - - - `multiWordsSynonym`. - Multi-word synonyms, such as "NY" = "New York", are considered exact matches. - default: [ignorePlurals, singleWordSynonym] - x-categories: - - Query strategy + $ref: '#/alternativesAsExact' advancedSyntaxFeatures: - type: array - items: - $ref: '#/advancedSyntaxFeatures' - description: | - Advanced search syntax features you want to support. - - - `exactPhrase`. - Phrases in quotes must match exactly. - For example, `sparkly blue "iPhone case"` only returns records with the exact string "iPhone case". - - - `excludeWords`. - Query words prefixed with a `-` must not occur in a record. - For example, `search -engine` matches records that contain "search" but not "engine". - - This setting only has an effect if `advancedSyntax` is true. - default: [exactPhrase, excludeWords] - x-categories: - - Query strategy + $ref: '#/advancedSyntaxFeatures' distinct: $ref: '#/distinct' replaceSynonymsInHighlight: - type: boolean - description: | - Whether to replace a highlighted word with the matched synonym. + $ref: '#/replaceSynonymsInHighlight' + minProximity: + $ref: '#/minProximity' + responseFields: + $ref: '#/responseFields' + maxValuesPerFacet: + $ref: '#/maxValuesPerFacet' + sortFacetValuesBy: + $ref: '#/sortFacetValuesBy' + attributeCriteriaComputedByMinProximity: + $ref: '#/attributeCriteriaComputedByMinProximity' + renderingContent: + $ref: '#/renderingContent' + enableReRanking: + $ref: '#/enableReRanking' + reRankingApplyFilter: + oneOf: + - $ref: '#/reRankingApplyFilter' + - type: 'null' - By default, the original words are highlighted even if a synonym matches. - For example, with `home` as a synonym for `house` and a search for `home`, - records matching either "home" or "house" are included in the search results, - and either "home" or "house" are highlighted. +# +# Schemas for index settings that can be used as search parameters +# - With `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records, - but all occurrences of "house" are replaced by "home" in the highlighted response. - default: false - x-categories: - - Highlighting and Snippeting - minProximity: - type: integer - minimum: 1 - maximum: 7 - description: | - Minimum proximity score for two matching words. +advancedSyntax: + type: boolean + description: | + Whether to support phrase matching and excluding words from search queries + Use the `advancedSyntaxFeatures` parameter to control which feature is supported. + default: false + x-categories: + - Query strategy + +advancedSyntaxFeatures: + type: array + items: + $ref: './SearchEnums.yml#/advancedSyntaxFeatures' + description: | + Advanced search syntax features you want to support + - `exactPhrase`. + Phrases in quotes must match exactly. + For example, `sparkly blue "iPhone case"` only returns records with the exact string "iPhone case" + - `excludeWords`. + Query words prefixed with a `-` must not occur in a record. + For example, `search -engine` matches records that contain "search" but not "engine" + This setting only has an effect if `advancedSyntax` is true. + default: [exactPhrase, excludeWords] + x-categories: + - Query strategy - This adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity) - by equally scoring matches that are farther apart. +allowTyposOnNumericTokens: + type: boolean + description: | + Whether to allow typos on numbers in the search query + Turn off this setting to reduce the number of irrelevant matches + when searching in large sets of similar numbers. + default: true + x-categories: + - Typos - For example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score. - default: 1 - x-categories: - - Advanced - responseFields: - type: array - items: - type: string - description: | - Properties to include in the API response of search and browse requests. +alternativesAsExact: + type: array + items: + $ref: './SearchEnums.yml#/alternativesAsExact' + description: | + Determine which plurals and synonyms should be considered an exact matches + 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. + For example + - "swimsuit" and "swimsuits" are treated the same + - "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)) + - `ignorePlurals`. + Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches + - `singleWordSynonym`. + Single-word synonyms, such as "NY" = "NYC", are considered exact matches + - `multiWordsSynonym`. + Multi-word synonyms, such as "NY" = "New York", are considered exact matches. + default: [ignorePlurals, singleWordSynonym] + x-categories: + - Query strategy - By default, all response properties are included. - To reduce the response size, you can select which properties should be included. +attributeCriteriaComputedByMinProximity: + type: boolean + description: | + Whether the best matching attribute should be determined by minimum proximity + This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting. + If true, the best matching attribute is selected based on the minimum proximity of multiple matches. + Otherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting. + default: false + x-categories: + - Advanced - An empty list may lead to an empty API response (except properties you can't exclude). +attributesToHighlight: + type: array + items: + type: string + example: [author, title, conten, content] + description: | + Attributes to highlight + By default, all searchable attributes are highlighted. + Use `*` to highlight all attributes or use an empty array `[]` to turn off highlighting. + Attribute names are case-sensitive + With highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`. + You can use this to visually highlight matching parts of a search query in your UI + For more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js/). + x-categories: + - Highlighting and Snippeting - You can't exclude these properties: - `message`, `warning`, `cursor`, `abTestVariantID`, - or any property added by setting `getRankingInfo` to true. +attributesToSnippet: + type: array + items: + type: string + example: + - content:80 + - description + description: | + Attributes for which to enable snippets. + Attribute names are case-sensitive + Snippets provide additional context to matched words. + If you enable snippets, they include 10 words, including the matched word. + The matched word will also be wrapped by HTML tags for highlighting. + You can adjust the number of words with the following notation: `ATTRIBUTE:NUMBER`, + where `NUMBER` is the number of words to be extracted. + default: [] + x-categories: + - Highlighting and Snippeting - Your search depends on the `hits` field. If you omit this field, searches won't return any results. - Your UI might also depend on other properties, for example, for pagination. - Before restricting the response size, check the impact on your search experience. - default: ['*'] - x-categories: - - Advanced - maxValuesPerFacet: - type: integer - description: Maximum number of facet values to return for each facet. - default: 100 - maximum: 1000 - x-categories: - - Faceting - sortFacetValuesBy: - type: string - description: | - Order in which to retrieve facet values. +attributesToRetrieve: + type: array + items: + type: string + example: + - author + - title + - content + description: | + Attributes to include in the API response + To reduce the size of your response, you can retrieve only some of the attributes. + Attribute names are case-sensitive + - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. + - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `["*", "-ATTRIBUTE"]`. + - The `objectID` attribute is always included. + default: ['*'] + x-categories: + - Attributes - - `count`. - Facet values are retrieved by decreasing count. - The count is the number of matching records containing this facet value. +disableExactOnAttributes: + type: array + items: + type: string + example: + - description + description: | + Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). + Attribute names are case-sensitive + This can be useful for attributes with long values, where the likelihood of an exact match is high, + such as product descriptions. + Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. + This reduces the impact of individual attributes with a lot of content on ranking. + default: [] + x-categories: + - Query strategy - - `alpha`. - Retrieve facet values alphabetically. +decompoundQuery: + type: boolean + description: | + Whether to split compound words in the query into their building blocks + 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). + Word segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian. + Decompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark). + For example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308). + default: true + x-categories: + - Languages - This setting doesn't influence how facet values are displayed in your UI (see `renderingContent`). - For more information, see [facet value display](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js/). - default: count - x-categories: - - Faceting - attributeCriteriaComputedByMinProximity: - type: boolean - description: | - Whether the best matching attribute should be determined by minimum proximity. +disableTypoToleranceOnAttributes: + type: array + items: + type: string + example: + - sku + description: | + Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/). + Attribute names are case-sensitive + Returning only exact matches can help when + - [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/). + - Reducing the number of matches when you have too many. + This can happen with attributes that are long blocks of text, such as product descriptions + Consider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos. + default: [] + x-categories: + - Typos - This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting. - If true, the best matching attribute is selected based on the minimum proximity of multiple matches. - Otherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting. - default: false - x-categories: - - Advanced - renderingContent: - $ref: '#/renderingContent' - enableReRanking: - type: boolean - description: | - Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/). +enablePersonalization: + type: boolean + description: Whether to enable Personalization. + default: false + x-categories: + - Personalization - This setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard. - default: true - x-categories: - - Filtering - reRankingApplyFilter: - oneOf: - - $ref: '#/reRankingApplyFilter' - - type: 'null' +enableReRanking: + type: boolean + description: | + Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/) + This setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard. + default: true + x-categories: + - Filtering + +enableRules: + type: boolean + description: Whether to enable rules. + default: true + x-categories: + - Rules + +highlightPreTag: + type: string + description: HTML tag to insert before the highlighted parts in all highlighted results and snippets. + default: + x-categories: + - Highlighting and Snippeting + +highlightPostTag: + type: string + description: HTML tag to insert after the highlighted parts in all highlighted results and snippets. + default: + x-categories: + - Highlighting and Snippeting maxFacetHits: type: integer @@ -747,6 +665,41 @@ maxFacetHits: x-categories: - Advanced +maxValuesPerFacet: + type: integer + description: Maximum number of facet values to return for each facet. + default: 100 + maximum: 1000 + x-categories: + - Faceting + +minProximity: + type: integer + minimum: 1 + maximum: 7 + description: | + Minimum proximity score for two matching words + This adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity) + by equally scoring matches that are farther apart + For example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score. + default: 1 + x-categories: + - Advanced + +minWordSizefor1Typo: + type: integer + description: Minimum number of characters a word in the search query must contain to accept matches with [one typo](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos). + default: 4 + x-categories: + - Typos + +minWordSizefor2Typos: + type: integer + description: Minimum number of characters a word in the search query must contain to accept matches with [two typos](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos). + default: 8 + x-categories: + - Typos + reRankingApplyFilter: description: | Restrict [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/) to records that match these filters. @@ -779,6 +732,26 @@ userData: x-categories: - Advanced +queryLanguages: + type: array + items: + $ref: '#/supportedLanguage' + example: + - es + description: | + Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries + This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings. + This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages. + To support this, you must place the CJK language **first** + **You should always specify a query language.** + If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), + or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters. + This can lead to unexpected search results. + For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/). + default: [] + x-categories: + - Languages + queryType: type: string enum: @@ -867,18 +840,6 @@ exactOnSingleWordQuery: x-categories: - Query strategy -alternativesAsExact: - type: string - enum: [ignorePlurals, singleWordSynonym, multiWordsSynonym, ignoreConjugations] - x-categories: - - Query strategy - -advancedSyntaxFeatures: - type: string - enum: [exactPhrase, excludeWords] - x-categories: - - Query strategy - distinct: description: | Determines how many records of a group are included in the search results. @@ -916,21 +877,10 @@ typoTolerance: - type: boolean default: true description: Whether typo tolerance is active. If true, matches with typos are included in the search results and rank after exact matches. - - $ref: '#/typoToleranceEnum' + - $ref: './SearchEnums.yml#/typoToleranceEnum' x-categories: - Typos -typoToleranceEnum: - type: string - title: typo tolerance - description: | - - `min`. Return matches with the lowest number of typos. - For example, if you have matches without typos, only include those. - But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). - - `strict`. Return matches with the two lowest numbers of typos. - With `strict`, the Typo ranking criterion is applied first in the `ranking` setting. - enum: [min, strict, 'true', 'false'] - ignorePlurals: description: | Treat singular, plurals, and other forms of declensions as equivalent. @@ -1251,3 +1201,78 @@ optionalWordsArray: default: [] x-categories: - Query strategy + +relevancyStrictness: + type: integer + example: 90 + description: | + Relevancy threshold below which less relevant results aren't included in the results + You can only set `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas). + Use this setting to strike a balance between the relevance and number of returned results. + default: 100 + x-categories: + - Ranking + +replaceSynonymsInHighlight: + type: boolean + description: | + Whether to replace a highlighted word with the matched synonym + By default, the original words are highlighted even if a synonym matches. + For example, with `home` as a synonym for `house` and a search for `home`, + records matching either "home" or "house" are included in the search results, + and either "home" or "house" are highlighted + With `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records, + but all occurrences of "house" are replaced by "home" in the highlighted response. + default: false + x-categories: + - Highlighting and Snippeting + +responseFields: + type: array + items: + type: string + description: | + Properties to include in the API response of search and browse requests + By default, all response properties are included. + To reduce the response size, you can select which properties should be included + An empty list may lead to an empty API response (except properties you can't exclude) + You can't exclude these properties: + `message`, `warning`, `cursor`, `abTestVariantID`, + or any property added by setting `getRankingInfo` to true + Your search depends on the `hits` field. If you omit this field, searches won't return any results. + Your UI might also depend on other properties, for example, for pagination. + Before restricting the response size, check the impact on your search experience. + default: ['*'] + x-categories: + - Advanced + +restrictHighlightAndSnippetArrays: + type: boolean + description: | + Whether to restrict highlighting and snippeting to items that at least partially matched the search query. + By default, all items are highlighted and snippeted. + default: false + x-categories: + - Highlighting and Snippeting + +sortFacetValuesBy: + type: string + description: | + Order in which to retrieve facet values + - `count`. + Facet values are retrieved by decreasing count. + The count is the number of matching records containing this facet value + - `alpha`. + Retrieve facet values alphabetically + This setting doesn't influence how facet values are displayed in your UI (see `renderingContent`). + For more information, see [facet value display](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js/). + default: count + x-categories: + - Faceting + +snippetEllipsisText: + type: string + description: String used as an ellipsis indicator when a snippet is truncated. + default: … + x-categories: + - Highlighting and Snippeting diff --git a/specs/common/schemas/SearchEnums.yml b/specs/common/schemas/SearchEnums.yml new file mode 100644 index 00000000000..ad5211c7c42 --- /dev/null +++ b/specs/common/schemas/SearchEnums.yml @@ -0,0 +1,22 @@ +advancedSyntaxFeatures: + type: string + enum: [exactPhrase, excludeWords] + x-categories: + - Query strategy + +alternativesAsExact: + type: string + enum: [ignorePlurals, singleWordSynonym, multiWordsSynonym, ignoreConjugations] + x-categories: + - Query strategy + +typoToleranceEnum: + type: string + title: typo tolerance + description: | + - `min`. Return matches with the lowest number of typos. + For example, if you have matches without typos, only include those. + But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). + - `strict`. Return matches with the two lowest numbers of typos. + With `strict`, the Typo ranking criterion is applied first in the `ranking` setting. + enum: [min, strict, 'true', 'false'] diff --git a/specs/common/schemas/SearchParams.yml b/specs/common/schemas/SearchParams.yml index 1fc1a047eae..c539e80ec7a 100644 --- a/specs/common/schemas/SearchParams.yml +++ b/specs/common/schemas/SearchParams.yml @@ -27,23 +27,7 @@ baseSearchParamsWithoutQuery: additionalProperties: false properties: similarQuery: - type: string - description: | - Keywords to be used instead of the search query to conduct a more broader search. - - Using the `similarQuery` parameter changes other settings: - - - `queryType` is set to `prefixNone`. - - `removeStopWords` is set to true. - - `words` is set as the first ranking criterion. - - All remaining words are treated as `optionalWords`. - - Since the `similarQuery` is supposed to do a broad search, they usually return many results. - Combine it with `filters` to narrow down the list of results. - default: '' - example: 'comedy drama crime Macy Buscemi' - x-categories: - - Search + $ref: '#/similarQuery' filters: $ref: '#/filters' facetFilters: @@ -55,34 +39,15 @@ baseSearchParamsWithoutQuery: tagFilters: $ref: '#/tagFilters' sumOrFiltersScores: - type: boolean - description: | - Whether to sum all filter scores. - - If true, all filter scores are summed. - Otherwise, the maximum filter score is kept. - 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). - default: false - x-categories: - - Filtering + $ref: '#/sumOrFiltersScores' restrictSearchableAttributes: - type: array - items: - type: string - example: [title, author] - description: | - Restricts a search to a subset of your searchable attributes. - Attribute names are case-sensitive. - default: [] - x-categories: - - Filtering + $ref: '#/restrictSearchableAttributes' facets: type: array items: type: string description: | - Facets for which to retrieve facet values that match the search criteria and the number of matching facet values. - + Facets for which to retrieve facet values that match the search criteria and the number of matching facet values To retrieve all facets, use the wildcard character `*`. For more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts). default: [] @@ -90,16 +55,7 @@ baseSearchParamsWithoutQuery: x-categories: - Faceting facetingAfterDistinct: - type: boolean - description: | - Whether faceting should be applied after deduplication with `distinct`. - - This leads to accurate facet counts when using faceting in combination with `distinct`. - It's usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting, - as `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`. - default: false - x-categories: - - Faceting + $ref: '#/facetingAfterDistinct' page: $ref: '#/page' offset: @@ -108,12 +64,7 @@ baseSearchParamsWithoutQuery: x-categories: - Pagination length: - type: integer - description: Number of hits to retrieve (used in combination with `offset`). - minimum: 0 - maximum: 1000 - x-categories: - - Pagination + $ref: '#/length' aroundLatLng: $ref: '#/aroundLatLng' aroundLatLngViaIP: @@ -123,101 +74,35 @@ baseSearchParamsWithoutQuery: aroundPrecision: $ref: '#/aroundPrecision' minimumAroundRadius: - type: integer - description: Minimum radius (in meters) for a search around a location when `aroundRadius` isn't set. - minimum: 1 - x-categories: - - Geo-Search + $ref: '#/minimumAroundRadius' insideBoundingBox: $ref: '#/insideBoundingBox' insidePolygon: $ref: '#/insidePolygon' naturalLanguages: - type: array - items: - $ref: './IndexSettings.yml#/supportedLanguage' - description: | - ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches): - - - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages. - - Sets `removeWordsIfNoResults` to `allOptional`. - - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`. - default: [] - x-categories: - - Languages + $ref: '#/naturalLanguages' ruleContexts: - type: array - items: - type: string - description: | - Assigns a rule context to the search query. - - [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. - default: [] - example: [mobile] - x-categories: - - Rules + $ref: '#/ruleContexts' personalizationImpact: - type: integer - description: | - Impact that Personalization should have on this search. - - The higher this value is, the more Personalization determines the ranking compared to other factors. - For more information, see [Understanding Personalization impact](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact). - default: 100 - minimum: 0 - maximum: 100 - x-categories: - - Personalization + $ref: '#/personalizationImpact' userToken: $ref: '#/userToken' getRankingInfo: - type: boolean - description: Whether the search response should include detailed ranking information. - default: false - x-categories: - - Advanced + $ref: '#/getRankingInfo' synonyms: - type: boolean - description: Whether to take into account an index's synonyms for this search. - default: true - x-categories: - - Advanced + $ref: '#/synonyms' clickAnalytics: - type: boolean - description: | - Whether to include a `queryID` attribute in the response. - - 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/). - default: false - x-categories: - - Analytics + $ref: '#/clickAnalytics' analytics: - type: boolean - description: Whether this search will be included in Analytics. - default: true - x-categories: - - Analytics + $ref: '#/analytics' analyticsTags: - type: array - items: - type: string - description: Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments/). - default: [] + $ref: '#/analyticsTags' x-categories: - Analytics percentileComputation: - type: boolean - description: Whether to include this search when calculating processing-time percentiles. - default: true - x-categories: - - Advanced + $ref: '#/percentileComputation' enableABTest: - type: boolean - description: Whether to enable A/B testing for this search. - default: true - x-categories: - - Advanced + $ref: '#/enableABTest' searchParamsString: type: object @@ -236,31 +121,23 @@ paramsAsString: type: string default: '' -userToken: - type: string - description: | - Unique pseudonymous or anonymous user identifier. - - This helps with analytics and click and conversion events. - For more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/). - example: test-user-123 - x-categories: - - Personalization +# +# Schemas for search parameters +# -query: - type: string - description: Search query. - default: '' +analytics: + type: boolean + description: Whether this search will be included in Analytics. + default: true x-categories: - - Search + - Analytics -page: - type: integer - description: Page of search results to retrieve. - default: 0 - minimum: 0 - x-categories: - - Pagination +analyticsTags: + type: array + items: + type: string + description: Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments/). + default: [] aroundRadius: description: | @@ -336,6 +213,91 @@ aroundLatLngViaIP: x-categories: - Geo-Search +clickAnalytics: + type: boolean + description: | + Whether to include a `queryID` attribute in the response + 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/). + default: false + x-categories: + - Analytics + +enableABTest: + type: boolean + description: Whether to enable A/B testing for this search. + default: true + x-categories: + - Advanced + +facetFilters: + description: | + Filter the search by facet values, so that only records with the same facet values are retrieved. + + **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** + + - `[filter1, filter2]` is interpreted as `filter1 AND filter2`. + - `[[filter1, filter2], filter3]` is interpreted as `filter1 OR filter2 AND filter3`. + - `facet:-value` is interpreted as `NOT facet:value`. + + While it's best to avoid attributes that start with a `-`, you can still filter them by escaping with a backslash: + `facet:\-value`. + example: [['category:Book', 'category:-Movie'], 'author:John Doe'] + oneOf: + - type: array + items: + $ref: '#/facetFilters' + - type: string + x-categories: + - Filtering + +facetingAfterDistinct: + type: boolean + description: | + Whether faceting should be applied after deduplication with `distinct` + This leads to accurate facet counts when using faceting in combination with `distinct`. + It's usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting, + as `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`. + default: false + x-categories: + - Faceting + +filters: + type: string + description: | + Filter expression to only include items that match the filter criteria in the response. + + You can use these filter expressions: + + - **Numeric filters.** ` `, where `` is one of `<`, `<=`, `=`, `!=`, `>`, `>=`. + - **Ranges.** `: TO ` where `` and `` are the lower and upper limits of the range (inclusive). + - **Facet filters.** `:` where `` is a facet attribute (case-sensitive) and `` a facet value. + - **Tag filters.** `_tags:` or just `` (case-sensitive). + - **Boolean filters.** `: true | false`. + + You can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions: + + - You can only combine filters of the same type with `OR`. + **Not supported:** `facet:value OR num > 3`. + - You can't use `NOT` with combinations of filters. + **Not supported:** `NOT(facet:value OR facet:value)` + - You can't combine conjunctions (`AND`) with `OR`. + **Not supported:** `facet:value OR (facet:value AND facet:value)` + + Use quotes around your filters, if the facet attribute name or facet value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes. + If a facet attribute is an array, the filter matches if it matches at least one element of the array. + + For more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/). + example: '(category:Book OR category:Ebook) AND _tags:published' + x-categories: + - Filtering + +getRankingInfo: + type: boolean + description: Whether the search response should include detailed ranking information. + default: false + x-categories: + - Advanced + insideBoundingBox: oneOf: - type: string @@ -386,74 +348,40 @@ insidePolygon: x-categories: - Geo-Search -filters: +query: type: string - description: | - Filter expression to only include items that match the filter criteria in the response. - - You can use these filter expressions: - - - **Numeric filters.** ` `, where `` is one of `<`, `<=`, `=`, `!=`, `>`, `>=`. - - **Ranges.** `: TO ` where `` and `` are the lower and upper limits of the range (inclusive). - - **Facet filters.** `:` where `` is a facet attribute (case-sensitive) and `` a facet value. - - **Tag filters.** `_tags:` or just `` (case-sensitive). - - **Boolean filters.** `: true | false`. - - You can combine filters with `AND`, `OR`, and `NOT` operators with the following restrictions: - - - You can only combine filters of the same type with `OR`. - **Not supported:** `facet:value OR num > 3`. - - You can't use `NOT` with combinations of filters. - **Not supported:** `NOT(facet:value OR facet:value)` - - You can't combine conjunctions (`AND`) with `OR`. - **Not supported:** `facet:value OR (facet:value AND facet:value)` - - Use quotes around your filters, if the facet attribute name or facet value has spaces, keywords (`OR`, `AND`, `NOT`), or quotes. - If a facet attribute is an array, the filter matches if it matches at least one element of the array. - - For more information, see [Filters](https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/). - example: '(category:Book OR category:Ebook) AND _tags:published' + description: Search query. + default: '' x-categories: - - Filtering - -facetFilters: - description: | - Filter the search by facet values, so that only records with the same facet values are retrieved. - - **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** + - Search - - `[filter1, filter2]` is interpreted as `filter1 AND filter2`. - - `[[filter1, filter2], filter3]` is interpreted as `filter1 OR filter2 AND filter3`. - - `facet:-value` is interpreted as `NOT facet:value`. +length: + type: integer + description: Number of hits to retrieve (used in combination with `offset`). + minimum: 0 + maximum: 1000 + x-categories: + - Pagination - While it's best to avoid attributes that start with a `-`, you can still filter them by escaping with a backslash: - `facet:\-value`. - example: [['category:Book', 'category:-Movie'], 'author:John Doe'] - oneOf: - - type: array - items: - $ref: '#/facetFilters' - - type: string +minimumAroundRadius: + type: integer + description: Minimum radius (in meters) for a search around a location when `aroundRadius` isn't set. + minimum: 1 x-categories: - - Filtering + - Geo-Search -tagFilters: +naturalLanguages: + type: array + items: + $ref: './IndexSettings.yml#/supportedLanguage' description: | - Filter the search by values of the special `_tags` attribute. - - **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** - - Different from regular facets, `_tags` can only be used for filtering (including or excluding records). - You won't get a facet count. - The same combination and escaping rules apply as for `facetFilters`. - example: [['Book', 'Movie'], 'SciFi'] - oneOf: - - type: array - items: - $ref: '#/tagFilters' - - type: string + ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches) + - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages. + - Sets `removeWordsIfNoResults` to `allOptional`. + - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`. + default: [] x-categories: - - Filtering + - Languages numericFilters: description: | @@ -495,3 +423,117 @@ optionalFilters: - type: string x-categories: - Filtering + +page: + type: integer + description: Page of search results to retrieve. + default: 0 + minimum: 0 + x-categories: + - Pagination + +percentileComputation: + type: boolean + description: Whether to include this search when calculating processing-time percentiles. + default: true + x-categories: + - Advanced + +personalizationImpact: + type: integer + description: | + Impact that Personalization should have on this search + The higher this value is, the more Personalization determines the ranking compared to other factors. + For more information, see [Understanding Personalization impact](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact). + default: 100 + minimum: 0 + maximum: 100 + x-categories: + - Personalization + +restrictSearchableAttributes: + type: array + items: + type: string + example: [title, author] + description: | + Restricts a search to a subset of your searchable attributes. + Attribute names are case-sensitive. + default: [] + x-categories: + - Filtering + +ruleContexts: + type: array + items: + type: string + description: | + Assigns a rule context to the search query + [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. + default: [] + example: [mobile] + x-categories: + - Rules + +similarQuery: + type: string + description: | + Keywords to be used instead of the search query to conduct a more broader search + Using the `similarQuery` parameter changes other settings + - `queryType` is set to `prefixNone`. + - `removeStopWords` is set to true. + - `words` is set as the first ranking criterion. + - All remaining words are treated as `optionalWords` + Since the `similarQuery` is supposed to do a broad search, they usually return many results. + Combine it with `filters` to narrow down the list of results. + default: '' + example: 'comedy drama crime Macy Buscemi' + x-categories: + - Search + +sumOrFiltersScores: + type: boolean + description: | + Whether to sum all filter scores + If true, all filter scores are summed. + Otherwise, the maximum filter score is kept. + 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). + default: false + x-categories: + - Filtering + +synonyms: + type: boolean + description: Whether to take into account an index's synonyms for this search. + default: true + x-categories: + - Advanced + +tagFilters: + description: | + Filter the search by values of the special `_tags` attribute. + + **Prefer using the `filters` parameter, which supports all filter types and combinations with boolean operators.** + + Different from regular facets, `_tags` can only be used for filtering (including or excluding records). + You won't get a facet count. + The same combination and escaping rules apply as for `facetFilters`. + example: [['Book', 'Movie'], 'SciFi'] + oneOf: + - type: array + items: + $ref: '#/tagFilters' + - type: string + x-categories: + - Filtering + +userToken: + type: string + description: | + Unique pseudonymous or anonymous user identifier. + + This helps with analytics and click and conversion events. + For more information, see [user token](https://www.algolia.com/doc/guides/sending-events/concepts/usertoken/). + example: test-user-123 + x-categories: + - Personalization diff --git a/specs/composition-full/common/params/Search.yml b/specs/composition-full/common/params/Search.yml deleted file mode 100644 index a2c18b5f17f..00000000000 --- a/specs/composition-full/common/params/Search.yml +++ /dev/null @@ -1,565 +0,0 @@ -advancedSyntax: - type: boolean - description: | - Whether to support phrase matching and excluding words from search queries - Use the `advancedSyntaxFeatures` parameter to control which feature is supported. - default: false - x-categories: - - Query strategy - -advancedSyntaxFeatures: - type: array - items: - $ref: '../../../common/schemas/IndexSettings.yml#/advancedSyntaxFeatures' - description: | - Advanced search syntax features you want to support - - `exactPhrase`. - Phrases in quotes must match exactly. - For example, `sparkly blue "iPhone case"` only returns records with the exact string "iPhone case" - - `excludeWords`. - Query words prefixed with a `-` must not occur in a record. - For example, `search -engine` matches records that contain "search" but not "engine" - This setting only has an effect if `advancedSyntax` is true. - default: [exactPhrase, excludeWords] - x-categories: - - Query strategy - -distinct: - $ref: '../../../common/schemas/IndexSettings.yml#/distinct' - -allowTyposOnNumericTokens: - type: boolean - description: | - Whether to allow typos on numbers in the search query - Turn off this setting to reduce the number of irrelevant matches - when searching in large sets of similar numbers. - default: true - x-categories: - - Typos - -alternativesAsExact: - type: array - items: - $ref: '../../../common/schemas/IndexSettings.yml#/alternativesAsExact' - description: | - Determine which plurals and synonyms should be considered an exact matches - 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. - For example - - "swimsuit" and "swimsuits" are treated the same - - "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)) - - `ignorePlurals`. - Plurals and similar declensions added by the `ignorePlurals` setting are considered exact matches - - `singleWordSynonym`. - Single-word synonyms, such as "NY" = "NYC", are considered exact matches - - `multiWordsSynonym`. - Multi-word synonyms, such as "NY" = "New York", are considered exact matches. - default: [ignorePlurals, singleWordSynonym] - x-categories: - - Query strategy - -analytics: - type: boolean - description: Whether this search will be included in Analytics. - default: true - x-categories: - - Analytics - -analyticsTags: - type: array - items: - type: string - description: Tags to apply to the query for [segmenting analytics data](https://www.algolia.com/doc/guides/search-analytics/guides/segments/). - default: [] - x-categories: - - Analytics - -aroundLatLng: - $ref: '../../../common/schemas/SearchParams.yml#/aroundLatLng' - -aroundLatLngViaIP: - $ref: '../../../common/schemas/SearchParams.yml#/aroundLatLngViaIP' - -aroundPrecision: - $ref: '../../../common/schemas/SearchParams.yml#/aroundPrecision' - -aroundRadius: - $ref: '../../../common/schemas/SearchParams.yml#/aroundRadius' - -attributeCriteriaComputedByMinProximity: - type: boolean - description: | - Whether the best matching attribute should be determined by minimum proximity - This setting only affects ranking if the Attribute ranking criterion comes before Proximity in the `ranking` setting. - If true, the best matching attribute is selected based on the minimum proximity of multiple matches. - Otherwise, the best matching attribute is determined by the order in the `searchableAttributes` setting. - default: false - x-categories: - - Advanced - -attributesToHighlight: - type: array - items: - type: string - example: [author, title, content] - description: | - Attributes to highlight - By default, all searchable attributes are highlighted. - Use `*` to highlight all attributes or use an empty array `[]` to turn off highlighting. - Attribute names are case-sensitive - With highlighting, strings that match the search query are surrounded by HTML tags defined by `highlightPreTag` and `highlightPostTag`. - You can use this to visually highlight matching parts of a search query in your UI - For more information, see [Highlighting and snippeting](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/highlighting-snippeting/js/). - x-categories: - - Highlighting and Snippeting - -attributesToSnippet: - type: array - items: - type: string - example: - - content:80 - - description - description: | - Attributes for which to enable snippets. - Attribute names are case-sensitive - Snippets provide additional context to matched words. - If you enable snippets, they include 10 words, including the matched word. - The matched word will also be wrapped by HTML tags for highlighting. - You can adjust the number of words with the following notation: `ATTRIBUTE:NUMBER`, - where `NUMBER` is the number of words to be extracted. - default: [] - x-categories: - - Highlighting and Snippeting - -attributesToRetrieve: - type: array - items: - type: string - example: - - author - - title - - content - description: | - Attributes to include in the API response. - - To reduce the size of your response, you can retrieve only some of the attributes. - Attribute names are case-sensitive. - - - `*` retrieves all attributes, except attributes included in the `customRanking` and `unretrievableAttributes` settings. - - To retrieve all attributes except a specific one, prefix the attribute with a dash and combine it with the `*`: `["*", "-ATTRIBUTE"]`. - - The `objectID` attribute is always included. - default: ['*'] - x-categories: - - Attributes - -clickAnalytics: - type: boolean - description: | - Whether to include a `queryID` attribute in the response - 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/). - default: false - x-categories: - - Analytics - -disableExactOnAttributes: - type: array - items: - type: string - example: - - description - description: | - Searchable attributes for which you want to [turn off the Exact ranking criterion](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/adjust-exact-settings/#turn-off-exact-for-some-attributes). - Attribute names are case-sensitive - This can be useful for attributes with long values, where the likelihood of an exact match is high, - such as product descriptions. - Turning off the Exact ranking criterion for these attributes favors exact matching on other attributes. - This reduces the impact of individual attributes with a lot of content on ranking. - default: [] - x-categories: - - Query strategy - -decompoundQuery: - type: boolean - description: | - Whether to split compound words in the query into their building blocks - 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). - Word segmentation is supported for these languages: German, Dutch, Finnish, Swedish, and Norwegian. - Decompounding doesn't work for words with [non-spacing mark Unicode characters](https://www.charactercodes.net/category/non-spacing_mark). - For example, `Gartenstühle` won't be decompounded if the `ü` consists of `u` (U+0075) and `◌̈` (U+0308). - default: true - x-categories: - - Languages - -disableTypoToleranceOnAttributes: - type: array - items: - type: string - example: - - sku - description: | - Attributes for which you want to turn off [typo tolerance](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/). - Attribute names are case-sensitive - Returning only exact matches can help when - - [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/). - - Reducing the number of matches when you have too many. - This can happen with attributes that are long blocks of text, such as product descriptions - Consider alternatives such as `disableTypoToleranceOnWords` or adding synonyms if your attributes have intentional unusual spellings that might look like typos. - default: [] - x-categories: - - Typos - -enableABTest: - type: boolean - description: Whether to enable A/B testing for this search. - default: true - x-categories: - - Advanced - -enablePersonalization: - type: boolean - description: Whether to enable Personalization. - default: false - x-categories: - - Personalization - -enableReRanking: - type: boolean - description: | - Whether this search will use [Dynamic Re-Ranking](https://www.algolia.com/doc/guides/algolia-ai/re-ranking/) - This setting only has an effect if you activated Dynamic Re-Ranking for this index in the Algolia dashboard. - default: true - x-categories: - - Filtering - -enableRules: - type: boolean - description: Whether to enable rules. - default: true - x-categories: - - Rules - -exactOnSingleWordQuery: - $ref: '../../../common/schemas/IndexSettings.yml#/exactOnSingleWordQuery' - -facets: - type: array - items: - type: string - description: | - Facets for which to retrieve facet values that match the search criteria and the number of matching facet values - To retrieve all facets, use the wildcard character `*`. - For more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts). - default: [] - example: ['*'] - x-categories: - - Faceting - -facetFilters: - $ref: '../../../common/schemas/SearchParams.yml#/facetFilters' - -facetingAfterDistinct: - type: boolean - description: | - Whether faceting should be applied after deduplication with `distinct` - This leads to accurate facet counts when using faceting in combination with `distinct`. - It's usually better to use `afterDistinct` modifiers in the `attributesForFaceting` setting, - as `facetingAfterDistinct` only computes correct facet counts if all records have the same facet values for the `attributeForDistinct`. - default: false - x-categories: - - Faceting - -filters: - $ref: '../../../common/schemas/SearchParams.yml#/filters' - -getRankingInfo: - type: boolean - description: Whether the search response should include detailed ranking information. - -highlightPreTag: - type: string - description: HTML tag to insert before the highlighted parts in all highlighted results and snippets. - default: - x-categories: - - Highlighting and Snippeting - -highlightPostTag: - type: string - description: HTML tag to insert after the highlighted parts in all highlighted results and snippets. - default: - x-categories: - - Highlighting and Snippeting - -hitsPerPage: - $ref: '../../../common/schemas/IndexSettings.yml#/hitsPerPage' - -ignorePlurals: - $ref: '../../../common/schemas/IndexSettings.yml#/ignorePlurals' - -insideBoundingBox: - $ref: '../../../common/schemas/SearchParams.yml#/insideBoundingBox' - -insidePolygon: - $ref: '../../../common/schemas/SearchParams.yml#/insidePolygon' - -query: - $ref: '../../../common/schemas/SearchParams.yml#/query' - -queryLanguages: - type: array - items: - $ref: '../../../common/schemas/IndexSettings.yml#/supportedLanguage' - example: - - es - description: | - Languages for language-specific query processing steps such as plurals, stop-word removal, and word-detection dictionaries - This setting sets a default list of languages used by the `removeStopWords` and `ignorePlurals` settings. - This setting also sets a dictionary for word detection in the logogram-based [CJK](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/normalization/#normalization-for-logogram-based-languages-cjk) languages. - To support this, you must place the CJK language **first** - **You should always specify a query language.** - If you don't specify an indexing language, the search engine uses all [supported languages](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages/), - or the languages you specified with the `ignorePlurals` or `removeStopWords` parameters. - This can lead to unexpected search results. - For more information, see [Language-specific configuration](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/language-specific-configurations/). - default: [] - x-categories: - - Languages - -queryType: - $ref: '../../../common/schemas/IndexSettings.yml#/queryType' - -length: - type: integer - description: Number of hits to retrieve (used in combination with `offset`). - minimum: 0 - maximum: 1000 - x-categories: - - Pagination - -maxFacetHits: - $ref: '../../../common/schemas/IndexSettings.yml#/maxFacetHits' - -maxValuesPerFacet: - type: integer - description: Maximum number of facet values to return for each facet. - default: 100 - maximum: 1000 - x-categories: - - Faceting - -minimumAroundRadius: - type: integer - description: Minimum radius (in meters) for a search around a location when `aroundRadius` isn't set. - minimum: 1 - x-categories: - - Geo-Search - -minProximity: - type: integer - minimum: 1 - maximum: 7 - description: | - Minimum proximity score for two matching words - This adjusts the [Proximity ranking criterion](https://www.algolia.com/doc/guides/managing-results/relevance-overview/in-depth/ranking-criteria/#proximity) - by equally scoring matches that are farther apart - For example, if `minProximity` is 2, neighboring matches and matches with one word between them would have the same score. - default: 1 - x-categories: - - Advanced - -minWordSizefor1Typo: - type: integer - description: Minimum number of characters a word in the search query must contain to accept matches with [one typo](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos). - default: 4 - x-categories: - - Typos - -minWordSizefor2Typos: - type: integer - description: Minimum number of characters a word in the search query must contain to accept matches with [two typos](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/typo-tolerance/in-depth/configuring-typo-tolerance/#configuring-word-length-for-typos). - default: 8 - x-categories: - - Typos - -naturalLanguages: - type: array - items: - $ref: '../../../common/schemas/IndexSettings.yml#/supportedLanguage' - description: | - ISO language codes that adjust settings that are useful for processing natural language queries (as opposed to keyword searches) - - Sets `removeStopWords` and `ignorePlurals` to the list of provided languages. - - Sets `removeWordsIfNoResults` to `allOptional`. - - Adds a `natural_language` attribute to `ruleContexts` and `analyticsTags`. - default: [] - x-categories: - - Languages - -numericFilters: - $ref: '../../../common/schemas/SearchParams.yml#/numericFilters' - -optionalFilters: - $ref: '../../../common/schemas/SearchParams.yml#/optionalFilters' - -optionalWords: - type: array - items: - type: string - example: - - blue - - iphone case - description: | - Words that should be considered optional when found in the query - By default, records must match all words in the search query to be included in the search results. - 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. - For example, if the search query is "action video" and "video" is an optional word, - the search engine runs two queries. One for "action video" and one for "action". - Records that match all words are ranked higher - For a search query with 4 or more words **and** all its words are optional, - the number of matched words required for a record to be included in the search results increases for every 1,000 records - - If `optionalWords` has less than 10 words, the required number of matched words increases by 1: - results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 2 matched words. - - 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). - For example, with 18 optional words: results 1 to 1,000 require 1 matched word, results 1,001 to 2000 need 4 matched words - 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). - default: [] - x-categories: - - Query strategy - -page: - $ref: '../../../common/schemas/SearchParams.yml#/page' - -percentileComputation: - type: boolean - description: Whether to include this search when calculating processing-time percentiles. - default: true - x-categories: - - Advanced - -personalizationImpact: - type: integer - description: | - Impact that Personalization should have on this search - The higher this value is, the more Personalization determines the ranking compared to other factors. - For more information, see [Understanding Personalization impact](https://www.algolia.com/doc/guides/personalization/personalizing-results/in-depth/configuring-personalization/#understanding-personalization-impact). - default: 100 - minimum: 0 - maximum: 100 - x-categories: - - Personalization - -relevancyStrictness: - type: integer - -removeStopWords: - $ref: '../../../common/schemas/IndexSettings.yml#/removeStopWords' - -removeWordsIfNoResults: - $ref: '../../../common/schemas/IndexSettings.yml#/removeWordsIfNoResults' - -replaceSynonymsInHighlight: - type: boolean - description: | - Whether to replace a highlighted word with the matched synonym - By default, the original words are highlighted even if a synonym matches. - For example, with `home` as a synonym for `house` and a search for `home`, - records matching either "home" or "house" are included in the search results, - and either "home" or "house" are highlighted - With `replaceSynonymsInHighlight` set to `true`, a search for `home` still matches the same records, - but all occurrences of "house" are replaced by "home" in the highlighted response. - default: false - x-categories: - - Highlighting and Snippeting - -responseFields: - type: array - items: - type: string - description: | - Properties to include in the API response of `search` and `browse` requests - By default, all response properties are included. - To reduce the response size, you can select, which attributes should be included - You can't exclude these properties: - `message`, `warning`, `cursor`, `serverUsed`, `indexUsed`, - `abTestVariantID`, `parsedQuery`, or any property triggered by the `getRankingInfo` parameter - Don't exclude properties that you might need in your search UI. - default: ['*'] - x-categories: - - Advanced - -restrictSearchableAttributes: - type: array - items: - type: string - example: [title, author] - description: | - Restricts a search to a subset of your searchable attributes. - Attribute names are case-sensitive. - default: [] - x-categories: - - Filtering - -restrictHighlightAndSnippetArrays: - type: boolean - description: | - Whether to restrict highlighting and snippeting to items that at least partially matched the search query. - By default, all items are highlighted and snippeted. - default: false - x-categories: - - Highlighting and Snippeting - -ruleContexts: - type: array - items: - type: string - description: | - Assigns a rule context to the search query - [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. - default: [] - example: [mobile] - x-categories: - - Rules - -sortFacetValuesBy: - type: string - description: | - Order in which to retrieve facet values - - `count`. - Facet values are retrieved by decreasing count. - The count is the number of matching records containing this facet value - - `alpha`. - Retrieve facet values alphabetically - This setting doesn't influence how facet values are displayed in your UI (see `renderingContent`). - For more information, see [facet value display](https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js/). - default: count - x-categories: - - Faceting - -snippetEllipsisText: - type: string - description: String used as an ellipsis indicator when a snippet is truncated. - default: … - x-categories: - - Highlighting and Snippeting - -sumOrFiltersScores: - type: boolean - description: | - Whether to sum all filter scores - If true, all filter scores are summed. - Otherwise, the maximum filter score is kept. - 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). - default: false - x-categories: - - Filtering - -synonyms: - type: boolean - description: Whether to take into account an index's synonyms for this search. - default: true - x-categories: - - Advanced - -userToken: - $ref: '../../../common/schemas/SearchParams.yml#/userToken' - -typoTolerance: - $ref: '../../../common/schemas/IndexSettings.yml#/typoTolerance' diff --git a/specs/composition-full/common/schemas/components/Injection.yml b/specs/composition-full/common/schemas/components/Injection.yml index fd3d63d5f41..99963d9a092 100644 --- a/specs/composition-full/common/schemas/components/Injection.yml +++ b/specs/composition-full/common/schemas/components/Injection.yml @@ -4,99 +4,99 @@ baseInjectionQueryParameters: additionalProperties: false properties: advancedSyntax: - $ref: '../../params/Search.yml#/advancedSyntax' + $ref: '../../../../common/schemas/IndexSettings.yml#/advancedSyntax' advancedSyntaxFeatures: - $ref: '../../params/Search.yml#/advancedSyntaxFeatures' + $ref: '../../../../common/schemas/IndexSettings.yml#/advancedSyntaxFeatures' allowTyposOnNumericTokens: - $ref: '../../params/Search.yml#/allowTyposOnNumericTokens' + $ref: '../../../../common/schemas/IndexSettings.yml#/allowTyposOnNumericTokens' alternativesAsExact: - $ref: '../../params/Search.yml#/alternativesAsExact' + $ref: '../../../../common/schemas/IndexSettings.yml#/alternativesAsExact' analytics: - $ref: '../../params/Search.yml#/analytics' + $ref: '../../../../common/schemas/SearchParams.yml#/analytics' attributeCriteriaComputedByMinProximity: - $ref: '../../params/Search.yml#/attributeCriteriaComputedByMinProximity' + $ref: '../../../../common/schemas/IndexSettings.yml#/attributeCriteriaComputedByMinProximity' attributesToHighlight: - $ref: '../../params/Search.yml#/attributesToHighlight' + $ref: '../../../../common/schemas/IndexSettings.yml#/attributesToHighlight' attributesToRetrieve: - $ref: '../../params/Search.yml#/attributesToRetrieve' + $ref: '../../../../common/schemas/IndexSettings.yml#/attributesToRetrieve' attributesToSnippet: - $ref: '../../params/Search.yml#/attributesToSnippet' + $ref: '../../../../common/schemas/IndexSettings.yml#/attributesToSnippet' clickAnalytics: - $ref: '../../params/Search.yml#/clickAnalytics' + $ref: '../../../../common/schemas/SearchParams.yml#/clickAnalytics' decompoundQuery: - $ref: '../../params/Search.yml#/decompoundQuery' + $ref: '../../../../common/schemas/IndexSettings.yml#/decompoundQuery' disableExactOnAttributes: - $ref: '../../params/Search.yml#/disableExactOnAttributes' + $ref: '../../../../common/schemas/IndexSettings.yml#/disableExactOnAttributes' disableTypoToleranceOnAttributes: - $ref: '../../params/Search.yml#/disableTypoToleranceOnAttributes' + $ref: '../../../../common/schemas/IndexSettings.yml#/disableTypoToleranceOnAttributes' distinct: - $ref: '../../params/Search.yml#/distinct' + $ref: '../../../../common/schemas/IndexSettings.yml#/distinct' enableABTest: - $ref: '../../params/Search.yml#/enableABTest' + $ref: '../../../../common/schemas/SearchParams.yml#/enableABTest' enablePersonalization: - $ref: '../../params/Search.yml#/enablePersonalization' + $ref: '../../../../common/schemas/IndexSettings.yml#/enablePersonalization' enableReRanking: - $ref: '../../params/Search.yml#/enableReRanking' + $ref: '../../../../common/schemas/IndexSettings.yml#/enableReRanking' enableRules: - $ref: '../../params/Search.yml#/enableRules' + $ref: '../../../../common/schemas/IndexSettings.yml#/enableRules' exactOnSingleWordQuery: - $ref: '../../params/Search.yml#/exactOnSingleWordQuery' + $ref: '../../../../common/schemas/IndexSettings.yml#/exactOnSingleWordQuery' facetFilters: - $ref: '../../params/Search.yml#/facetFilters' + $ref: '../../../../common/schemas/SearchParams.yml#/facetFilters' filters: - $ref: '../../params/Search.yml#/filters' + $ref: '../../../../common/schemas/SearchParams.yml#/filters' getRankingInfo: - $ref: '../../params/Search.yml#/getRankingInfo' + $ref: '../../../../common/schemas/SearchParams.yml#/getRankingInfo' highlightPostTag: - $ref: '../../params/Search.yml#/highlightPostTag' + $ref: '../../../../common/schemas/IndexSettings.yml#/highlightPostTag' highlightPreTag: - $ref: '../../params/Search.yml#/highlightPreTag' + $ref: '../../../../common/schemas/IndexSettings.yml#/highlightPreTag' ignorePlurals: - $ref: '../../params/Search.yml#/ignorePlurals' + $ref: '../../../../common/schemas/IndexSettings.yml#/ignorePlurals' maxFacetHits: - $ref: '../../params/Search.yml#/maxFacetHits' + $ref: '../../../../common/schemas/IndexSettings.yml#/maxFacetHits' minProximity: - $ref: '../../params/Search.yml#/minProximity' + $ref: '../../../../common/schemas/IndexSettings.yml#/minProximity' minWordSizefor1Typo: - $ref: '../../params/Search.yml#/minWordSizefor1Typo' + $ref: '../../../../common/schemas/IndexSettings.yml#/minWordSizefor1Typo' minWordSizefor2Typos: - $ref: '../../params/Search.yml#/minWordSizefor2Typos' + $ref: '../../../../common/schemas/IndexSettings.yml#/minWordSizefor2Typos' naturalLanguages: - $ref: '../../params/Search.yml#/naturalLanguages' + $ref: '../../../../common/schemas/SearchParams.yml#/naturalLanguages' numericFilters: - $ref: '../../params/Search.yml#/numericFilters' + $ref: '../../../../common/schemas/SearchParams.yml#/numericFilters' optionalFilters: - $ref: '../../params/Search.yml#/optionalFilters' + $ref: '../../../../common/schemas/SearchParams.yml#/optionalFilters' optionalWords: - $ref: '../../params/Search.yml#/optionalWords' + $ref: '../../../../common/schemas/IndexSettings.yml#/optionalWords' percentileComputation: - $ref: '../../params/Search.yml#/percentileComputation' + $ref: '../../../../common/schemas/SearchParams.yml#/percentileComputation' personalizationImpact: - $ref: '../../params/Search.yml#/personalizationImpact' + $ref: '../../../../common/schemas/SearchParams.yml#/personalizationImpact' queryLanguages: - $ref: '../../params/Search.yml#/queryLanguages' + $ref: '../../../../common/schemas/IndexSettings.yml#/queryLanguages' queryType: - $ref: '../../params/Search.yml#/queryType' + $ref: '../../../../common/schemas/IndexSettings.yml#/queryType' removeStopWords: - $ref: '../../params/Search.yml#/removeStopWords' + $ref: '../../../../common/schemas/IndexSettings.yml#/removeStopWords' removeWordsIfNoResults: - $ref: '../../params/Search.yml#/removeWordsIfNoResults' + $ref: '../../../../common/schemas/IndexSettings.yml#/removeWordsIfNoResults' replaceSynonymsInHighlight: - $ref: '../../params/Search.yml#/replaceSynonymsInHighlight' + $ref: '../../../../common/schemas/IndexSettings.yml#/replaceSynonymsInHighlight' responseFields: - $ref: '../../params/Search.yml#/responseFields' + $ref: '../../../../common/schemas/IndexSettings.yml#/responseFields' restrictHighlightAndSnippetArrays: - $ref: '../../params/Search.yml#/restrictHighlightAndSnippetArrays' + $ref: '../../../../common/schemas/IndexSettings.yml#/restrictHighlightAndSnippetArrays' restrictSearchableAttributes: - $ref: '../../params/Search.yml#/restrictSearchableAttributes' + $ref: '../../../../common/schemas/SearchParams.yml#/restrictSearchableAttributes' ruleContexts: - $ref: '../../params/Search.yml#/ruleContexts' + $ref: '../../../../common/schemas/SearchParams.yml#/ruleContexts' snippetEllipsisText: - $ref: '../../params/Search.yml#/snippetEllipsisText' + $ref: '../../../../common/schemas/IndexSettings.yml#/snippetEllipsisText' synonyms: - $ref: '../../params/Search.yml#/synonyms' + $ref: '../../../../common/schemas/SearchParams.yml#/synonyms' typoTolerance: - $ref: '../../params/Search.yml#/typoTolerance' + $ref: '../../../../common/schemas/IndexSettings.yml#/typoTolerance' mainInjectionQueryParameters: title: Composition Main Injection Query parameters as object @@ -108,17 +108,17 @@ mainInjectionQueryParameters: additionalProperties: false properties: facetingAfterDistinct: - $ref: '../../params/Search.yml#/facetingAfterDistinct' + $ref: '../../../../common/schemas/SearchParams.yml#/facetingAfterDistinct' facets: - $ref: '../../params/Search.yml#/facets' + $ref: '../../../../common/schemas/SearchParams.yml#/baseSearchParamsWithoutQuery/properties/facets' hitsPerPage: - $ref: '../../params/Search.yml#/hitsPerPage' + $ref: '../../../../common/schemas/IndexSettings.yml#/hitsPerPage' maxValuesPerFacet: - $ref: '../../params/Search.yml#/maxValuesPerFacet' + $ref: '../../../../common/schemas/IndexSettings.yml#/maxValuesPerFacet' sortFacetValuesBy: - $ref: '../../params/Search.yml#/sortFacetValuesBy' + $ref: '../../../../common/schemas/IndexSettings.yml#/sortFacetValuesBy' sumOrFiltersScores: - $ref: '../../params/Search.yml#/sumOrFiltersScores' + $ref: '../../../../common/schemas/SearchParams.yml#/sumOrFiltersScores' injectedItemsQueryParameters: title: Composition injectedItems Query parameters as object diff --git a/specs/composition-full/common/schemas/requestBodies/RunParams.yml b/specs/composition-full/common/schemas/requestBodies/RunParams.yml index bdf7fb4a8ad..7955cd517ef 100644 --- a/specs/composition-full/common/schemas/requestBodies/RunParams.yml +++ b/specs/composition-full/common/schemas/requestBodies/RunParams.yml @@ -4,54 +4,54 @@ params: additionalProperties: false properties: query: - $ref: '../../params/Search.yml#/query' + $ref: '../../../../common/schemas/SearchParams.yml#/query' filters: - $ref: '../../params/Search.yml#/filters' + $ref: '../../../../common/schemas/SearchParams.yml#/filters' page: - $ref: '../../params/Search.yml#/page' + $ref: '../../../../common/schemas/SearchParams.yml#/page' getRankingInfo: $ref: '../../params/Composition.yml#/getRankingInfo' relevancyStrictness: - $ref: '../../params/Search.yml#/relevancyStrictness' + $ref: '../../../../common/schemas/IndexSettings.yml#/relevancyStrictness' facetFilters: - $ref: '../../params/Search.yml#/facetFilters' + $ref: '../../../../common/schemas/SearchParams.yml#/facetFilters' optionalFilters: - $ref: '../../params/Search.yml#/optionalFilters' + $ref: '../../../../common/schemas/SearchParams.yml#/optionalFilters' numericFilters: - $ref: '../../params/Search.yml#/numericFilters' + $ref: '../../../../common/schemas/SearchParams.yml#/numericFilters' hitsPerPage: - $ref: '../../params/Search.yml#/hitsPerPage' + $ref: '../../../../common/schemas/IndexSettings.yml#/hitsPerPage' aroundLatLng: - $ref: '../../params/Search.yml#/aroundLatLng' + $ref: '../../../../common/schemas/SearchParams.yml#/aroundLatLng' aroundLatLngViaIP: - $ref: '../../params/Search.yml#/aroundLatLngViaIP' + $ref: '../../../../common/schemas/SearchParams.yml#/aroundLatLngViaIP' aroundRadius: - $ref: '../../params/Search.yml#/aroundRadius' + $ref: '../../../../common/schemas/SearchParams.yml#/aroundRadius' aroundPrecision: - $ref: '../../params/Search.yml#/aroundPrecision' + $ref: '../../../../common/schemas/SearchParams.yml#/aroundPrecision' minimumAroundRadius: - $ref: '../../params/Search.yml#/minimumAroundRadius' + $ref: '../../../../common/schemas/SearchParams.yml#/minimumAroundRadius' insideBoundingBox: - $ref: '../../params/Search.yml#/insideBoundingBox' + $ref: '../../../../common/schemas/SearchParams.yml#/insideBoundingBox' insidePolygon: - $ref: '../../params/Search.yml#/insidePolygon' + $ref: '../../../../common/schemas/SearchParams.yml#/insidePolygon' queryLanguages: - $ref: '../../params/Search.yml#/queryLanguages' + $ref: '../../../../common/schemas/IndexSettings.yml#/queryLanguages' naturalLanguages: - $ref: '../../params/Search.yml#/naturalLanguages' + $ref: '../../../../common/schemas/SearchParams.yml#/naturalLanguages' enableRules: $ref: '../../params/Composition.yml#/enableRules' ruleContexts: $ref: '../../params/Composition.yml#/ruleContexts' userToken: - $ref: '../../params/Search.yml#/userToken' + $ref: '../../../../common/schemas/SearchParams.yml#/userToken' clickAnalytics: - $ref: '../../params/Search.yml#/clickAnalytics' + $ref: '../../../../common/schemas/SearchParams.yml#/clickAnalytics' analytics: - $ref: '../../params/Search.yml#/analytics' + $ref: '../../../../common/schemas/SearchParams.yml#/analytics' analyticsTags: - $ref: '../../params/Search.yml#/analyticsTags' + $ref: '../../../../common/schemas/SearchParams.yml#/analyticsTags' enableABTest: $ref: '../../params/Composition.yml#/enableABTest' enableReRanking: - $ref: '../../params/Search.yml#/enableReRanking' \ No newline at end of file + $ref: '../../../../common/schemas/IndexSettings.yml#/enableReRanking'