public function testParseWithoutNumFound() { $data = array('response' => array('docs' => array(array('fieldA' => 1, 'fieldB' => 'Test'), array('fieldA' => 2, 'fieldB' => 'Test2'))), 'responseHeader' => array('status' => 1, 'QTime' => 13)); $query = new Solarium_Query_Select(array('documentclass' => 'Solarium_Document_ReadWrite')); $query->getFacetSet(); $resultStub = $this->getMock('Solarium_Result_Select', array(), array(), '', false); $resultStub->expects($this->once())->method('getData')->will($this->returnValue($data)); $resultStub->expects($this->once())->method('getQuery')->will($this->returnValue($query)); $parser = new Solarium_Client_ResponseParser_Select(); $result = $parser->parse($resultStub); $this->assertEquals(1, $result['status']); $this->assertEquals(13, $result['queryTime']); $this->assertEquals(null, $result['numfound']); }
/** * Get result data for the response * * @param Solarium_Result_MoreLikeThis $result * @return array */ public function parse($result) { $data = $result->getData(); $query = $result->getQuery(); $parseResult = parent::parse($result); if (isset($data['interestingTerms']) && 'none' != $query->getInterestingTerms()) { $terms = $data['interestingTerms']; if ('details' == $query->getInterestingTerms()) { $tempTerms = array(); for ($i = 0; $i < count($terms); $i += 2) { $tempTerms[$terms[$i]] = $terms[$i + 1]; } $terms = $tempTerms; } $parseResult['interestingTerms'] = $terms; } if (isset($data['match']['docs'][0]) && true == $query->getMatchInclude()) { $matchData = $data['match']['docs'][0]; $documentClass = $query->getOption('documentclass'); $fields = (array) $matchData; $parseResult['match'] = new $documentClass($fields); } return $parseResult; }