Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.29 KB | None | 0 0
  1.   public function getDocumentIdByString(string $string)
  2.     {
  3.         $this->search = new Search();
  4.  
  5.         $words = $this->parseString($string);
  6.  
  7.         foreach ($words as $word) {
  8.             $boolQuery = new BoolQuery();
  9.             $boolQuery->add(new WildcardQuery('p_name', "*$word*"), BoolQuery::SHOULD);
  10.             $boolQuery->add(new WildcardQuery('m_name', "*$word*"), BoolQuery::SHOULD);
  11.             $boolQuery->add(new WildcardQuery('c_name', "*$word*"), BoolQuery::SHOULD);
  12.             $boolQuery->add(new WildcardQuery('model', "*$word*"), BoolQuery::SHOULD);
  13.  
  14.             $boolQuery->add(new FuzzyQuery('m_name', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
  15.             $boolQuery->add(new FuzzyQuery('p_name', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
  16.             $boolQuery->add(new FuzzyQuery('c_name', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
  17.             $boolQuery->add(new FuzzyQuery('model', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
  18.  
  19.             $this->search->addQuery($boolQuery);
  20.         }
  21.  
  22.         $this->search->addSort(new FieldSort('_score', FieldSort::DESC) );
  23.         $this->search->addSort(new FieldSort('price', FieldSort::ASC));
  24.  
  25.  
  26.         return $this->fetchIdByQuery($this->search->toArray());
  27.  
  28.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement