This project is not covered by Drupal’s security advisory policy.

This module allows you to group search results as well as denormalize entities when indexing them.
Bot functions are based on the available entity fields.

This functionality becomes handy especially when searching / sorting on multi-value fields has to be done.
E.g. Solr doesn't allow sorting on multi-value fields, further it can't handle the relations between two properties of the same multi-value field.
A denormalized index for entities enables us to do proper searching and
sorting even when multi-value fields are used.

Example of denormalization if we have the following node:

node = {
    nid: 1234,
    field1: [1, 2, 3],
    field2: [1, 2, 3]

Following entries in our search index if the denormalization bases on field1 & field2:

NID,        field1,       field2
1234       1              1
1234       1              2
1234       1              3
1234       2              1
1234       2              2
1234       2              3
1234       3              1
1234       3              2
1234       3              3


This module has following version specific dependencies:

  • Search API version >= 7.x-1.6
  • Search API Solr >=7.x-1.0



Create a new Search API index and use a denormalized item type ("Denormalized x").
In the workflow configuration you've to enable the processor "Configure which fields are use for denormalization" and configure the fields to denormalize on.


Enable and configure the "Grouping" processor of an Search API index and configure the fields to group on.

Further there's the plan to use query extenders to provide even more flexibility for grouping: #1989856: Add Query Extender


Supporting organizations: 
Sponsoring the worktime

Project information