37 private $engineResolver;
53 $this->engineResolver = $engineResolver;
64 $currentHandler = $this->engineResolver->getCurrentSearchEngine();
65 if (!isset($this->handlers[$currentHandler])) {
66 throw new \LogicException(
67 'There is no such indexer handler: ' . $currentHandler
70 $indexer = $this->_objectManager->create($this->handlers[$currentHandler],
$data);
73 throw new \InvalidArgumentException(
74 $currentHandler .
' indexer handler doesn\'t implement ' . IndexerInterface::class
79 throw new \LogicException(
80 'Indexer handler is not available: ' . $currentHandler
__construct(ObjectManagerInterface $objectManager, EngineResolverInterface $engineResolver, array $handlers=[])