queryBuilder = $queryBuilder; $this->matchQueryBuilder = $matchQueryBuilder; $this->filterBuilder = $filterBuilder; } /** * Build adapter dependent query * * @param RequestInterface $request * @return array * @since 100.1.0 */ public function buildQuery(RequestInterface $request) { $searchQuery = $this->queryBuilder->initQuery($request); $searchQuery['body']['query'] = array_merge( $searchQuery['body']['query'], $this->processQuery( $request->getQuery(), [], BoolQuery::QUERY_CONDITION_MUST ) ); $searchQuery['body']['query']['bool']['minimum_should_match'] = 1; $searchQuery = $this->queryBuilder->initAggregations($request, $searchQuery); return $searchQuery; } }