* @license http://github.com/basdenooijer/solarium/raw/master/COPYING * @link http://www.solarium-project.org/ * * @package Solarium * @subpackage Query */ /** * Suggester Query * * Can be used for an autocomplete feature. See http://wiki.apache.org/solr/Suggester for more info. * * @package Solarium * @subpackage Query */ class Solarium_Query_Suggester extends Solarium_Query { /** * Get type for this query * * @return string */ public function getType() { return Solarium_Client::QUERYTYPE_SUGGESTER; } /** * Default options * * @var array */ protected $_options = array( 'handler' => 'suggest', 'resultclass' => 'Solarium_Result_Suggester', 'termclass' => 'Solarium_Result_Suggester_Term', ); /** * Set query option * * Query to spellcheck * * @param string $query * @return self Provides fluent interface */ public function setQuery($query) { return $this->_setOption('query', $query); } /** * Get query option * * @return string|null */ public function getQuery() { return $this->getOption('query'); } /** * Set dictionary option * * The name of the dictionary to use * * @param string $dictionary * @return self Provides fluent interface */ public function setDictionary($dictionary) { return $this->_setOption('dictionary', $dictionary); } /** * Get dictionary option * * @return string|null */ public function getDictionary() { return $this->getOption('dictionary'); } /** * Set count option * * The maximum number of suggestions to return * * @param int $count * @return self Provides fluent interface */ public function setCount($count) { return $this->_setOption('count', $count); } /** * Get count option * * @return int|null */ public function getCount() { return $this->getOption('count'); } /** * Set onlyMorePopular option * * Only return suggestions that result in more hits for the query than the existing query * * @param boolean $onlyMorePopular * @return self Provides fluent interface */ public function setOnlyMorePopular($onlyMorePopular) { return $this->_setOption('onlymorepopular', $onlyMorePopular); } /** * Get onlyMorePopular option * * @return boolean|null */ public function getOnlyMorePopular() { return $this->getOption('onlymorepopular'); } /** * Set collate option * * @param boolean $collate * @return self Provides fluent interface */ public function setCollate($collate) { return $this->_setOption('collate', $collate); } /** * Get collate option * * @return boolean|null */ public function getCollate() { return $this->getOption('collate'); } }