public function execute(InputInterface $in, OutputInterface $out) { parent::execute($in, $out); $searchBaseUrl = $this->resolveBaseUrl('search', $in); $user = $this->session->getUser(); $tokenCredentials = NULL !== $user ? $user->getTokenCredentials() : NULL; $service = new Service($searchBaseUrl, $this->session->getConsumerCredentials(), $tokenCredentials); $query = $in->getArgument('query'); $types = $in->getOption('type'); $suggestionsResult = $service->searchSuggestions($query, $types); $suggestions = $suggestionsResult->getSuggestions(); $out->writeln($suggestions); }
/** * @see \CultuurNet\Search\ServiceInterface::searchSuggestions(). */ public function searchSuggestions($search_string, $types = array(), $past = FALSE, $extra_parameters = array(), $max = null) { $extra_parameters_string = ''; foreach ($extra_parameters as $extra_parameter) { $extra_parameters_string = $extra_parameter->getValue() . '|'; } $cid = sprintf('suggestions:%s', md5($search_string . implode('|', $types) . $past . $extra_parameters_string . $max)); if ($cache = $this->cacheGet($cid)) { return $cache->data; } $suggestions = $this->realSearchService->searchSuggestions($search_string, $types, $past, $extra_parameters, $max); $this->cacheSet($cid, $suggestions, REQUEST_TIME + CULTUREFEED_SEARCH_CACHE_EXPIRES); return $suggestions; }
/** * @see \CultuurNet\Search\Service::searchSuggestions(). */ public function searchSuggestions($search_string, $types = array(), $past = FALSE, $extra_parameters = array(), $max = null) { return $this->service->searchSuggestions($search_string, $types, $past, $extra_parameters, $max); }