/** * Processes a list of results * @param SolrObject $rawResults the raw results to process * @param ASolrResultList $list the list of results */ protected function processResults($rawResults, $list = null) { if ($list === null) { $list = new ASolrResultList(); } $modelClass = $this->_modelClass; $highlighting = isset($this->_solrObject->highlighting); if ($highlighting) { $highlights = array_values((array) $this->_solrObject->highlighting); } if ($rawResults) { foreach ($rawResults as $n => $row) { $result = $modelClass::model()->populateRecord($row); /* @var ASolrDocument $result */ $result->setPosition($n + $this->_criteria->getOffset()); $result->setSolrResponse($this); if ($highlighting && isset($highlights[$n])) { $result->setHighlights($highlights[$n]); } $list->add($result); } } return $list; }