Recherche élastique

Elasticsearch réindexe tous les indices et vérifie le statut

Elasticsearch réindexe tous les indices et vérifie le statut
Lorsque vous travaillez avec des bases de données, vous devrez inévitablement apporter des modifications telles que l'ajout, la suppression et la modification de données.

Lorsque vous modifiez des données dans un index Elasticsearch, cela peut entraîner des temps d'arrêt à mesure que la fonctionnalité se termine et que les données sont réindexées.

Ce tutoriel vous donnera un bien meilleur moyen de mettre à jour les index sans subir de temps d'arrêt avec la source de données existante. En utilisant l'API de réindexation Elasticsearch, nous copierons les données d'une source spécifique vers une autre.

Commençons.

REMARQUE: Avant de commencer, les opérations de réindexation sont gourmandes en ressources, en particulier sur les grands index. Pour minimiser le temps requis pour la réindexation, désactivez number_of_replicas en définissant la valeur sur 0 et activez-les une fois le processus terminé.

Activer le champ _Source

L'opération de réindexation nécessite que le champ source soit activé sur tous les documents de l'index source. Notez que le champ source n'est pas indexé et ne peut pas être recherché mais est utile pour diverses requêtes.

Activez le champ _Source en ajoutant une entrée comme indiqué ci-dessous :

METTRE index_1

« cartographies » :
"_la source":
"activé": vrai


Réindexer tous les documents

Pour réindexer les documents, nous devons spécifier la source et la destination. La source et la destination peuvent être un index, un alias d'index et des flux de données existants. Vous pouvez utiliser des index du cluster local ou distant.

REMARQUE: Pour que l'indexation se déroule correctement, la source et la destination ne peuvent pas être similaires. Vous devez également configurer la destination comme requis avant la réindexation car elle n'applique pas les paramètres de la source ou de tout modèle associé.

La syntaxe générale de la réindexation est la suivante :

POST /_reindex

Commençons par créer deux indices. Le premier sera la source, et l'autre sera la destination.

METTRE /index_source

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true,"aliases":
"alias_1": ,
"alias_2":
"filtre": "terme":
"utilisateur.id": "kibana"
,"routage": "1"


La commande cURL est :

curl -XPUT "http://localhost:9200/source_index" -H 'Content-Type: application/json' -d'  "settings": "number_of_replicas": 0, "number_of_shards": 1,  "mappings" : "_source": "enabled": true,"aliases":     "alias_1": ,    "alias_2":       "filter": "term":         "utilisateur.id": "kibana"      ,"routing": "1"      '

Maintenant, pour l'index de destination (vous pouvez utiliser la commande ci-dessus et modifier quelques éléments ou utiliser celui donné ci-dessous):

METTRE /index_destination

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true,"aliases":
"alias_3": ,
"alias_4":
"filtre": "terme":
"utilisateur.id": "kibana"
,"routage": "1"


Comme toujours, les utilisateurs de cURL peuvent utiliser la commande :

curl -XPUT "http://localhost:9200/destination_index" -H 'Content-Type: application/json' -d'  "settings": "number_of_replicas": 0, "number_of_shards": 1,  "mappages" : "_source": "enabled": true,"aliases":     "alias_3": ,    "alias_4":       "filter": "term":         "utilisateur.id": "kibana"      ,"routing": "1"      '

Maintenant, nous avons les index que nous voulons utiliser, nous pouvons ensuite passer à réindexer les documents.

Considérez la requête ci-dessous qui copie les données de source_index vers destination_index :

POST_réindexation

"la source":
"index": "index_source"
,
"destin":
"index": "index_destination"

La commande cURL pour cela est :

curl -XPOST "http://localhost:9200/_reindex" -H 'Content-Type: application/json' -d'  "source":     "index": ".kibana"  ,  "dest":     "index": "destination_index"  '

L'exécution de cette commande devrait vous donner des informations détaillées sur l'opération effectuée.

REMARQUE: Le source_index doit avoir des données.


"pris" : 2836,
"timed_out" : faux,
"total" : 13059,
"mis à jour" : 0,
"créé" : 13059,
"supprimé" : 0,
"lots" : 14,
"conflits_versions" : 0,
"noops" : 0,
"réessais" :
"en vrac" : 0,
"rechercher" : 0
,
"throttled_millis" : 0,
"requests_per_second" : -1.0,
"throttled_until_millis" : 0,
"les échecs" : [ ]

Vérification de l'état de la réindexation

Vous pouvez afficher l'état des opérations de réindexation en utilisant simplement les _tasks. Par exemple, considérons la demande ci-dessous :

GET /_tâches?detaille=true&actions=*reindex&group_by=parents

La commande cURL est :

curl -XGET "http://localhost:9200/_tasks?detaille=true&actions=*reindex&group_by=parents"

Cela devrait vous donner des informations détaillées sur le processus de réindexation, comme indiqué ci-dessous :


"Tâches" :
"FTd_2iXjSXudN_Ua4tZhHg:51847" :
"nœud" : "FTd_2iXjSXudN_Ua4tZhHg",
"identifiant" : 51847,
"type" : "transport",
"action" : "indices:données/écriture/réindexation",
"statut" :
"total" : 13059,
"mis à jour" : 9000,
"créé" : 0,
"supprimé" : 0,
"lots" : 10,
"conflits_versions" : 0,
"noops" : 0,
"réessais" :
"en vrac" : 0,
"rechercher" : 0
,
"throttled_millis" : 0,
"requests_per_second" : -1.0,
"throttled_until_millis" : 0
,
"description" : "réindexer de [source_index] vers [destination_index][_doc]",
"start_time_in_millis" : 1611247308063,
"running_time_in_nanos" : 2094157836,
"annulable" : vrai,
"en-têtes" :


Conclusion

Nous avons couvert tout ce que vous devez savoir sur l'utilisation de l'API de réindexation Elasticsearch pour copier des documents d'un index (source) à un autre (destination). Bien qu'il y ait plus à l'API de réindexation, ce guide devrait vous aider à démarrer.

Comment changer la taille, la couleur et le schéma du pointeur et du curseur de la souris sous Windows 10
Le pointeur et le curseur de la souris dans Windows 10 sont des aspects très importants du système d'exploitation. Cela peut également être dit pour d...
Moteurs de jeux gratuits et open source pour le développement de jeux Linux
Cet article couvrira une liste de moteurs de jeux gratuits et open source qui peuvent être utilisés pour développer des jeux 2D et 3D sur Linux. Il ex...
Tutoriel Shadow of the Tomb Raider pour Linux
Shadow of the Tomb Raider est le douzième ajout à la série Tomb Raider - une franchise de jeux d'action-aventure créée par Eidos Montréal. Le jeu a ét...