.. _reindexation_es: Réindexation ############ Cette procédure consiste à réindexer le contenu des bases de données Elasticsearch-data (cluster d'indexation dédié aux données métier) en cas de perte ou d'inconsistance de données, à partir des informations présentes dans les bases de données MongoDB-data (replicaset MongoDB stockant les données métier de Vitam). Elle part du principe que le contenu des collections MongoDB-data n'a pas été altéré et que les différents indexes Elasticsearch-data sont toujours existants. Déclenchement ============= .. caution:: il est important d'arrêter les ``services externals`` et ``scheduler`` et s'assurer qu'aucun workflow n'est en cours avant de démarrer cette procédure. La réindexation se déclenche de la manière suivante : .. code-block:: bash ansible-playbook ansible-vitam-exploitation/reindex_es_data.yml -i environments/hosts. --ask-vault-pass Si nous voulons exécuter la re-indexation sur un ensemble de tenants, il faudra lancer la procédure de la manière suivante: .. code-block:: bash ansible-playbook ansible-vitam-exploitation/reindex_es_data.yml -i environments/hosts. --ask-vault-pass -e "vitam_tenant_ids=" Ce playbook s'assure que le composant ``vitam-functional-administration`` est démarré, puis procède à la réindexation et au *re-aliasing* (bascule sur le nouvel index) des collections suivantes : * unit * objectgroup * logbookoperation * securityprofile * context * ontology * ingestcontract * agencies * accessionregisterdetail * archiveunitprofile * accessionregistersummary * accesscontract * fileformat * filerules * profile * griffin * preservationscenario * managementcontract .. note:: La réindexation peut s'opérer au besoin sur uniquement l'une des collections ci-dessus en spécifiant l'option --tags à l'exécution de la commande ansible. .. caution:: La réindexation de la collection griffin n'est pas utilisable dans cette version (bug 5762). .. caution:: La purge des anciens index n'est pas réalisée par cette procédure scriptée et est laissée à la charge de l'exploitant. .. caution:: Le rôle elasticsearch-mapping n'est pas joué par ce playbook. En cas de modification des fichiers de mapping ES des collections Unit et ObjectGroup, qui sont externalisés, il faudra rejouer les playbooks ``metadata.yml`` et ``metadata_collect.yml`` avant de réindexer. .. caution:: Si un tenant fait partie d'un groupe de tenant, il faudra re-indexer l'ensemble des tenants