entityMetadata = $entityMetadata; } /** * Create Search Document instance * * @param mixed $rawDocument * @return \Magento\Framework\Api\Search\Document */ public function create($rawDocument) { $documentId = null; $entityId = $this->entityMetadata->getEntityId(); $attributes = []; foreach ($rawDocument as $fieldName => $value) { if ($fieldName === $entityId) { $documentId = $value; } else { $attributes[$fieldName] = new AttributeValue( [ AttributeInterface::ATTRIBUTE_CODE => $fieldName, AttributeInterface::VALUE => $value, ] ); } } return new Document( [ DocumentInterface::ID => $documentId, CustomAttributesDataInterface::CUSTOM_ATTRIBUTES => $attributes, ] ); } }