1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- namespace OpenSearch\Client;
- use OpenSearch\Generated\Search\OpenSearchSearcherServiceIf;
- use OpenSearch\Generated\Search\SearchParams;
- use OpenSearch\Util\SuggestParamsBuilder;
- class SuggestClient implements OpenSearchSearcherServiceIf {
- const SUGGEST_API_PATH = '/apps/%s/suggest/%s/search';
- private $openSearchClient;
-
- public function __construct($openSearchClient) {
- $this->openSearchClient = $openSearchClient;
- }
-
- public function execute(SearchParams $searchParams) {
- $path = self::getPath($searchParams);
- $params = SuggestParamsBuilder::getQueryParams($searchParams);
- return $this->openSearchClient->get($path, $params);
- }
- private static function getPath($searchParams) {
- $appName = implode(',', $searchParams->config->appNames);
- $suggestName = $searchParams->suggest->suggestName;
- return sprintf(self::SUGGEST_API_PATH, $appName, $suggestName);
- }
- }
|