diff --git a/src/Plugin/search_api/backend/SearchApiSolrBackend.php b/src/Plugin/search_api/backend/SearchApiSolrBackend.php index 4916171..d545a87 100644 --- a/src/Plugin/search_api/backend/SearchApiSolrBackend.php +++ b/src/Plugin/search_api/backend/SearchApiSolrBackend.php @@ -46,6 +46,7 @@ use Solarium\QueryType\Suggester\Query as SuggesterQuery; use Solarium\QueryType\Suggester\Result\Result as SuggesterResult; use Solarium\QueryType\Update\Query\Document\Document; use Symfony\Component\DependencyInjection\ContainerInterface; +use Drupal\search_api\Item\Field; /** * The minimum required Solr schema version. @@ -2459,7 +2460,9 @@ class SearchApiSolrBackend extends BackendPluginBase implements SolrBackendInter $group_params['group.facet'] = 'true'; } foreach ($grouping_options['fields'] as $collapse_field) { - $type = $index_fields[$collapse_field]['type']; + /** @var $field Field $type */ + $field = $index_fields[$collapse_field]; + $type = $field->getType(); // Only single-valued fields are supported. if (SearchApiUtility::isTextType($type)) { $warnings[] = $this->t('Grouping is not supported for field @field. Only single-valued fields not indexed as "Fulltext" are supported.', @@ -2474,8 +2477,8 @@ class SearchApiSolrBackend extends BackendPluginBase implements SolrBackendInter else { if (!empty($grouping_options['group_sort'])) { foreach ($grouping_options['group_sort'] as $group_sort_field => $order) { - if (isset($fields[$group_sort_field])) { - $f = $fields[$group_sort_field]; + if (isset($field_names[$group_sort_field])) { + $f = $field_names[$group_sort_field]; if (substr($f, 0, 3) == 'ss_') { $f = 'sort_' . substr($f, 3); }