Cependant, comme vous le savez, une fois que les données sont mappées dans un index, elle est non modifiable. Pour ce faire, vous devrez réindexer les données avec les modifications dont vous avez besoin. Ce processus peut conduire à des temps d'arrêt, ce qui n'est pas une très bonne pratique, en particulier pour un service qui est déjà en circulation.
Pour contourner cela, nous pouvons utiliser des alias d'index, qui nous permettent de basculer entre les indices de manière transparente.
Comment créer un index?
La première étape consiste à vous assurer d'avoir un index existant que vous souhaitez mettre à jour les données.
Pour ce tutoriel, nous aurons un ancien et nouvel index qui fonctionnera comme leurs noms.
Put / old_index /Pour les utilisateurs de Curl, utilisez la commande annexe:
curl -xput "http: // localhost: 9200 / old_index /" -h 'contenu-type: application / json' -d '"paramètres": "numéro_of_shards": 1, "aliases": "use_me" : , "mappings": "Properties": "name": "type": "text", "id": "type": "entier", "payé": "type ":" booléen " 'Ensuite, créez un nouvel index que nous allons utiliser. Copiez tous les paramètres et mappages de l'ancien index comme:
Put / new_indexVoici la commande Curl:
curl -xput "http: // localhost: 9200 / new_index" -h 'contenu-type: application / json' -d '"paramètres": "numéro_of_shards": 1, "aliases": "use_me": , "Mappings": "Propriétés": "Name": "Type": "Text", "ID": "Type": "Integer", "Payé": "Type" : "objet" 'Ayant le réglage et les mappages dans le nouvel index, utilisez l'API Reindex pour copier les données de l'ancien index vers le nouveau:
Post _reindexVoici la commande Curl:
curl -xpost "http: / localhost: 9200 / _reindex" -h 'contenu-type: application / json' -d '"source": "index": "old_index", "dest": "index" : "new_index" 'Maintenant, copiez l'alias de l'ancien index vers le nouveau à l'aide de l'API _alias comme:
Post / _aliasesVoici la commande Curl:
curl -xpost "http: // localhost: 9200 / _aliases" -h 'content-type: application / json' -d '"actions": ["add": "index": "new_index", "alias" " : "Utilisez moi" ]'Une fois terminé, vous pouvez désormais supprimer l'ancien index et les applications utiliseront le nouvel index (en raison de l'alias) sans temps d'arrêt.
Conclusion
Une fois que vous maîtrisez les concepts discutés dans ce tutoriel, vous serez en mesure de réindexer les données d'un ancien index à un nouveau en place.