Example #1
0
 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;
 }