/** * Transform entry to a subquery * * @param string $encoding * @return Zend_Search_Lucene_Search_Query */ public function getQuery($encoding) { $this->_query->setBoost($this->_boost); return $this->_query; }
/** * Adds a query. * * @param Zend_Search_Lucene_Search_Query $q */ private function add(Zend_Search_Lucene_Search_Query $q) { $autoClose = false; // apply modifiers foreach ($this->modifiers as $type => $value) { switch ($type) { case self::M_BOOST: $q->setBoost($value); break; case self::M_REQUIREMENT: $q = new Zend_Search_Lucene_Search_Query_Boolean(array($q), array($value)); $autoClose = true; break; } } $this->modifiers = array(); // determine how to add the query if ($this->master === null) { $this->master = $q; } else { $c = count($this->queries); if ($c == 0) { throw new xfLuceneException('Cannot add a query to a ' . get_class($this->master) . ' query, likely a mismatch in creating a boolean query'); } $this->queries[count($this->queries) - 1]->addSubquery($q); } if (!$autoClose && $q instanceof Zend_Search_Lucene_Search_Query_Boolean) { $this->queries[] = $q; } }