Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Mapper.php
Go to the documentation of this file.
1 <?php
7 
9 use Magento\Framework\Search\Request\QueryInterface as RequestQueryInterface;
17 
23 class Mapper extends Elasticsearch5Mapper
24 {
30  public function __construct(
32  MatchQueryBuilder $matchQueryBuilder,
34  ) {
35  $this->queryBuilder = $queryBuilder;
36  $this->matchQueryBuilder = $matchQueryBuilder;
37  $this->filterBuilder = $filterBuilder;
38  }
39 
48  {
49  $searchQuery = $this->queryBuilder->initQuery($request);
50  $searchQuery['body']['query'] = array_merge(
51  $searchQuery['body']['query'],
52  $this->processQuery(
53  $request->getQuery(),
54  [],
55  BoolQuery::QUERY_CONDITION_MUST
56  )
57  );
58 
59  $searchQuery['body']['query']['bool']['minimum_should_match'] = 1;
60 
61  $searchQuery = $this->queryBuilder->initAggregations($request, $searchQuery);
62  return $searchQuery;
63  }
64 }
buildQuery(RequestInterface $request)
Definition: Mapper.php:47
__construct(QueryBuilder $queryBuilder, MatchQueryBuilder $matchQueryBuilder, FilterBuilder $filterBuilder)
Definition: Mapper.php:30