Structure Queries

Structure queries are way of generating dynamic group-like structures from on product data – this is especially useful for scenarios where multiple teams are working on the product portfolio, but the warehouse structure is ill-suited for one or more of them.

For example:

  • A company in consumer-related industry wants to use PIM
  • The warehouse structure is imported from their ERP system, and is based on technical categories which allow the technical team to work efficiently with product enrichment
  • The Marketing team prefers to work in seasons – Spring 2020, Summer 2020, Winter 2020, etc. That data already exists on each product

A structure query can be used to allow Marketing to work with seasons without compromising the efficiency of the technical team.

To create a structure query go to PIM > Structure queries and Open a context menu and press New dynamic structure to open the edit interface (Figure 1.1).

Figure 1.1 Defining the structure

In the Edit interface:

  • Name the query
  • Select a PIM query to base the structure on – the products matched by that query will be part of the structure
  • Select the index-fields which the level 1-5 structures should be generated from
  • Save

Once the structure query has been saved, a new node containing the dynamic structure is generated (Figure 1.2). Product which have no value in the field selected are placed in a [No Match] group.

Please keep in mind that the generated groups are not fully-fledged groups, and none of the regular features associated with groups are present on them, e.g. workflowsproduct categories, and so on.

Figure 1.2 The generated structure

A technical note

If the field on which you want to build your dynamic structure is analyzed and the content is in two words, each word will be split and used to create a node in the dynamic structure. Most text fields are analyzed by default when using the standard ProductIndexSchemaExtender.

To solve this issue, manually create an unanalyzed field (Figure 1.3) and use it instead.

Figure 1.3 An unanalyzed field