| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace Elastica\ResultSet;
- use Elastica\Query;
- use Elastica\Response;
- use Elastica\Result;
- use Elastica\ResultSet;
- class DefaultBuilder implements BuilderInterface
- {
- /**
- * Builds a ResultSet for a given Response.
- *
- * @param Response $response
- * @param Query $query
- *
- * @return ResultSet
- */
- public function buildResultSet(Response $response, Query $query)
- {
- $results = $this->buildResults($response);
- $resultSet = new ResultSet($response, $query, $results);
- return $resultSet;
- }
- /**
- * Builds individual result objects.
- *
- * @param Response $response
- *
- * @return Result[]
- */
- private function buildResults(Response $response)
- {
- $data = $response->getData();
- $results = [];
- if (!isset($data['hits']['hits'])) {
- return $results;
- }
- foreach ($data['hits']['hits'] as $hit) {
- $results[] = new Result($hit);
- }
- return $results;
- }
- }
|