/** * Builds a query based on QueryString syntax * @param array $fields the fields * @param string $queryString the query * @param integer $phraseSlop phrase slop * @param string $defaultOperator the default operator AND or OR * @return \Elastica\Query\QueryString */ public function buildQueryString(array $fields, $queryString, $phraseSlop, $defaultOperator = 'AND') { $query = new \Elastica\Query\QueryString($queryString); $query->setFields($fields); $query->setAutoGeneratePhraseQueries(true); $query->setPhraseSlop($phraseSlop); $query->setDefaultOperator($defaultOperator); $query->setAllowLeadingWildcard($this->context->isAllowLeadingWildcards()); $query->setFuzzyPrefixLength(2); $query->setRewrite('top_terms_boost_1024'); return $query; }
/** * Builds a query based on QueryString syntax * @param array $fields the fields * @param string $queryString the query * @param integer $phraseSlop phrase slop * @param string $defaultOperator the default operator AND or OR * @return \Elastica\Query\QueryString */ public function buildQueryString(array $fields, $queryString, $phraseSlop, $defaultOperator = 'AND') { $query = new \Elastica\Query\QueryString($queryString); $query->setFields($fields); $query->setAutoGeneratePhraseQueries(true); $query->setPhraseSlop($phraseSlop); $query->setDefaultOperator($defaultOperator); $query->setAllowLeadingWildcard($this->context->isAllowLeadingWildcards()); $query->setFuzzyPrefixLength(2); $query->setRewrite('top_terms_boost_1024'); $states = $this->context->getConfig()->get('CirrusSearchQueryStringMaxDeterminizedStates'); if (isset($states)) { // Requires ES 1.4+ $query->setParam('max_determinized_states', $states); } return $query; }