Builder.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Elasticsearch\SearchAdapter\Query;
  7. use Magento\Framework\Search\RequestInterface;
  8. use Magento\Framework\App\ScopeResolverInterface;
  9. use Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Query\Builder as Elasticsearch5Builder;
  10. /**
  11. * @api
  12. * @since 100.1.0
  13. */
  14. class Builder extends Elasticsearch5Builder
  15. {
  16. /**
  17. * Set initial settings for query
  18. *
  19. * @param RequestInterface $request
  20. * @return array
  21. * @since 100.1.0
  22. */
  23. public function initQuery(RequestInterface $request)
  24. {
  25. $dimension = current($request->getDimensions());
  26. $storeId = $this->scopeResolver->getScope($dimension->getValue())->getId();
  27. $searchQuery = [
  28. 'index' => $this->searchIndexNameResolver->getIndexName($storeId, $request->getIndex()),
  29. 'type' => $this->clientConfig->getEntityType(),
  30. 'body' => [
  31. 'from' => $request->getFrom(),
  32. 'size' => $request->getSize(),
  33. 'fields' => ['_id', '_score'],
  34. 'query' => [],
  35. ],
  36. ];
  37. return $searchQuery;
  38. }
  39. }