![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-elasticsearch/SearchAdapter/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Elasticsearch\SearchAdapter; use Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Mapper as Elasticsearch5Mapper; use Magento\Elasticsearch\SearchAdapter\Filter\Builder as FilterBuilder; use Magento\Elasticsearch\SearchAdapter\Query\Builder as QueryBuilder; use Magento\Elasticsearch\SearchAdapter\Query\Builder\MatchQuery as MatchQueryBuilder; use Magento\Framework\Search\Request\Query\BoolExpression as BoolQuery; use Magento\Framework\Search\RequestInterface; /** * Mapper class for Elasticsearch2 * * @api * @since 100.1.0 * @deprecated 100.3.5 because of EOL for Elasticsearch2 */ class Mapper extends Elasticsearch5Mapper { /** * @param QueryBuilder $queryBuilder * @param MatchQueryBuilder $matchQueryBuilder * @param FilterBuilder $filterBuilder */ public function __construct( QueryBuilder $queryBuilder, MatchQueryBuilder $matchQueryBuilder, FilterBuilder $filterBuilder ) { $this->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; return $this->queryBuilder->initAggregations($request, $searchQuery); } }