/**
  * @param \Spryker\Client\Search\Dependency\Plugin\QueryInterface $searchQuery
  * @param array $requestParameters
  *
  * @return \Spryker\Client\Search\Dependency\Plugin\QueryInterface
  */
 public function expandQuery(QueryInterface $searchQuery, array $requestParameters = [])
 {
     $searchConfig = $this->getFactory()->getSearchConfig();
     $sortConfig = $searchConfig->getSortConfigBuilder();
     $this->addSortingToQuery($searchQuery->getSearchQuery(), $sortConfig, $requestParameters);
     return $searchQuery;
 }
 /**
  * @param \Spryker\Client\Search\Dependency\Plugin\QueryInterface $searchQuery
  * @param \Spryker\Client\Search\Dependency\Plugin\ResultFormatterPluginInterface[] $resultFormatters
  * @param array $requestParameters
  *
  * @return array
  */
 public function search(QueryInterface $searchQuery, array $resultFormatters = [], array $requestParameters = [])
 {
     $query = $searchQuery->getSearchQuery();
     $rawSearchResult = $this->executeQuery($query);
     if (!$resultFormatters) {
         return $rawSearchResult;
     }
     return $this->formatSearchResults($resultFormatters, $rawSearchResult, $requestParameters);
 }
 /**
  * @param \Spryker\Client\Search\Dependency\Plugin\QueryInterface $searchQuery
  * @param array $requestParameters
  *
  * @return \Spryker\Client\Search\Dependency\Plugin\QueryInterface
  */
 public function expandQuery(QueryInterface $searchQuery, array $requestParameters = [])
 {
     $searchConfig = $this->getFactory()->getSearchConfig();
     $facetConfig = $searchConfig->getFacetConfigBuilder();
     $query = $searchQuery->getSearchQuery();
     $facetFilters = $this->getFacetFilters($facetConfig, $requestParameters);
     $this->addFacetAggregationToQuery($query, $facetConfig, $facetFilters, $requestParameters);
     $this->addFacetFiltersToQuery($query, $facetFilters);
     return $searchQuery;
 }