public function newAutocompleteRequest($text, $suggestionsHitCount, $hitCount, $options = array(), $type = 'product') { if ($hitCount == null) { $hitCount = $suggestionsHitCount; } if (empty($options['returnFields'])) { $options['returnFields'] = array('products_ordernumber', 'products_group_id'); } $cookieDomain = $this->config->get('boxalino_domain'); $p13n = new HttpP13n(); $account = $this->getAccount(); $request = $p13n->getAutocompleteRequest($account, $cookieDomain); $searchQuery = $this->newSearchQuery($text, $offset, $hitCount, $options, $type); $autocompleteQuery = new \com\boxalino\p13n\api\thrift\AutocompleteQuery(); $autocompleteQuery->indexId = $account; $autocompleteQuery->language = $this->getShortLocale(); $autocompleteQuery->queryText = $text; $autocompleteQuery->suggestionsHitCount = $suggestionsHitCount; $autocompleteQuery->highlight = true; $autocompleteQuery->highlightPre = '<em>'; $autocompleteQuery->highlightPost = '</em>'; $request->choiceId = $this->config->get('boxalino_autocomplete_widget_name'); $request->autocompleteQuery = $autocompleteQuery; $request->searchChoiceId = $this->config->get('boxalino_search_widget_name'); $request->searchQuery = $searchQuery; if ($this->config->get('boxalino_categoryautocomplete_enabled') && $type == 'product') { $propertyQuery = new \com\boxalino\p13n\api\thrift\PropertyQuery(); $propertyQuery->name = "categories"; $propertyQuery->hitCount = 5; $propertyQuery->evaluateTotal = true; $request->propertyQueries = array($propertyQuery); } return $request; }