objectManager = $objectManager; $this->entityMetadata = $entityMetadata; } /** * Create Search Document instance * * @param array $rawDocument * @return Document * @since 100.1.0 */ public function create($rawDocument) { /** @var AttributeValue[] $fields */ $attributes = []; $documentId = null; $entityId = $this->entityMetadata->getEntityId(); foreach ($rawDocument as $fieldName => $value) { if ($fieldName === $entityId) { $documentId = $value; } elseif ($fieldName === '_score') { $attributes['score'] = new AttributeValue( [ AttributeInterface::ATTRIBUTE_CODE => $fieldName, AttributeInterface::VALUE => $value, ] ); } } return new Document( [ DocumentInterface::ID => $documentId, CustomAttributesDataInterface::CUSTOM_ATTRIBUTES => $attributes, ] ); } }