/** * @param \Generated\Shared\Transfer\ElasticsearchIndexDefinitionTransfer $indexDefinition * * @return void */ public function generate(ElasticsearchIndexDefinitionTransfer $indexDefinition) { foreach ($indexDefinition->getMappings() as $mappingName => $mapping) { $mappingName = $this->normalizeToClassName($mappingName); $this->generateIndexMapClass($mappingName, $mapping); } }
/** * @param \Generated\Shared\Transfer\ElasticsearchIndexDefinitionTransfer $indexDefinitionTransfer * * @return void */ protected function createIndex(ElasticsearchIndexDefinitionTransfer $indexDefinitionTransfer) { $index = $this->elasticaClient->getIndex($indexDefinitionTransfer->getIndexName()); if (!$index->exists()) { $this->messenger->info(sprintf('Creating elasticsearch index: "%s"', $indexDefinitionTransfer->getIndexName())); $settings = $indexDefinitionTransfer->getSettings(); $index->create($settings); } foreach ($indexDefinitionTransfer->getMappings() as $mappingName => $mappingData) { $this->sendMapping($index, $mappingName, $mappingData); } }