* @license http://github.com/basdenooijer/solarium/raw/master/COPYING * @link http://www.solarium-project.org/ * * @package Solarium * @subpackage Query */ /** * MoreLikeThis component * * @link http://wiki.apache.org/solr/MoreLikeThis * * @package Solarium * @subpackage Query */ class Solarium_Query_Select_Component_MoreLikeThis extends Solarium_Query_Select_Component { /** * Component type * * @var string */ protected $_type = Solarium_Query_Select::COMPONENT_MORELIKETHIS; /** * Set fields option * * The fields to use for similarity. NOTE: if possible, these should have a * stored TermVector * * Separate multiple fields with commas. * * @param string $fields * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setFields($fields) { return $this->_setOption('fields', $fields); } /** * Get fields option * * @return string|null */ public function getFields() { return $this->getOption('fields'); } /** * Set minimumtermfrequency option * * Minimum Term Frequency - the frequency below which terms will be ignored * in the source doc. * * @param int $minimum * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setMinimumTermFrequency($minimum) { return $this->_setOption('minimumtermfrequency', $minimum); } /** * Get minimumtermfrequency option * * @return integer|null */ public function getMinimumTermFrequency() { return $this->getOption('minimumtermfrequency'); } /** * Set minimumdocumentfrequency option * * Minimum Document Frequency - the frequency at which words will be * ignored which do not occur in at least this many docs. * * @param int $minimum * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setMinimumDocumentFrequency($minimum) { return $this->_setOption('minimumdocumentfrequency', $minimum); } /** * Get minimumdocumentfrequency option * * @return integer|null */ public function getMinimumDocumentFrequency() { return $this->getOption('minimumdocumentfrequency'); } /** * Set minimumwordlength option * * Minimum word length below which words will be ignored. * * @param int $minimum * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setMinimumWordLength($minimum) { return $this->_setOption('minimumwordlength', $minimum); } /** * Get minimumwordlength option * * @return integer|null */ public function getMinimumWordLength() { return $this->getOption('minimumwordlength'); } /** * Set maximumwordlength option * * Maximum word length above which words will be ignored. * * @param int $maximum * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setMaximumWordLength($maximum) { return $this->_setOption('maximumwordlength', $maximum); } /** * Get maximumwordlength option * * @return integer|null */ public function getMaximumWordLength() { return $this->getOption('maximumwordlength'); } /** * Set maximumqueryterms option * * Maximum number of query terms that will be included in any generated * query. * * @param int $maximum * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setMaximumQueryTerms($maximum) { return $this->_setOption('maximumqueryterms', $maximum); } /** * Get maximumqueryterms option * * @return integer|null */ public function getMaximumQueryTerms() { return $this->getOption('maximumqueryterms'); } /** * Set maximumnumberoftokens option * * Maximum number of tokens to parse in each example doc field that is not * stored with TermVector support. * * @param int $maximum * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setMaximumNumberOfTokens($maximum) { return $this->_setOption('maximumnumberoftokens', $maximum); } /** * Get maximumnumberoftokens option * * @return integer|null */ public function getMaximumNumberOfTokens() { return $this->getOption('maximumnumberoftokens'); } /** * Set boost option * * If true the query will be boosted by the interesting term relevance. * * @param boolean $boost * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setBoost($boost) { return $this->_setOption('boost', $boost); } /** * Get boost option * * @return boolean|null */ public function getBoost() { return $this->getOption('boost'); } /** * Set queryfields option * * Query fields and their boosts using the same format as that used in * DisMaxQParserPlugin. These fields must also be specified in fields. * * Separate multiple fields with commas. * * @param string $queryFields * @return Solarium_Query_Select_Component_MoreLikeThis Provides fluent interface */ public function setQueryFields($queryFields) { return $this->_setOption('queryfields', $queryFields); } /** * Get queryfields option * * @return string|null */ public function getQueryFields() { return $this->getOption('queryfields'); } /** * Set count option * * The number of similar documents to return for each result * * @param int $count * @return Solarium_Query_Select_Component_MoreLikeThis 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'); } }