Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function getDocumentIdByString(string $string)
- {
- $this->search = new Search();
- $words = $this->parseString($string);
- foreach ($words as $word) {
- $boolQuery = new BoolQuery();
- $boolQuery->add(new WildcardQuery('p_name', "*$word*"), BoolQuery::SHOULD);
- $boolQuery->add(new WildcardQuery('m_name', "*$word*"), BoolQuery::SHOULD);
- $boolQuery->add(new WildcardQuery('c_name', "*$word*"), BoolQuery::SHOULD);
- $boolQuery->add(new WildcardQuery('model', "*$word*"), BoolQuery::SHOULD);
- $boolQuery->add(new FuzzyQuery('m_name', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
- $boolQuery->add(new FuzzyQuery('p_name', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
- $boolQuery->add(new FuzzyQuery('c_name', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
- $boolQuery->add(new FuzzyQuery('model', $word, ['max_expansions' => '10']), BoolQuery::SHOULD);
- $this->search->addQuery($boolQuery);
- }
- $this->search->addSort(new FieldSort('_score', FieldSort::DESC) );
- $this->search->addSort(new FieldSort('price', FieldSort::ASC));
- return $this->fetchIdByQuery($this->search->toArray());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement