/** * @param $ort string * @param $items string[] * @return SearchResult */ public function search($ort, $items) { $result = new SearchResult(); $ortQuery = new \Elastica\Query\MultiMatch(); $ortQuery->setFields(["ORT", "PLZ"]); $ortQuery->setFuzziness(1); $ortQuery->setQuery($ort); $result->setOrte($this->marktFinder->find($ortQuery)); $results = array(); foreach ($items as $item) { $artikelQuery = new \Elastica\Query\Match(); $artikelQuery->setFieldQuery("slugs", $item); $artikelQuery->setFieldFuzziness("slugs", 1.5); $results[] = $this->artikelFinder->find($artikelQuery); } $result->setItems($results); return $result; }
/** * @param mixed $query * @param integer $limit * @param array $options * * @return array */ public function find($query, $limit = null, $options = array()) { return $this->finder->find($query, $limit, $options); }