Elastica\Query\QueryString::setUseDisMax PHP 메소드

setUseDisMax() 공개 메소드

Whether to use bool or dis_max queries to internally combine results for multi field search.
public setUseDisMax ( boolean $value = true )
$value boolean Determines whether to use
    public function setUseDisMax($value = true)
    {
        return $this->setParam('use_dis_max', (bool) $value);
    }

Usage Example

 public function testSearchMultipleFields()
 {
     $str = md5(rand());
     $query = new QueryString($str);
     $expected = array('query' => $str);
     $this->assertEquals(array('query_string' => $expected), $query->toArray());
     $fields = array();
     $max = rand() % 10 + 1;
     for ($i = 0; $i < $max; $i++) {
         $fields[] = md5(rand());
     }
     $query->setFields($fields);
     $expected['fields'] = $fields;
     $this->assertEquals(array('query_string' => $expected), $query->toArray());
     foreach (array(false, true) as $val) {
         $query->setUseDisMax($val);
         $expected['use_dis_max'] = $val;
         $this->assertEquals(array('query_string' => $expected), $query->toArray());
     }
 }