예제 #1
0
 public function testConfigMode()
 {
     $options = array('queryparser' => 'edismax', 'queryalternative' => '*:*', 'queryfields' => 'title^2.0 description', 'minimummatch' => '2.0', 'phrasefields' => 'title^2.0 description^3.5', 'phraseslop' => 2, 'phrasebigramfields' => 'description^1.3 date^4.3 field_text2^1.3', 'phrasebigramslop' => 3, 'phrasetrigramfields' => 'datetime^4 field1^5 myotherfield^9', 'phrasetrigramslop' => 5, 'queryphraseslop' => 4, 'tie' => 2.1, 'boostquery' => 'cat:1^3', 'boostfunctions' => 'funcA(arg1,arg2)^1.2 funcB(arg3,arg4)^2.2', 'boostfunctionsmult' => 'funcC(arg5,arg6)^4.3 funcD(arg7,arg8)^3.4', 'userfields' => 'date *_ul');
     $this->eDisMax->setOptions($options);
     $this->assertEquals($options['queryparser'], $this->eDisMax->getQueryParser());
     $this->assertEquals($options['queryalternative'], $this->eDisMax->getQueryAlternative());
     $this->assertEquals($options['queryfields'], $this->eDisMax->getQueryFields());
     $this->assertEquals($options['minimummatch'], $this->eDisMax->getMinimumMatch());
     $this->assertEquals($options['phrasefields'], $this->eDisMax->getPhraseFields());
     $this->assertEquals($options['phraseslop'], $this->eDisMax->getPhraseSlop());
     $this->assertEquals($options['phrasebigramfields'], $this->eDisMax->getPhraseBigramFields());
     $this->assertEquals($options['phrasebigramslop'], $this->eDisMax->getPhraseBigramSlop());
     $this->assertEquals($options['phrasetrigramfields'], $this->eDisMax->getPhraseTrigramFields());
     $this->assertEquals($options['phrasetrigramslop'], $this->eDisMax->getPhraseTrigramSlop());
     $this->assertEquals($options['queryphraseslop'], $this->eDisMax->getQueryPhraseSlop());
     $this->assertEquals($options['tie'], $this->eDisMax->getTie());
     $this->assertEquals($options['boostquery'], $this->eDisMax->getBoostQuery());
     $this->assertEquals($options['boostfunctionsmult'], $this->eDisMax->getBoostFunctionsMult());
     $this->assertEquals($options['userfields'], $this->eDisMax->getUserFields());
 }