* @license http://github.com/basdenooijer/solarium/raw/master/COPYING * @link http://www.solarium-project.org/ * * @package Solarium * @subpackage Result */ /** * Terms query result * * @package Solarium * @subpackage Result */ class Solarium_Result_Terms extends Solarium_Result_QueryType implements IteratorAggregate, Countable { /** * Status code returned by Solr * * @var int */ protected $_status; /** * Solr index queryTime * * This doesn't include things like the HTTP responsetime. Purely the Solr * query execution time. * * @var int */ protected $_queryTime; /** * Term results * * @var array */ protected $_results; /** * Get Solr status code * * This is not the HTTP status code! The normal value for success is 0. * * @return int */ public function getStatus() { $this->_parseResponse(); return $this->_status; } /** * Get Solr query time * * This doesn't include things like the HTTP responsetime. Purely the Solr * query execution time. * * @return int */ public function getQueryTime() { $this->_parseResponse(); return $this->_queryTime; } /** * Get all term results * * @return array */ public function getResults() { $this->_parseResponse(); return $this->_results; } /** * Get term results for a specific field * * @param string $field * @return array */ public function getTerms($field) { $this->_parseResponse(); if (isset($this->_results[$field])) { return $this->_results[$field]; } else { return array(); } } /** * IteratorAggregate implementation * * @return ArrayIterator */ public function getIterator() { $this->_parseResponse(); return new ArrayIterator($this->_results); } /** * Countable implementation * * @return int */ public function count() { $this->_parseResponse(); return count($this->_results); } }