/** * @param \Solarium\QueryType\Select\Query\Query $select */ public function addKritsToSolr(&$select) { foreach ($this->krits as $krit) { switch ($krit["typ"]) { case "betreff": $helper = $select->getHelper(); $select->createFilterQuery("betreff")->setQuery("antrag_betreff:" . $helper->escapeTerm($krit["suchbegriff"])); break; case "antrag_typ": $select->createFilterQuery("antrag_typ")->setQuery("antrag_typ:" . $krit["suchbegriff"]); break; case "antrag_wahlperiode": $select->createFilterQuery("antrag_wahlperiode")->setQuery("antrag_wahlperiode:" . $krit["suchbegriff"]); break; case "volltext": /** @var Solarium\QueryType\Select\Query\Component\DisMax $dismax */ $dismax = $select->getDisMax(); $dismax->setQueryParser('edismax'); $dismax->setQueryFields("text text_ocr"); $select->setQuery($krit["suchbegriff"]); break; case "ba": $select->createFilterQuery("dokument_bas")->setQuery("dokument_bas:" . $krit["ba_nr"]); break; case "geo": $helper = $select->getHelper(); $select->createFilterQuery("geo")->setQuery($helper->geofilt("geo", $krit["lat"], $krit["lng"], $krit["radius"] / 1000)); break; case "referat": $helper = $select->getHelper(); $select->createFilterQuery("referat")->setQuery("referat_id:" . $helper->escapeTerm($krit["referat_id"])); break; case "antrag_nr": /** @var Solarium\QueryType\Select\Query\Component\DisMax $dismax */ $dismax = $select->getDisMax(); $dismax->setQueryParser('edismax'); $dismax->setQueryFields("antrag_nr"); $select->setQuery("*" . $krit["suchbegriff"] . "*"); break; } } }
public function testGetDisMax() { $dismax = $this->query->getDisMax(); $this->assertEquals('Solarium\\QueryType\\Select\\Query\\Component\\DisMax', get_class($dismax)); }
public function testWithComponent() { $this->query->getDisMax(); $request = $this->builder->build($this->query); $this->assertEquals('dismax', $request->getParam('defType')); }