Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
Search Class Reference
Inheritance diagram for Search:
SearchInterface Search

Public Member Functions

 __construct (Builder $requestBuilder, ScopeResolverInterface $scopeResolver, SearchEngineInterface $searchEngine, SearchResponseBuilder $searchResponseBuilder)
 
 search (SearchCriteriaInterface $searchCriteria)
 
- Public Member Functions inherited from SearchInterface
 search (\Magento\Framework\Api\Search\SearchCriteriaInterface $searchCriteria)
 

Detailed Description

Definition at line 13 of file Search.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( Builder  $requestBuilder,
ScopeResolverInterface  $scopeResolver,
SearchEngineInterface  $searchEngine,
SearchResponseBuilder  $searchResponseBuilder 
)
Parameters
Builder$requestBuilder
ScopeResolverInterface$scopeResolver
SearchEngineInterface$searchEngine
SearchResponseBuilder$searchResponseBuilder

Definition at line 41 of file Search.php.

46  {
47  $this->requestBuilder = $requestBuilder;
48  $this->scopeResolver = $scopeResolver;
49  $this->searchEngine = $searchEngine;
50  $this->searchResponseBuilder = $searchResponseBuilder;
51  }

Member Function Documentation

◆ search()

search ( SearchCriteriaInterface  $searchCriteria)

{}

Definition at line 56 of file Search.php.

57  {
58  $this->requestBuilder->setRequestName($searchCriteria->getRequestName());
59 
60  $scope = $this->scopeResolver->getScope()->getId();
61  $this->requestBuilder->bindDimension('scope', $scope);
62 
63  foreach ($searchCriteria->getFilterGroups() as $filterGroup) {
64  foreach ($filterGroup->getFilters() as $filter) {
65  $this->addFieldToFilter($filter->getField(), $filter->getValue());
66  }
67  }
68 
69  $this->requestBuilder->setFrom($searchCriteria->getCurrentPage() * $searchCriteria->getPageSize());
70  $this->requestBuilder->setSize($searchCriteria->getPageSize());
71  $request = $this->requestBuilder->create();
72  $searchResponse = $this->searchEngine->search($request);
73 
74  return $this->searchResponseBuilder->build($searchResponse)
75  ->setSearchCriteria($searchCriteria);
76  }
$searchCriteria

The documentation for this class was generated from the following file: