/** * Converts raw array to document. * * @param array $rawData * * @return DocumentInterface * * @throws \LogicException */ public function convertToDocument($rawData) { $data = isset($rawData['_source']) ? $rawData['_source'] : array_map('reset', $rawData['fields']); /** @var DocumentInterface $object */ $className = $this->documentMetadata->getClassName(); $object = $this->assignArrayToObject($data, new $className(), $this->documentMetadata->getPropertiesMetadata()); $this->setObjectFields($object, $rawData, ['_id', '_score', 'fields _parent', 'fields _ttl']); return $object; }