Storefront search overview

Ask about this Page
Copy for LLM
View as Markdown

Product Search features enhance product discoverability through your storefront.

Product Search features

Product indexing

Indexing is a process carried out by the API to build the search index for your product information, which is optimized for read access with low response times. If you retrieve product information using the Products API or Product Projections API before indexing is complete, the product data in the search index might be different. The search index is automatically updated whenever Products are changed.
FunctionalityProduct Search
Indexed projection of the Productscurrent
Support for Variant-level Attributesvariants.attributes.<attribute-name> expression, up to 50 Attributes per Product Variant
Support for Product-level Attributes BETAattributes.<attribute-name> expression, up to 50 Attributes per Product Variant
Support for Standalone Pricesfor sorting, filtering, and faceting, up to 10 000 Standalone Prices per Product
Support for validity periods of Pricesvariants.prices.* keyword fields
Support for Storesstores keyword field, up to 15 000 Stores per Product
Support for Product SelectionsproductSelections keyword field, up to 15 000 Product Selections per Product
Support for Product Tailoringwith GraphQL

Query expressions

FunctionalityProduct Search
Full-text searchfullText expression
Fuzzy searchfuzzy expression
Exact matchexact expression
Range of valuesrange expression
If field existsexists expression
Prefix matchprefix expression
Wildcard matchwildcard expression
Boosting particular searchable fieldsboosting
Specify query expressions per searchable fieldby field name
Operators to define compound expressionsand, or, not, filter operators

Query result

By default, the Product Search API returns only the IDs of the matching Products. You can use the returned Product IDs to retrieve the full projection of a Product (Get Product Projection by ID).
FunctionalityProduct Search
IDs of the matching Productsby default
Full representations of the matching Productswith GraphQL
Price selectionwith GraphQL
Scoped Price searchwith filter by price

Filtering

FunctionalityProduct Search
Non-facet-driven filter (for example by Category, Attribute values, full-text search) that both results and every facet's base set inherit.query in ProductSearchRequest
Narrow the set of returned products after facets are calculated.postFilter in ProductSearchRequest
Narrow the calculated facet results.filter in facet expressions

Faceting

FunctionalityProduct Search
Count all occurrences of distinct values.distinct facets
Count Products that have values within a specified range.ranges facets
Count the number of Products or Product Variants.count facets
Calculate statistics for facet values.stats facets
Allow for handling missing values when calculating facets.missing values
Filter facet results.filter facet
Specify scope of facets.scope of facets
Assign a custom name to a facet result.name in facet expression

Sorting

FunctionalityProduct Search
Sort order (ascending or descending)asc and desc sort order
Sort mode to specify which value to sort on when a Product contains multiple values for the fieldmin, max, avg, sum sort mode
Specify exactly which resources should be considered for sorting.sort filter
Sort by a localized field, such as namelanguage property on the sort object
Sort by CategoryOrderHintsstructured sort object

Pagination

FunctionalityProduct Search
Maximum results per page (limit)100
Maximum total results reachable through paginationfirst 10 000 results
Error when the offset exceeds the maximumInvalidInput error