Dynamic facets

A Dynamic facet is generated based on query string parameters. There are two kinds:

  • Semi-dynamic facets
  • Fully dynamic facets

Semi-dynamic facets are used when you specify your facets as always - and maybe group them in a number of seperate facet definitions for ease of administration. Then on the product group, you can specify which facets is active in that context - lets say you have maybe 100 facets in total, but only 10 is useful for a given group - those are the ones you activate. Now the facet calculation for that group will only be conducted for those 10 facets – and not the 100 – making rendering much faster.

Fully dynamic facets are facets which are not predefined anywhere, but are 100% generated on the fly based on query string parameters. This feature is usually only relevant for solutions with a (perceived) need for e.g. 500+ different facets and no clear product hierarchy in the product catalog. This type of facet can be activated on a product catalog app when it is set to index mode (Figure 1.1).

Figure 1.1 Activating dynamic facets

When active, the predefined facet configuration defined in the product catalog facet groups selector can be overwritten by adding query string parameters in the following format:

?DynamicFacets=<FacetName/FieldSystemName>[@Label] – e.g. ?DynamicFacets=NameForSort@Product%20name

When you activate dynamic facets, you have two options:

  • Allow dynamic facets from existing facet groups – this limits the feature to only predefined facets selected on the product catalog
  • Allow dynamic facets for all fields – this allows you to create dynamic facets on all fields, including system fields and facets not selected on the product catalog

As soon as a dynamic facet is specified in the URL, the facet loop will stop outputting the predefined facets and instead output the dynamic facets. If no dynamic facets are specified the loop will output the preselected facets.