コード例 #1
0
 /**
  * Add request settings for morelikethis
  *
  * @param Solarium_Query_Select_Component_MoreLikeThis $component
  * @param Solarium_Client_Request $request
  * @return Solarium_Client_Request
  */
 public function build($component, $request)
 {
     // enable morelikethis
     $request->addParam('mlt', 'true');
     $request->addParam('mlt.fl', $component->getFields());
     $request->addParam('mlt.mintf', $component->getMinimumTermFrequency());
     $request->addParam('mlt.mindf', $component->getMinimumDocumentFrequency());
     $request->addParam('mlt.minwl', $component->getMinimumWordLength());
     $request->addParam('mlt.maxwl', $component->getMaximumWordLength());
     $request->addParam('mlt.maxqt', $component->getMaximumQueryTerms());
     $request->addParam('mlt.maxntp', $component->getMaximumNumberOfTokens());
     $request->addParam('mlt.boost', $component->getBoost());
     $request->addParam('mlt.qf', $component->getQueryFields());
     $request->addParam('mlt.count', $component->getCount());
     return $request;
 }
コード例 #2
0
 public function testBuild()
 {
     $builder = new Solarium_Client_RequestBuilder_Select_Component_MoreLikeThis();
     $request = new Solarium_Client_Request();
     $component = new Solarium_Query_Select_Component_MoreLikeThis();
     $component->setFields('description,name');
     $component->setMinimumTermFrequency(1);
     $component->setMinimumDocumentFrequency(3);
     $component->setMinimumWordLength(2);
     $component->setMaximumWordLength(15);
     $component->setMaximumQueryTerms(4);
     $component->setMaximumNumberOfTokens(5);
     $component->setBoost(true);
     $component->setQueryFields('description');
     $component->setCount(6);
     $request = $builder->build($component, $request);
     $this->assertEquals(array('mlt' => true, 'mlt.fl' => 'description,name', 'mlt.mintf' => 1, 'mlt.mindf' => 3, 'mlt.minwl' => 2, 'mlt.maxwl' => 15, 'mlt.maxqt' => 4, 'mlt.maxntp' => 5, 'mlt.boost' => true, 'mlt.qf' => 'description', 'mlt.count' => 6), $request->getParams());
 }
コード例 #3
0
 public function testSetAndGetCount()
 {
     $value = 8;
     $this->_mlt->setCount($value);
     $this->assertEquals($value, $this->_mlt->getCount());
 }