* @license http://github.com/basdenooijer/solarium/raw/master/COPYING * @link http://www.solarium-project.org/ * * @package Solarium * @subpackage Client */ /** * Parse MoreLikeThis response data * * @package Solarium * @subpackage Client */ class Solarium_Client_ResponseParser_Terms extends Solarium_Client_ResponseParser { /** * Get result data for the response * * @param Solarium_Result_Terms $result * @return array */ public function parse($result) { $termResults = array(); $data = $result->getData(); $field = $result->getQuery()->getFields(); $fields = explode(',', $field); foreach ($fields as $field) { $field = trim($field); if (isset($data['terms'][$field])) { $terms = $data['terms'][$field]; for ($i = 0; $i < count($terms); $i += 2) { $termResults[$field][$terms[$i]] = $terms[$i + 1]; } } } $status = null; $queryTime = null; if (isset($data['responseHeader'])) { $status = $data['responseHeader']['status']; $queryTime = $data['responseHeader']['QTime']; } return array( 'status' => $status, 'queryTime' => $queryTime, 'results' => $termResults, ); } }