Skip to main content
The search node controls the internal product search (not WEBSALE search) and listing pages in the shop — e.g. which filters are offered, which sort options are available and how many results are shown per page. It separates the settings for category and search result pages and allows the definition of individual filters and sort rules as reusable building blocks.

search* - Basic structure

The basic structure of the search node is shown below:
{
  "search": {
    "categoryNavigation": {},
    "productSearchNavigation": {},
    "productFilter": {},
    "productSortOption": {}
  }
}
Parameter description
ParameterDescription
categoryNavigationControls filters, sorting and results per page on category / listing pages.
productSearchNavigationControls filters, sorting and results per page on search result pages.
productFilterDefines a filter component.
productSortOptionDefines a sort rule for use in category and search lists.

search.categoryNavigation - Filters and sorting for category pages

The search.categoryNavigation node controls which filters and sortings are available on category pages, which default sort order applies and the number of results per page. Example configuration
{
  "defaultResultsPerPage": 16,
  "defaultSortOption": "search.productSortOption.relevance",
  "keepSortSettings": true,
  "productFilters": [
    "search.productFilter.price",
    "search.productFilter.clothingLength",
    "search.productFilter.clothingOuterMaterial",
    "search.productFilter.brand"
  ],
  "resultsPerPageOptions": [16, 24, 32],
  "sortOptions": [
    "search.productSortOption.relevance",
    "search.productSortOption.nameAsc",
    "search.productSortOption.nameDesc",
    "search.productSortOption.priceAsc",
    "search.productSortOption.priceDesc"
  ]
}
Parameter description
ParameterTypeDescription
productFiltersmultiAssocList of available filters from search.productFilter (e.g. price, brand, material). The order of the entries matches the order in the frontend.
sortOptionsmultiAssocList of sortings the user can choose from search.productSortOption (e.g. relevance, name or price ascending / descending).
defaultSortOptionssingleAssocPreset sorting from search.productSortOption when a category page is first loaded (e.g. by relevance).
resultsPerPageOptionslist (uint)Selectable values for “results per page”.
The order of the entries matches the order in the frontend.
Default: [20, 50, 100, 200]
defaultResultsPerPageuintDefault results per page (must also be present in resultsPerPageOptions).
Default: 20
keepSortSettings
(coming soon)
boolKeep the chosen sorting / limit per user session.
Default: true

search.productFilter - Define product filters

The search.productFilter node defines individual filters for listing pages (e.g. brand, material, price, weight). You specify which data field is filtered, how the filter works and whether there are dependencies on other filters. Example configuration (search.productFilter.weight):
{
  "name": "weight",
  "filterDependency": { "filter": null, "options": [] },
  "type": {
    "keyword": { "optionsSort": "numResults", "multiSelect": true },
    "range": null
  },
  "target": {
    "field": "content.customProductField.weight",
    "special": null,
    "attribute": null
  },
  "scoreBoost": 0,
  "optionsDirectlyDisplayable": false,
  "unit": "",
  "numInitialOptions": 0,
  "minOptions": 0
}
Parameter description
ParameterTypeDescription
namestringTechnical name of the filter (e.g. brand, price).
filterDependencyobjectDefines the dependency on another filter.
filtersingleAssocReference to the dependent filter from search.productFilter.
optionslist (string)Allowed options of the dependent filter; when these are selected, this filter becomes active.
Example: show “Size” filter only if the category “Clothing” is selected:
{ "name": "size", "filterDependency": { "filter": "search.productFilter.category", "options": ["clothing"] } }
typeoneOfDefines how the filter works.
keywordobjectSelection list with fixed values (e.g. brands, colours).
optionsSortenumSort order of the option values.
Possible values: lexical — alphabetical sort. numResults — sort by hit count. relevance — sort by relevance.
multiSelectboolAllow multi-selection or only a single option.
rangeobjectControls a numeric filter (e.g. price, weight).
inputTypeenumDefines how users choose the numeric range of the filter:
rangeonly — freely adjustable range. optionsOnly — only predefined steps to select. rangeAndOptions — combines both.
optionTypeenumDetermines where the numeric range steps come from:
static — define fixed steps manually. dynamic — steps are calculated automatically from existing product values.
dynamicStepsintSpecifies the number of dynamic steps.
(Only used if optionType is set to dynamic.)
statisticOptionslist (object)List of fixed numeric range steps.
fromfloatLower bound of the numeric range step.
tofloatUpper bound of the numeric range step.
targetoneOfDefines which product field the filter uses (e.g. a product field or a product attribute).
fieldsingleAssocBinds the filter to a product field (e.g. content.customProductField.weight).
The data comes from content.productField | content.customProductField.
specialenumDetermines whether to filter by category ID (categories) or new arrivals (new).
attributesingleAssocBinds the filter to a product attribute.
Data from content.productAttribute.
scoreBoost
(coming soon)
floatIncreases the ranking influence of selected filter values on the result order.
optionsDirectlyDisplayable
(coming soon)
booltrue — the option list can be shown in full without “show more”.
false — the option list can be collapsed.
unitstringUnit for display (e.g. kg, cm, ).
numInitialOptionsuintNumber of option values initially visible (e.g. show 5 first, the rest must be expanded).
minOptionsuintMinimum number of option values required for the filter to be displayed at all.

search.productSearchNavigation - Filters and sorting for search result pages

The search.productSearchNavigation node defines the filters and sorting on search result pages. You can set, for example, the default sort order, the results per page and a limit for the maximum number of results per search. Example configuration
{
  "defaultResultsPerPage": 16,
  "defaultSortOption": "search.productSortOption.relevance",
  "maxResults": 1000,
  "productFilters": [
    "search.productFilter.price",
    "search.productFilter.clothingLength",
    "search.productFilter.clothingOuterMaterial",
    "search.productFilter.brand"
  ],
  "resultsPerPageOptions": [16, 24, 32],
  "sortOptions": [
    "search.productSortOption.relevance",
    "search.productSortOption.nameAsc",
    "search.productSortOption.nameDesc",
    "search.productSortOption.priceAsc",
    "search.productSortOption.priceDesc"
  ]
}
Parameter description
ParameterTypeDescription
productFiltersmultiAssocAvailable filters for the search (e.g. price, brand, material). The order matches the display in the frontend.
sortOptionsmultiAssocSortings selectable by the user (e.g. relevance, name / price ascending or descending).
defaultSortOptionsingleAssocPreset sorting of the search results (e.g. relevance).
resultsPerPageOptionslist (uint)Selectable values for “results per page”.
Default: [20, 50, 100, 200]
defaultResultsPerPageintDefault results per page (must be contained in resultsPerPageOptions).
maxResultsintMaximum number of results that are considered / displayed for a search.

search.productSortOption - Sort option

The search.productSortOption node defines a sort option for category and search result pages. It defines, for example, what is sorted by and in which direction. Example configuration (search.productSortOption.relevance)
{
  "name": "Beliebtheit",
  "target": {
    "field": null,
    "special": "relevance"
  }
}
Parameter description
ParameterTypeDescription
namestringDisplay name of the sorting in the frontend (e.g. “Popularity”).
targetoneOfDefines what to sort by — choose one variant:
field or special.
fieldobjectSort by a specific product field.
fieldenumProduct field from content.productField | content.customProductField to sort by (e.g. price).
directionenumSort direction.
asc = ascending.
desc = descending.
specialenumSystem sorting by relevance (relevance).