38 private $engineResolver;
54 $this->engineResolver = $engineResolver;
66 $currentStructure = $this->engineResolver->getCurrentSearchEngine();
67 if (!isset($this->structures[$currentStructure])) {
68 throw new \LogicException(
69 'There is no such index structure: ' . $currentStructure
72 $indexStructure = $this->objectManager->create($this->structures[$currentStructure],
$data);
75 throw new \InvalidArgumentException(
76 $currentStructure .
' index structure doesn\'t implement '. IndexStructureInterface::class
80 return $indexStructure;
__construct(ObjectManagerInterface $objectManager, EngineResolverInterface $engineResolver, array $structures=[])