Smile\ElasticsuiteCore\Index\IndexOperation::proceedIndexInstall PHP Method

proceedIndexInstall() public method

{@inheritDoc}
public proceedIndexInstall ( $indexName, $indexAlias )
    public function proceedIndexInstall($indexName, $indexAlias)
    {
        $aliasActions = [['add' => ['index' => $indexName, 'alias' => $indexAlias]]];
        $deletedIndices = [];
        try {
            $oldIndices = $this->client->indices()->getMapping(['index' => $indexAlias]);
        } catch (\Elasticsearch\Common\Exceptions\Missing404Exception $e) {
            $oldIndices = [];
        }
        foreach (array_keys($oldIndices) as $oldIndexName) {
            if ($oldIndexName != $indexName) {
                $deletedIndices[] = $oldIndexName;
                $aliasActions[] = ['remove' => ['index' => $oldIndexName, 'alias' => $indexAlias]];
            }
        }
        $this->client->indices()->updateAliases(['body' => ['actions' => $aliasActions]]);
        foreach ($deletedIndices as $deletedIndex) {
            $this->client->indices()->delete(['index' => $deletedIndex]);
        }
    }