/** * Build from raw array * * @param RawResponseInterface $raw * @return ResponseInterface */ public function build(RawResponseInterface $raw) { $this->raw = $raw; $metaData = array_only($this->raw->getArray(), ['_version', 'found', '_index', '_type', '_id']); $source = $this->raw['_source']; if (null === ($document = $this->getDocument())) { $this->document = new Document($source, $metaData['_id'], $metaData); } else { $this->document->create($source, $metaData['_id'], $metaData); } return $this; }