objectManager = $objectManager; $this->documentFactory = $documentFactory; $this->aggregationFactory = $aggregationFactory; } /** * Create Query Response instance * * @param array $response * @return \Magento\Framework\Search\Response\QueryResponse * @since 100.1.0 */ public function create($response) { $documents = []; foreach ($response['documents'] as $rawDocument) { /** @var \Magento\Framework\Api\Search\Document[] $documents */ $documents[] = $this->documentFactory->create( $rawDocument ); } /** @var \Magento\Framework\Search\Response\Aggregation $aggregations */ $aggregations = $this->aggregationFactory->create($response['aggregations']); return $this->objectManager->create( \Magento\Framework\Search\Response\QueryResponse::class, [ 'documents' => $documents, 'aggregations' => $aggregations, ] ); } }