diff --git a/api-specs/api/examples/ProductSearch/product-search-request.example.json b/api-specs/api/examples/ProductSearch/product-search-request.example.json new file mode 100644 index 000000000..55996fa29 --- /dev/null +++ b/api-specs/api/examples/ProductSearch/product-search-request.example.json @@ -0,0 +1,33 @@ +{ + "query": { + "and": [ + { + "fullText": { + "field": "name", + "language": "en", + "value": "banana" + } + }, + { + "filter": [ + { + "exact": { + "field": "variants.attributes.farming", + "fieldType": "text", + "value": "organic" + } + } + ] + } + ] + }, + "sort": [ + { + "field": "name", + "language": "en", + "order": "desc" + } + ], + "limit": 10, + "offset": 0 +} diff --git a/api-specs/api/examples/ProductSearch/product-search-response.example.json b/api-specs/api/examples/ProductSearch/product-search-response.example.json new file mode 100644 index 000000000..eda9993f1 --- /dev/null +++ b/api-specs/api/examples/ProductSearch/product-search-response.example.json @@ -0,0 +1,39 @@ +{ + "total": 148, + "offset": 0, + "limit": 10, + "facets": [ + { + "name": "countProducts", + "buckets": [ + { + "key": "white", + "count": 37 + } + ] + }, + { + "name": "countVariants", + "buckets": [ + { + "key": "white", + "count": 301 + } + ] + } + ], + "results": [ + { + "id": "8fde2af0-6a2f-4633-9ba4-83566f769a7f", + "matchingVariants": { + "allMatched": false, + "matchedVariants": [ + { + "id": 1, + "sku": null + } + ] + } + } + ] +} diff --git a/api-specs/api/examples/Project/ProjectChangeProductSearchIndexingEnabledAction.json b/api-specs/api/examples/Project/ProjectChangeProductSearchIndexingEnabledAction.json index 0dee63a44..f7dad9611 100644 --- a/api-specs/api/examples/Project/ProjectChangeProductSearchIndexingEnabledAction.json +++ b/api-specs/api/examples/Project/ProjectChangeProductSearchIndexingEnabledAction.json @@ -1,4 +1,5 @@ { "action": "changeProductSearchIndexingEnabled", - "enabled": true + "enabled": true, + "mode": "ProductsSearch" } diff --git a/api-specs/api/resources/products.raml b/api-specs/api/resources/products.raml index 07cfe64a5..a803adcf9 100644 --- a/api-specs/api/resources/products.raml +++ b/api-specs/api/resources/products.raml @@ -11,7 +11,17 @@ type: description: | Products themselves are not sellable. Instead, they act as a parent structure for sellable Product Variants. get: - securedBy: [oauth_2_0: { scopes: ['view_products:{projectKey}'] }] + securedBy: + [ + oauth_2_0: + { + scopes: + [ + 'view_products:{projectKey}', + 'view_published_products:{projectKey}', + ], + }, + ] is: - priceSelecting description: |- @@ -212,3 +222,30 @@ post: body: application/json: example: !include ../examples/product-assigned-selections.example.json +/search: + type: base + displayName: Product Search + description: | + This endpoint provides high-performance search queries over Products. Product Search allows searching through all products with a current projection in your Project. + post: + displayName: Search Products + securedBy: [oauth_2_0: { scopes: ['view_published_products:{projectKey}'] }] + body: + application/json: + type: ProductSearchRequest + responses: + 200: + body: + application/json: + example: !include ../examples/ProductSearch/product-search-response.example.json + type: ProductPagedSearchResponse + head: + securedBy: [oauth_2_0: { scopes: ['project_settings:{projectKey}'] }] + description: | + Checks whether a search index for the Project's Products exists. + Returns a `200 OK` status if the index exists, a `404 Not Found` error otherwise. + responses: + 200: + description: The search index exists and the Search Products endpoint is fully operational. + 404: + description: The search index does not exist and the Search Products endpoint returns Error 404 only. diff --git a/api-specs/api/ruleset.xml b/api-specs/api/ruleset.xml index e08027fd4..0c5033c0c 100644 --- a/api-specs/api/ruleset.xml +++ b/api-specs/api/ruleset.xml @@ -54,6 +54,7 @@ + @@ -66,6 +67,7 @@ + diff --git a/api-specs/api/types/product-search/ProductPagedSearchResponse.raml b/api-specs/api/types/product-search/ProductPagedSearchResponse.raml new file mode 100644 index 000000000..c447dab79 --- /dev/null +++ b/api-specs/api/types/product-search/ProductPagedSearchResponse.raml @@ -0,0 +1,33 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductPagedSearchResponse +type: object +(beta): true +properties: + total: + type: number + format: int64 + minimum: 0 + description: Total number of results matching the query. + offset: + type: number + format: int32 + minimum: 0 + maximum: 9900 + description: | + Number of [elements skipped](/../api/general-concepts#offset). + limit: + type: number + format: int32 + minimum: 0 + maximum: 100 + description: | + Number of [results requested](/../api/general-concepts#limit). + facets: + type: ProductSearchFacetResult[] + description: | + Results for [facets](/../api/projects/product-search#facets) when requested. + results: + type: ProductSearchResult[] + description: | + Search result containing the Products matching the search query. diff --git a/api-specs/api/types/product-search/ProductSearchErrorResponse.raml b/api-specs/api/types/product-search/ProductSearchErrorResponse.raml new file mode 100644 index 000000000..4f09067bb --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchErrorResponse.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ErrorResponse +(beta): true +displayName: ProductSearchErrorResponse +properties: + statusCode: + description: The http status code of the response. + type: integer + message: + description: Describes the error. + type: string + errors?: + description: | + The errors that caused this error response. + type: ErrorObject[] diff --git a/api-specs/api/types/product-search/ProductSearchMatchingVariantEntry.raml b/api-specs/api/types/product-search/ProductSearchMatchingVariantEntry.raml new file mode 100644 index 000000000..e87b764f0 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchMatchingVariantEntry.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchMatchingVariantEntry +type: object +(beta): true +properties: + id: + type: number + format: int32 + description: Unique identifier of the variant. + sku?: + type: string + description: SKU of the matching variant. diff --git a/api-specs/api/types/product-search/ProductSearchMatchingVariants.raml b/api-specs/api/types/product-search/ProductSearchMatchingVariants.raml new file mode 100644 index 000000000..a92a0f017 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchMatchingVariants.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchMatchingVariants +type: object +(beta): true +properties: + allMatched: + type: boolean + description: Whether the search criteria definitely matches for all Variants of the returned Product, like for Product-level fields. Is always `false` for search expressions on Variant-level fields. + matchedVariants: + type: ProductSearchMatchingVariantEntry[] + description: The variants matching the search criteria or empty if all matched. diff --git a/api-specs/api/types/product-search/ProductSearchProjectionParams.raml b/api-specs/api/types/product-search/ProductSearchProjectionParams.raml new file mode 100644 index 000000000..be2760336 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchProjectionParams.raml @@ -0,0 +1,43 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchProjectionParams +properties: + expand?: + type: Expansion[] + description: | + Expands a `value` of type [Reference](ctp:api:type:Reference) in a [ProductProjection](ctp:api:type:ProductProjection). + In case the referenced object does not exist, the API returns the non-expanded reference. + staged?: + type: boolean + description: | + Set to `true` to retrieve the [staged](ctp:api:type:CurrentStaged) Product Projection + priceCurrency?: + type: CurrencyCode + description: | + The currency used for [Price selection](/projects/products#price-selection). + priceCountry?: + type: CountryCode + description: | + The country used for [Price selection](/projects/products#price-selection). Can only be used **in conjunction with** the `priceCurrency` parameter. + priceCustomerGroup?: + type: string + description: | + `id` of an existing [CustomerGroup](ctp:api:type:CustomerGroup) used for [Price selection](ctp:api:type:ProductPriceSelection). Can only be used **in conjunction with** the `priceCurrency` parameter. + priceChannel?: + type: string + description: | + `id` of an existing [Channel](ctp:api:type:Channel) used for [Price selection](ctp:api:type:ProductPriceSelection). Can only be used **in conjunction with** the `priceCurrency` parameter. + localeProjection?: + type: Locale[] + description: | + Used for [locale-based projection](ctp:api:type:ProductProjectionLocales). + storeProjection?: + type: string + description: | + `key` of an existing [Store](ctp:api:type:Store). + If the Store has defined some languages, countries, distribution or supply Channels, + they are used for projections based on [locale](ctp:api:type:ProductProjectionLocales), [price](ctp:api:type:ProductProjectionPrices) + and [inventory](ctp:api:type:ProductProjectionInventoryEntries). + If the Store has defined [Product Selections](ctp:api:type:ProductSelection), they have no effect on the results of this query. diff --git a/api-specs/api/types/product-search/ProductSearchRequest.raml b/api-specs/api/types/product-search/ProductSearchRequest.raml new file mode 100644 index 000000000..b14316bfa --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchRequest.raml @@ -0,0 +1,39 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchRequest +example: !include ../../examples/ProductSearch/product-search-request.example.json +properties: + query?: + type: SearchQuery + description: The search query against [searchable Product fields](/../api/projects/product-search#searchable-product-fields). + sort?: + type: SearchSorting[] + description: Controls how results to your query are sorted. If not provided, the results are sorted by relevance in descending order. + limit?: + type: number + format: int32 + default: 20 + maximum: 100 + description: The maximum number of search results to be returned. + offset?: + type: number + format: int32 + default: 0 + maximum: 9900 + description: The number of search results to be skipped in the response for pagination. + markMatchingVariants?: + type: boolean + default: false + description: The search can return Products where not all Product Variants match the search criteria. If `true`, the response will include a field called `matchingVariants` that contains the `sku` of Product Variants that match the search query. If the query does not specify any variant-level criteria, `matchingVariants` will be null signifying that all Product Variants are a match. + productProjectionParameters?: + type: ProductSearchProjectionParams + description: | + Set this field to `{}` to get the [ProductProjection](ctp:api:type:ProductProjection) included in the [ProductSearchResult](ctp:api:type:ProductSearchResult). + Include query parameters for controlling [Reference Expansion](/../api/general-concepts#reference-expansion) or [projections](/../api/projects/productProjections#projection-dimensions) according to your needs. + If not set, the result does not include the Product Projection. + facets?: + type: ProductSearchFacetExpression[] + description: | + Set this field to request [facets](/../api/projects/product-search#facets). diff --git a/api-specs/api/types/product-search/ProductSearchResult.raml b/api-specs/api/types/product-search/ProductSearchResult.raml new file mode 100644 index 000000000..f255bb8f1 --- /dev/null +++ b/api-specs/api/types/product-search/ProductSearchResult.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchResult +type: object +(beta): true +properties: + id: + (identifier): true + type: string + description: Unique identifier of the Product. + productProjection?: + type: ProductProjection + description: Contains Product Projection data for Products matching the `projection` field in the Search Products request. + matchingVariants?: + type: ProductSearchMatchingVariants + description: Describes the variants that matched the search criteria. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetCountExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetCountExpression.raml new file mode 100644 index 000000000..7f6ac0389 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetCountExpression.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchFacetExpression +(beta): true +displayName: ProductSearchFacetCountExpression +properties: + count: + type: ProductSearchFacetCountValue + description: Definition of the count facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetCountLevelEnum.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetCountLevelEnum.raml new file mode 100644 index 000000000..be373cab5 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetCountLevelEnum.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetCountLevelEnum +type: string +(beta): true +enum: + - products + - variants +(enumDescriptions): + products: The query should count Products. + variants: The query should count Product Variants. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetCountValue.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetCountValue.raml new file mode 100644 index 000000000..54d9a6bcb --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetCountValue.raml @@ -0,0 +1,19 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchFacetCountValue +properties: + name: + type: string + scope?: + type: ProductSearchFacetScopeEnum + description: Whether the facet must consider only the Products resulting from the search (`query`) or all the Products (`all`). + default: query + filter?: + type: SearchQuery + description: Additional filtering expression to apply to the search result before calculating the facet. + level?: + type: ProductSearchFacetCountLevelEnum + default: products + description: Specify whether to count Products (`products`) or Product Variants (`variants`). diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml new file mode 100644 index 000000000..b97a46f4b --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: string +(beta): true +displayName: ProductSearchFacetDistinctBucketSortBy +enum: + - count + - key +(enumDescriptions): + count: Sort buckets by the count value. + key: Sort buckets by the bucket key. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml new file mode 100644 index 000000000..594813b9a --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchFacetDistinctBucketSortExpression +properties: + by: + type: ProductSearchFacetDistinctBucketSortBy + description: Defines whether to sort by bucket count or key. + order: + type: SearchSortOrder + description: Defines the sorting order. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctExpression.raml new file mode 100644 index 000000000..15c62aa38 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctExpression.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchFacetExpression +(beta): true +displayName: ProductSearchFacetDistinctExpression +properties: + distinct: + type: ProductSearchFacetDistinctValue + description: Definition of the distinct facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctValue.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctValue.raml new file mode 100644 index 000000000..4c786fdf2 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetDistinctValue.raml @@ -0,0 +1,43 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchFacetDistinctValue +properties: + name: + type: string + description: Name of the distinct facet. + scope?: + type: ProductSearchFacetScopeEnum + default: query + description: Whether the facet must consider only the Products resulting from the search (`query`) or all the Products (`all`). + filter?: + type: SearchQuery + description: Additional filtering expression to apply to the search result before calculating the facet. + level?: + type: ProductSearchFacetCountLevelEnum + default: products + description: Specify whether to count Products (`products`) or Product Variants (`variants`). + field: + type: string + description: The field to facet on. Can be any searchable field on the [Product](ctp:api:type:Product). + includes?: + type: string[] + description: Specify which bucket keys the facets results should include. + sort?: + type: ProductSearchFacetDistinctBucketSortExpression + description: Define how the buckets are sorted. + limit?: + type: number + format: int32 + default: 200 + maximum: 200 + description: Maximum number of buckets to return. + language?: + type: Locale + fieldType?: + type: SearchFieldType + description: If the `field` is not standard, this must be the Attribute type. + missing?: + type: string + description: Default value to use if the specified field is not present on some Products. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetExpression.raml new file mode 100644 index 000000000..0308847e6 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetExpression.raml @@ -0,0 +1,5 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchFacetExpression diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetRangesExpression.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesExpression.raml new file mode 100644 index 000000000..f5269a04d --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesExpression.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: ProductSearchFacetExpression +(beta): true +displayName: ProductSearchFacetRangesExpression +properties: + ranges: + type: ProductSearchFacetRangesValue + description: Definition of the ranges facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetRangesFacetRange.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesFacetRange.raml new file mode 100644 index 000000000..8a3429e17 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesFacetRange.raml @@ -0,0 +1,16 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchFacetRangesFacetRange +description: Values for `from` and `to` must be a number or [DateTime](ctp:api:type:DateTime). +properties: + from?: + type: any + description: Starting value of the bucket (inclusive). + to?: + type: any + description: Ending value of the bucket (non-inclusive). + key?: + type: string + description: Key to assign the bucket. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetRangesValue.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesValue.raml new file mode 100644 index 000000000..282923dc9 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetRangesValue.raml @@ -0,0 +1,31 @@ +#%RAML 1.0 DataType +(package): ProductSearch +type: object +(beta): true +displayName: ProductSearchFacetRangesValue +properties: + name: + type: string + description: Name to assign the ranges facet. + scope?: + type: ProductSearchFacetScopeEnum + default: query + description: Whether the facet must consider only the Products resulting from the search (`query`) or all the Products (`all`). + filter?: + type: SearchQuery + description: Additional filtering expression to apply to the search result before calculating the facet. + level?: + type: ProductSearchFacetCountLevelEnum + default: products + description: Specify whether to count Products (`products`) or Product Variants (`variants`). + field: + type: string + description: The field to facet on. Can be any searchable field on the [Product](ctp:api:type:Product). + ranges: + type: ProductSearchFacetRangesFacetRange[] + description: Define ranges for the facet. + language?: + type: Locale + fieldType?: + type: SearchFieldType + description: If the `field` is not standard, this must be the Attribute type. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResult.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResult.raml new file mode 100644 index 000000000..c5a0873d0 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResult.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResult +type: object +(beta): true +properties: + name: + type: string + description: Name of the facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucket.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucket.raml new file mode 100644 index 000000000..bfeaebf63 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucket.raml @@ -0,0 +1,9 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResultBucket +type: ProductSearchFacetResult +(beta): true +properties: + buckets: + type: ProductSearchFacetResultBucketEntry[] + description: Contains results of the facet. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucketEntry.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucketEntry.raml new file mode 100644 index 000000000..478f70790 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResultBucketEntry.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResultBucketEntry +type: object +(beta): true +properties: + key: + type: string + description: Key of the bucket. + count: + type: number + format: int32 + description: Number of values in the bucket. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetResultCount.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetResultCount.raml new file mode 100644 index 000000000..42e6fc226 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetResultCount.raml @@ -0,0 +1,10 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetResultCount +type: ProductSearchFacetResult +(beta): true +properties: + value: + type: number + format: int64 + description: Number of Products (or Product Variants) matching the query. diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetScope.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetScope.raml new file mode 100644 index 000000000..000ead490 --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetScope.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetScope +type: string +(beta): true +enum: + - all + - query diff --git a/api-specs/api/types/product-search/facets/ProductSearchFacetScopeEnum.raml b/api-specs/api/types/product-search/facets/ProductSearchFacetScopeEnum.raml new file mode 100644 index 000000000..beac99d2f --- /dev/null +++ b/api-specs/api/types/product-search/facets/ProductSearchFacetScopeEnum.raml @@ -0,0 +1,11 @@ +#%RAML 1.0 DataType +(package): ProductSearch +displayName: ProductSearchFacetScopeEnum +type: string +(beta): true +enum: + - all + - query +(enumDescriptions): + all: Count all Products (or Product Variants) without considering the search query. + query: Only count the Products (or Product Variants) that matches the search query. diff --git a/api-specs/api/types/project/ProductSearchIndexingMode.raml b/api-specs/api/types/project/ProductSearchIndexingMode.raml new file mode 100644 index 000000000..71e3d270e --- /dev/null +++ b/api-specs/api/types/project/ProductSearchIndexingMode.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): Project +displayName: ProductSearchIndexingMode +type: string +(beta): true +enum: + - ProductProjectionsSearch + - ProductsSearch +(enumDescriptions): + ProductProjectionsSearch: | + For [Product Projection Search](/../api/projects/products-search). + ProductsSearch: | + For [Product Search](/../api/projects/product-search). diff --git a/api-specs/api/types/project/ProductSearchStatus.raml b/api-specs/api/types/project/ProductSearchStatus.raml new file mode 100644 index 000000000..5caa2e7fe --- /dev/null +++ b/api-specs/api/types/project/ProductSearchStatus.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): Project +type: string +(beta): true +displayName: ProductSearchStatus +description: Specifies the status of the [Product Search](/../api/projects/product-search) index. +(enumDescriptions): + Activated: indicates that the [Search Products](/../api/projects/product-search#search-products) endpoint is fully operational. + Deactivated: indicates that the Product Search feature is currently not active. +enum: + - Activated + - Deactivated diff --git a/api-specs/api/types/project/SearchIndexingConfiguration.raml b/api-specs/api/types/project/SearchIndexingConfiguration.raml index 602c0fbca..403cc3714 100644 --- a/api-specs/api/types/project/SearchIndexingConfiguration.raml +++ b/api-specs/api/types/project/SearchIndexingConfiguration.raml @@ -8,6 +8,10 @@ properties: products?: type: SearchIndexingConfigurationValues description: Configuration for the [Product Projection Search](/../api/projects/products-search) and [Product Suggestions](/../api/projects/products-suggestions) endpoints. + productsSearch?: + type: SearchIndexingConfigurationValues + (beta): true + description: Configuration for the [Product Search](/../api/projects/product-search) feature. orders?: type: SearchIndexingConfigurationValues (beta): true diff --git a/api-specs/api/types/project/updates/ProjectChangeProductSearchIndexingEnabledAction.raml b/api-specs/api/types/project/updates/ProjectChangeProductSearchIndexingEnabledAction.raml index 2c495cad1..e39ea26c9 100644 --- a/api-specs/api/types/project/updates/ProjectChangeProductSearchIndexingEnabledAction.raml +++ b/api-specs/api/types/project/updates/ProjectChangeProductSearchIndexingEnabledAction.raml @@ -10,3 +10,9 @@ properties: description: | - If `false`, the indexing of [Product](ctp:api:type:Product) information will stop and the [Product Projection Search](/../api/projects/products-search) as well as the [Product Suggestions](/../api/projects/products-suggestions) endpoint will not be available anymore for this Project. The Project's [SearchIndexingConfiguration](ctp:api:type:SearchIndexingConfiguration) `status` for `products` will be changed to `"Deactivated"`. - If `true`, the indexing of [Product](ctp:api:type:Product) information will start and the [Product Projection Search](/../api/projects/products-search) as well as the [Product Suggestions](/../api/projects/products-suggestions) endpoint will become available soon after for this Project. Proportional to the amount of information being indexed, the Project's [SearchIndexingConfiguration](ctp:api:type:SearchIndexingConfiguration) `status` for `products` will be shown as `"Indexing"` during this time. As soon as the indexing has finished, the configuration status will be changed to `"Activated"` making the aforementioned endpoints fully available for this Project. + mode?: + type: ProductSearchIndexingMode + (beta): true + description: | + Controls whether the action should apply to [Product Projection Search](/../api/projects/products-search) or to [Product Search](/../api/projects/product-search). + default: ProductProjectionsSearch diff --git a/api-specs/api/types/search/SearchAndExpression.raml b/api-specs/api/types/search/SearchAndExpression.raml new file mode 100644 index 000000000..91e0841dd --- /dev/null +++ b/api-specs/api/types/search/SearchAndExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchCompoundExpression +(beta): true +displayName: SearchAndExpression +properties: + and: + type: SearchQuery[] diff --git a/api-specs/api/types/search/SearchAnyValue.raml b/api-specs/api/types/search/SearchAnyValue.raml new file mode 100644 index 000000000..7cdfb614c --- /dev/null +++ b/api-specs/api/types/search/SearchAnyValue.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchAnyValue +properties: + value: + type: any + language?: + type: Locale + caseInsensitive?: + type: boolean diff --git a/api-specs/api/types/search/SearchCompoundExpression.raml b/api-specs/api/types/search/SearchCompoundExpression.raml new file mode 100644 index 000000000..7c7b3d19a --- /dev/null +++ b/api-specs/api/types/search/SearchCompoundExpression.raml @@ -0,0 +1,5 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQuery +(beta): true +displayName: SearchCompoundExpression diff --git a/api-specs/api/types/search/SearchDateRangeExpression.raml b/api-specs/api/types/search/SearchDateRangeExpression.raml new file mode 100644 index 000000000..bd5797c24 --- /dev/null +++ b/api-specs/api/types/search/SearchDateRangeExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchDateRangeExpression +properties: + range: + type: SearchDateRangeValue diff --git a/api-specs/api/types/search/SearchDateRangeValue.raml b/api-specs/api/types/search/SearchDateRangeValue.raml new file mode 100644 index 000000000..934f3b87d --- /dev/null +++ b/api-specs/api/types/search/SearchDateRangeValue.raml @@ -0,0 +1,14 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchDateRangeValue +properties: + gte?: + type: date-only + gt?: + type: date-only + lte?: + type: date-only + lt?: + type: date-only diff --git a/api-specs/api/types/search/SearchDateTimeRangeExpression.raml b/api-specs/api/types/search/SearchDateTimeRangeExpression.raml new file mode 100644 index 000000000..d4bd97ecd --- /dev/null +++ b/api-specs/api/types/search/SearchDateTimeRangeExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchDateTimeRangeExpression +properties: + range: + type: SearchDateTimeRangeValue diff --git a/api-specs/api/types/search/SearchDateTimeRangeValue.raml b/api-specs/api/types/search/SearchDateTimeRangeValue.raml new file mode 100644 index 000000000..20b5e0dee --- /dev/null +++ b/api-specs/api/types/search/SearchDateTimeRangeValue.raml @@ -0,0 +1,14 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchDateTimeRangeValue +properties: + gte?: + type: datetime + gt?: + type: datetime + lte?: + type: datetime + lt?: + type: datetime diff --git a/api-specs/api/types/search/SearchExactExpression.raml b/api-specs/api/types/search/SearchExactExpression.raml new file mode 100644 index 000000000..5149efa7f --- /dev/null +++ b/api-specs/api/types/search/SearchExactExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchExactExpression +properties: + exact: + type: SearchAnyValue diff --git a/api-specs/api/types/search/SearchExistsExpression.raml b/api-specs/api/types/search/SearchExistsExpression.raml new file mode 100644 index 000000000..89c7f2ef5 --- /dev/null +++ b/api-specs/api/types/search/SearchExistsExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchExistsExpression +properties: + exists: + type: SearchExistsValue diff --git a/api-specs/api/types/search/SearchExistsValue.raml b/api-specs/api/types/search/SearchExistsValue.raml new file mode 100644 index 000000000..0071d2216 --- /dev/null +++ b/api-specs/api/types/search/SearchExistsValue.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchExistsValue +properties: + language?: + type: Locale diff --git a/api-specs/api/types/search/SearchFieldType.raml b/api-specs/api/types/search/SearchFieldType.raml new file mode 100644 index 000000000..1d013fbe7 --- /dev/null +++ b/api-specs/api/types/search/SearchFieldType.raml @@ -0,0 +1,74 @@ +#%RAML 1.0 DataType +(package): Search +displayName: SearchFieldType +description: Possible values for the `fieldType` property on query expressions indicating the data type of the `field`. +type: string +(beta): true +enum: + - boolean + - text + - ltext + - enum + - lenum + - number + - money + - date + - datetime + - time + - reference + - set_boolean + - set_text + - set_ltext + - set_enum + - set_lenum + - set_number + - set_money + - set_date + - set_datetime + - set_time + - set_reference +(enumDescriptions): + boolean: | + For Boolean fields and Attributes. + text: | + For string fields and Attributes. + ltext: | + For [LocalizedString](types#localizedstring) fields and Attributes. + enum: | + For enum fields and Attributes. + lenum: | + For localized enum fields and Attributes. + number: | + For number fields and Attributes. + money: | + For [Money](types#money) fields and Attributes. + date: | + For [Date](types#date) fields and Attributes. + datetime: | + For [DateTime](types#datetime) fields and Attributes. + time: | + For [Time](types#time) fields and Attributes. + reference: | + For [Reference](types#reference) fields and Attributes. + set_boolean: | + For Set of Boolean fields and Attributes. + set_text: | + For Set of string fields and Attributes. + set_ltext: | + For Set of [LocalizedString](types#localizedstring) fields and Attributes. + set_enum: | + For Set of enum fields and Attributes. + set_lenum: | + For Set of localized enum fields and Attributes. + set_number: | + For Set of number fields and Attributes. + set_money: | + For Set of [Money](types#money) fields and Attributes. + set_date: | + For Set of [Date](types#date) fields and Attributes. + set_datetime: | + For Set of [DateTime](types#datetime) fields and Attributes. + set_time: | + For Set of [Time](types#time) fields and Attributes. + set_reference: | + For Set of [Reference](types#reference) fields and Attributes. diff --git a/api-specs/api/types/search/SearchFilterExpression.raml b/api-specs/api/types/search/SearchFilterExpression.raml new file mode 100644 index 000000000..5fa03289a --- /dev/null +++ b/api-specs/api/types/search/SearchFilterExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchCompoundExpression +(beta): true +displayName: SearchFilterExpression +properties: + filter: + type: SearchQueryExpression[] diff --git a/api-specs/api/types/search/SearchFullTextExpression.raml b/api-specs/api/types/search/SearchFullTextExpression.raml new file mode 100644 index 000000000..f3bad3360 --- /dev/null +++ b/api-specs/api/types/search/SearchFullTextExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchFullTextExpression +properties: + fullText: + type: SearchFullTextValue diff --git a/api-specs/api/types/search/SearchFullTextPrefixExpression.raml b/api-specs/api/types/search/SearchFullTextPrefixExpression.raml new file mode 100644 index 000000000..c6ba2a60f --- /dev/null +++ b/api-specs/api/types/search/SearchFullTextPrefixExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchFullTextPrefixExpression +properties: + fullTextPrefix: + type: SearchFullTextPrefixValue diff --git a/api-specs/api/types/search/SearchFullTextPrefixValue.raml b/api-specs/api/types/search/SearchFullTextPrefixValue.raml new file mode 100644 index 000000000..9abd7905d --- /dev/null +++ b/api-specs/api/types/search/SearchFullTextPrefixValue.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchFullPrefixTextValue +properties: + value: + type: any + language?: + type: Locale + mustMatch?: + type: SearchMatchType diff --git a/api-specs/api/types/search/SearchFullTextValue.raml b/api-specs/api/types/search/SearchFullTextValue.raml new file mode 100644 index 000000000..2be55f7c0 --- /dev/null +++ b/api-specs/api/types/search/SearchFullTextValue.raml @@ -0,0 +1,12 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchFullTextValue +properties: + value: + type: any + language?: + type: Locale + mustMatch?: + type: SearchMatchType diff --git a/api-specs/api/types/search/SearchLongRangeExpression.raml b/api-specs/api/types/search/SearchLongRangeExpression.raml new file mode 100644 index 000000000..f52d994e7 --- /dev/null +++ b/api-specs/api/types/search/SearchLongRangeExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchLongRangeExpression +properties: + range: + type: SearchLongRangeValue diff --git a/api-specs/api/types/search/SearchLongRangeValue.raml b/api-specs/api/types/search/SearchLongRangeValue.raml new file mode 100644 index 000000000..d8ca37516 --- /dev/null +++ b/api-specs/api/types/search/SearchLongRangeValue.raml @@ -0,0 +1,18 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchLongRangeValue +properties: + gte?: + type: number + format: int64 + gt?: + type: number + format: int64 + lte?: + type: number + format: int64 + lt?: + type: number + format: int64 diff --git a/api-specs/api/types/search/SearchMatchType.raml b/api-specs/api/types/search/SearchMatchType.raml new file mode 100644 index 000000000..27b539b69 --- /dev/null +++ b/api-specs/api/types/search/SearchMatchType.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): Search +displayName: SearchMatchType +type: string +(beta): true +enum: + - any + - all +(enumDescriptions): + any: | + Returns resources for which at least one of the provided search terms match. + all: | + Returns only those resources for which all the provided search terms match. diff --git a/api-specs/api/types/search/SearchMatchingVariant.raml b/api-specs/api/types/search/SearchMatchingVariant.raml new file mode 100644 index 000000000..26aea76c7 --- /dev/null +++ b/api-specs/api/types/search/SearchMatchingVariant.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): Search +displayName: SearchMatchingVariant +type: object +(beta): true +properties: + id: + type: number + format: int32 + description: Unique identifier of the variant. + sku?: + type: string + description: SKU of the matching variant. diff --git a/api-specs/api/types/search/SearchNotExpression.raml b/api-specs/api/types/search/SearchNotExpression.raml new file mode 100644 index 000000000..d39738d62 --- /dev/null +++ b/api-specs/api/types/search/SearchNotExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchCompoundExpression +(beta): true +displayName: SearchNotExpression +properties: + not: + type: SearchQuery[] diff --git a/api-specs/api/types/search/SearchNumberRangeExpression.raml b/api-specs/api/types/search/SearchNumberRangeExpression.raml new file mode 100644 index 000000000..18f708217 --- /dev/null +++ b/api-specs/api/types/search/SearchNumberRangeExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchNumberRangeExpression +properties: + range: + type: SearchNumberRangeValue diff --git a/api-specs/api/types/search/SearchNumberRangeValue.raml b/api-specs/api/types/search/SearchNumberRangeValue.raml new file mode 100644 index 000000000..5bbcdbb83 --- /dev/null +++ b/api-specs/api/types/search/SearchNumberRangeValue.raml @@ -0,0 +1,18 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchNumberRangeValue +properties: + gte?: + type: number + format: float + gt?: + type: number + format: float + lte?: + type: number + format: float + lt?: + type: number + format: float diff --git a/api-specs/api/types/search/SearchOrExpression.raml b/api-specs/api/types/search/SearchOrExpression.raml new file mode 100644 index 000000000..6fe39b43a --- /dev/null +++ b/api-specs/api/types/search/SearchOrExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchCompoundExpression +(beta): true +displayName: SearchOrExpression +properties: + or: + type: SearchQuery[] diff --git a/api-specs/api/types/search/SearchPrefixExpression.raml b/api-specs/api/types/search/SearchPrefixExpression.raml new file mode 100644 index 000000000..85a5c58d6 --- /dev/null +++ b/api-specs/api/types/search/SearchPrefixExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchPrefixExpression +properties: + prefix: + type: SearchAnyValue diff --git a/api-specs/api/types/search/SearchQuery.raml b/api-specs/api/types/search/SearchQuery.raml new file mode 100644 index 000000000..d8572b41a --- /dev/null +++ b/api-specs/api/types/search/SearchQuery.raml @@ -0,0 +1,5 @@ +#%RAML 1.0 DataType +(package): Search +type: object +(beta): true +displayName: SearchQuery diff --git a/api-specs/api/types/search/SearchQueryExpression.raml b/api-specs/api/types/search/SearchQueryExpression.raml new file mode 100644 index 000000000..4c5288f77 --- /dev/null +++ b/api-specs/api/types/search/SearchQueryExpression.raml @@ -0,0 +1,5 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQuery +(beta): true +displayName: SearchQueryExpression diff --git a/api-specs/api/types/search/SearchQueryExpressionValue.raml b/api-specs/api/types/search/SearchQueryExpressionValue.raml new file mode 100644 index 000000000..80942d0e9 --- /dev/null +++ b/api-specs/api/types/search/SearchQueryExpressionValue.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): Search +type: object +(beta): true +displayName: SearchQueryExpressionValue +properties: + field: + type: string + boost?: + format: double + type: number + fieldType?: + type: SearchFieldType diff --git a/api-specs/api/types/search/SearchSortMode.raml b/api-specs/api/types/search/SearchSortMode.raml new file mode 100644 index 000000000..19a5cc700 --- /dev/null +++ b/api-specs/api/types/search/SearchSortMode.raml @@ -0,0 +1,22 @@ +#%RAML 1.0 DataType +(package): Search +displayName: SearchSortMode +type: string +(beta): true +description: | + For set-type fields, only a single value of the set is taken into account for sorting. + The sort mode determines whether the minimum or maximum value, or a calculated statistical value should be used as sorting value. +enum: + - min + - max + - avg + - sum +(enumDescriptions): + min: | + Use the minimum of all available values. + max: | + Use the maximum of all available values. + avg: | + Use the average of all available values. + sum: | + Use the sum of all available values. diff --git a/api-specs/api/types/search/SearchSortOrder.raml b/api-specs/api/types/search/SearchSortOrder.raml new file mode 100644 index 000000000..91253cfda --- /dev/null +++ b/api-specs/api/types/search/SearchSortOrder.raml @@ -0,0 +1,13 @@ +#%RAML 1.0 DataType +(package): Search +displayName: SearchSortOrder +type: string +(beta): true +enum: + - asc + - desc +(enumDescriptions): + asc: | + Ascending sort order, the lowest value is listed first. + desc: | + Descending sort order, the highest value listed first. diff --git a/api-specs/api/types/search/SearchSorting.raml b/api-specs/api/types/search/SearchSorting.raml new file mode 100644 index 000000000..bb747f703 --- /dev/null +++ b/api-specs/api/types/search/SearchSorting.raml @@ -0,0 +1,33 @@ +#%RAML 1.0 DataType +(package): Search +type: object +(beta): true +displayName: SearchSorting +description: | + Sorting parameters provided with a Search request. + Sorting allows you to control how results to your query are sorted. + If no sorting is specified, the results are sorted by relevance in descending (`desc`) order. +properties: + field: + type: string + description: | + Use any searchable field of the resource as sort criterion. + language?: + type: Locale + order: + type: SearchSortOrder + description: | + Specify the order in which the search results should be sorted. + Can be `asc` for ascending, or `desc` for descending order. + mode?: + type: SearchSortMode + description: | + Specify the sort mode to be applied for a set-type `field`. + fieldType?: + type: SearchFieldType + description: | + Provide the data type of the given `field`. + filter?: + type: SearchQueryExpression + description: | + Allows you to apply a [sort filter](/../api/search-query-language#sort-filter). diff --git a/api-specs/api/types/search/SearchTimeRangeExpression.raml b/api-specs/api/types/search/SearchTimeRangeExpression.raml new file mode 100644 index 000000000..4cda57fa8 --- /dev/null +++ b/api-specs/api/types/search/SearchTimeRangeExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchTimeRangeExpression +properties: + range: + type: SearchTimeRangeValue diff --git a/api-specs/api/types/search/SearchTimeRangeValue.raml b/api-specs/api/types/search/SearchTimeRangeValue.raml new file mode 100644 index 000000000..30663f3bc --- /dev/null +++ b/api-specs/api/types/search/SearchTimeRangeValue.raml @@ -0,0 +1,14 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpressionValue +(beta): true +displayName: SearchTimeRangeValue +properties: + gte?: + type: time-only + gt?: + type: time-only + lte?: + type: time-only + lt?: + type: time-only diff --git a/api-specs/api/types/search/SearchWildCardExpression.raml b/api-specs/api/types/search/SearchWildCardExpression.raml new file mode 100644 index 000000000..19242ab27 --- /dev/null +++ b/api-specs/api/types/search/SearchWildCardExpression.raml @@ -0,0 +1,8 @@ +#%RAML 1.0 DataType +(package): Search +type: SearchQueryExpression +(beta): true +displayName: SearchWildCardExpression +properties: + wildcard: + type: SearchAnyValue diff --git a/api-specs/api/types/types.raml b/api-specs/api/types/types.raml index 771c7e52e..3432f1cea 100644 --- a/api-specs/api/types/types.raml +++ b/api-specs/api/types/types.raml @@ -1622,6 +1622,31 @@ ProductDiscountSetValidFromAction: !include product-discount/updates/ProductDisc # yamllint disable-line rule:line-length ProductDiscountSetValidFromAndUntilAction: !include product-discount/updates/ProductDiscountSetValidFromAndUntilAction.raml ProductDiscountSetValidUntilAction: !include product-discount/updates/ProductDiscountSetValidUntilAction.raml +ProductPagedSearchResponse: !include product-search/ProductPagedSearchResponse.raml +ProductSearchErrorResponse: !include product-search/ProductSearchErrorResponse.raml +ProductSearchMatchingVariantEntry: !include product-search/ProductSearchMatchingVariantEntry.raml +ProductSearchMatchingVariants: !include product-search/ProductSearchMatchingVariants.raml +ProductSearchProjectionParams: !include product-search/ProductSearchProjectionParams.raml +ProductSearchRequest: !include product-search/ProductSearchRequest.raml +ProductSearchResult: !include product-search/ProductSearchResult.raml +ProductSearchFacetCountExpression: !include product-search/facets/ProductSearchFacetCountExpression.raml +ProductSearchFacetCountLevelEnum: !include product-search/facets/ProductSearchFacetCountLevelEnum.raml +ProductSearchFacetCountValue: !include product-search/facets/ProductSearchFacetCountValue.raml +ProductSearchFacetDistinctBucketSortBy: !include product-search/facets/ProductSearchFacetDistinctBucketSortBy.raml +# yamllint disable-line rule:line-length +ProductSearchFacetDistinctBucketSortExpression: !include product-search/facets/ProductSearchFacetDistinctBucketSortExpression.raml +ProductSearchFacetDistinctExpression: !include product-search/facets/ProductSearchFacetDistinctExpression.raml +ProductSearchFacetDistinctValue: !include product-search/facets/ProductSearchFacetDistinctValue.raml +ProductSearchFacetExpression: !include product-search/facets/ProductSearchFacetExpression.raml +ProductSearchFacetRangesExpression: !include product-search/facets/ProductSearchFacetRangesExpression.raml +ProductSearchFacetRangesFacetRange: !include product-search/facets/ProductSearchFacetRangesFacetRange.raml +ProductSearchFacetRangesValue: !include product-search/facets/ProductSearchFacetRangesValue.raml +ProductSearchFacetResult: !include product-search/facets/ProductSearchFacetResult.raml +ProductSearchFacetResultBucket: !include product-search/facets/ProductSearchFacetResultBucket.raml +ProductSearchFacetResultBucketEntry: !include product-search/facets/ProductSearchFacetResultBucketEntry.raml +ProductSearchFacetResultCount: !include product-search/facets/ProductSearchFacetResultCount.raml +ProductSearchFacetScope: !include product-search/facets/ProductSearchFacetScope.raml +ProductSearchFacetScopeEnum: !include product-search/facets/ProductSearchFacetScopeEnum.raml AssignedProductReference: !include product-selection/AssignedProductReference.raml AssignedProductSelection: !include product-selection/AssignedProductSelection.raml AssignedProductSelectionPagedQueryResponse: !include product-selection/AssignedProductSelectionPagedQueryResponse.raml @@ -1828,6 +1853,8 @@ CartValueType: !include project/CartValueType.raml CartsConfiguration: !include project/CartsConfiguration.raml ExternalOAuth: !include project/ExternalOAuth.raml OrderSearchStatus: !include project/OrderSearchStatus.raml +ProductSearchIndexingMode: !include project/ProductSearchIndexingMode.raml +ProductSearchStatus: !include project/ProductSearchStatus.raml Project: !include project/Project.raml ProjectUpdate: !include project/ProjectUpdate.raml ProjectUpdateAction: !include project/ProjectUpdateAction.raml @@ -1902,6 +1929,40 @@ ReviewSetTargetAction: !include review/updates/ReviewSetTargetAction.raml ReviewSetTextAction: !include review/updates/ReviewSetTextAction.raml ReviewSetTitleAction: !include review/updates/ReviewSetTitleAction.raml ReviewTransitionStateAction: !include review/updates/ReviewTransitionStateAction.raml +SearchAndExpression: !include search/SearchAndExpression.raml +SearchAnyValue: !include search/SearchAnyValue.raml +SearchCompoundExpression: !include search/SearchCompoundExpression.raml +SearchDateRangeExpression: !include search/SearchDateRangeExpression.raml +SearchDateRangeValue: !include search/SearchDateRangeValue.raml +SearchDateTimeRangeExpression: !include search/SearchDateTimeRangeExpression.raml +SearchDateTimeRangeValue: !include search/SearchDateTimeRangeValue.raml +SearchExactExpression: !include search/SearchExactExpression.raml +SearchExistsExpression: !include search/SearchExistsExpression.raml +SearchExistsValue: !include search/SearchExistsValue.raml +SearchFieldType: !include search/SearchFieldType.raml +SearchFilterExpression: !include search/SearchFilterExpression.raml +SearchFullTextExpression: !include search/SearchFullTextExpression.raml +SearchFullTextPrefixExpression: !include search/SearchFullTextPrefixExpression.raml +SearchFullTextPrefixValue: !include search/SearchFullTextPrefixValue.raml +SearchFullTextValue: !include search/SearchFullTextValue.raml +SearchLongRangeExpression: !include search/SearchLongRangeExpression.raml +SearchLongRangeValue: !include search/SearchLongRangeValue.raml +SearchMatchType: !include search/SearchMatchType.raml +SearchMatchingVariant: !include search/SearchMatchingVariant.raml +SearchNotExpression: !include search/SearchNotExpression.raml +SearchNumberRangeExpression: !include search/SearchNumberRangeExpression.raml +SearchNumberRangeValue: !include search/SearchNumberRangeValue.raml +SearchOrExpression: !include search/SearchOrExpression.raml +SearchPrefixExpression: !include search/SearchPrefixExpression.raml +SearchQuery: !include search/SearchQuery.raml +SearchQueryExpression: !include search/SearchQueryExpression.raml +SearchQueryExpressionValue: !include search/SearchQueryExpressionValue.raml +SearchSortMode: !include search/SearchSortMode.raml +SearchSortOrder: !include search/SearchSortOrder.raml +SearchSorting: !include search/SearchSorting.raml +SearchTimeRangeExpression: !include search/SearchTimeRangeExpression.raml +SearchTimeRangeValue: !include search/SearchTimeRangeValue.raml +SearchWildCardExpression: !include search/SearchWildCardExpression.raml CartClassificationTier: !include shipping-method/CartClassificationTier.raml CartScoreTier: !include shipping-method/CartScoreTier.raml CartValueTier: !include shipping-method/CartValueTier.raml