Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Builder.php
Go to the documentation of this file.
1 <?php
7 
13 
18 class Builder
19 {
24  protected $clientConfig;
25 
31 
37 
42  protected $scopeResolver;
43 
50  public function __construct(
53  AggregationBuilder $aggregationBuilder,
55  ) {
56  $this->clientConfig = $clientConfig;
57  $this->searchIndexNameResolver = $searchIndexNameResolver;
58  $this->aggregationBuilder = $aggregationBuilder;
59  $this->scopeResolver = $scopeResolver;
60  }
61 
70  {
71  $dimension = current($request->getDimensions());
72  $storeId = $this->scopeResolver->getScope($dimension->getValue())->getId();
73  $searchQuery = [
74  'index' => $this->searchIndexNameResolver->getIndexName($storeId, $request->getIndex()),
75  'type' => $this->clientConfig->getEntityType(),
76  'body' => [
77  'from' => $request->getFrom(),
78  'size' => $request->getSize(),
79  'stored_fields' => ['_id', '_score'],
80  'query' => [],
81  ],
82  ];
83  return $searchQuery;
84  }
85 
94  public function initAggregations(
96  array $searchQuery
97  ) {
98  return $this->aggregationBuilder->build($request, $searchQuery);
99  }
100 }
initAggregations(RequestInterface $request, array $searchQuery)
Definition: Builder.php:94
__construct(Config $clientConfig, SearchIndexNameResolver $searchIndexNameResolver, AggregationBuilder $aggregationBuilder, ScopeResolverInterface $scopeResolver)
Definition: Builder.php:50