setName('searchengine:index:create')
->setDescription('Creates search index')
->addOption('drop', 'd', InputOption::VALUE_NONE, 'Drops the index if it already exists.');
}
protected function doExecute(InputInterface $input, OutputInterface $output)
{
/** @var Indexer $indexer */
$indexer = $this->container['elasticsearch.indexer'];
$drop = $input->getOption('drop');
$indexExists = $indexer->indexExists();
if (! $drop && $indexExists) {
$output->writeln('The search index already exists.');
return 1;
}
if ($drop && $indexExists) {
$output->writeln('Dropping existing search index');
$indexer->deleteIndex();
}
$indexer->createIndex();
$output->writeln('Search index was created');
}
}