diff --git a/src/Plugin/facets/facet_source/SearchApiBaseFacetSource.php b/src/Plugin/facets/facet_source/SearchApiBaseFacetSource.php index f3cd89a..4534507 100644 --- a/src/Plugin/facets/facet_source/SearchApiBaseFacetSource.php +++ b/src/Plugin/facets/facet_source/SearchApiBaseFacetSource.php @@ -148,16 +148,19 @@ abstract class SearchApiBaseFacetSource extends FacetSourcePluginBase { */ public function getQueryTypesForDataType(BackendInterface $backend, $data_type_plugin_id) { $query_types = []; - // @todo Make this flexible for each data type in Search API. + $query_types['string'] = 'search_api_string'; + + // Add additional query types for specific data types. switch ($data_type_plugin_id) { case 'date': $query_types['date'] = 'search_api_date'; - case 'boolean': + break; + case 'decimal': case 'integer': $query_types['numeric'] = 'search_api_granular'; - case 'string': - $query_types['string'] = 'search_api_string'; + break; + } // Find out if the backend implemented the Interface to retrieve specific diff --git a/src/Plugin/facets/query_type/SearchApiGranular.php b/src/Plugin/facets/query_type/SearchApiGranular.php index 41d8772..b41594e 100644 --- a/src/Plugin/facets/query_type/SearchApiGranular.php +++ b/src/Plugin/facets/query_type/SearchApiGranular.php @@ -32,8 +32,8 @@ class SearchApiGranular extends QueryTypeRangeBase { */ public function calculateResultFilter($value) { return [ - 'display' => $value - $value % $this->getGranularity(), - 'raw' => $value - $value % $this->getGranularity(), + 'display' => $value - ($value % $this->getGranularity()), + 'raw' => $value - ($value % $this->getGranularity()) , ]; }