Elasticsearch Flush

Elasticsearch Flush
Elasticsearch fournit une API Flush qui invoque les opérations de chasse d'index ou de flux de données. Le rinçage d'un index ou d'un flux de données garantit que les données stockées dans le journal des transactions sont déplacées dans l'index Lucene.

Le déplacement des données du journal des transactions dans l'indice Lucene a supprimé la nécessité de gérer une autre copie du journal des transactions. Il permet également à Elasticsearch de libérer l'espace disque en supprimant tout fichier de génération inutile.

Ce message couvrira un aperçu de l'API Flush Elasticsearch, nous permettant de rincer un ou plusieurs flux d'index ou de données.

Syntaxe de l'API

L'extrait ci-dessous montre la syntaxe de l'utilisation de l'API Flush Elasticsearch.

Post // _ Flush

Le paramètre cible peut être le nom d'un index, d'un flux de données ou d'un index. Vous pouvez également spécifier plusieurs indices ou flux de données dans une liste séparée par des virgules. Gardez à l'esprit qu'Elasticsearch ancrez le connexion des transactions dans les cibles spécifiées.

Si vous souhaitez vider tous les indices et flux de données dans le cluster, vous pouvez ignorer la valeur cible comme indiqué dans la syntaxe ci-dessous:

Post / _flush

Vous pouvez également utiliser un paramètre astérisque ou _all.

Paramètres de requête

L'API prend en charge les paramètres suivants, vous permettant de modifier le comportement de demande et de réponse.

  1. allow_no_inidices - permet à la demande de renvoyer une erreur si des expressions ou un alias génériques sont passés dans la valeur cible.
  2. expand_wildcards - permet à la demande d'étendre les wilkcards adoptés et de les faire correspondre sur n'importe quel flux d'index ou de données.
  3. Force - Permet à la demande de forcer une opération à chasse d'eau malgré aucune donnée disponible pour s'engager dans l'indice Lucene.
  4. ignore_unavailable - ignore si la cible est manquante ou fermée.
  5. wait_if_ongoing - bloque l'opération de chasse.

Exemple - Elasticsearch Flush Specific Index

L'exemple ci-dessous montre comment utiliser l'API Flush Elasticsearch pour rincer un index cible.

curl -xpost "http: // localhost: 9200 / disney / _flush" -h "kbn-xsrf: reportage"

La demande ci-dessus rince l'index avec le nom «Disney». La sortie résultante est comme indiqué:


"_fragments":
"Total": 2,
"réussi": 2,
"Échec": 0

Exemple 2 - Elasticsearch rinter plusieurs indices et flux de données

Pour vider plusieurs indices et flux de données, nous pouvons les spécifier comme une liste séparée par les virgules comme indiqué:

curl -xpost "http: // localhost: 9200 / disney, disney_plus / _flush" -h "kbn-xsrf: reportage"

La sortie résultante:


"_fragments":
"Total": 4,
"réussi": 4,
"Échec": 0

Exemple 3 - Elasticsearch rincer tous les indices et flux de données dans le cluster

Pour vider tous les flux de données et indices du cluster, nous pouvons exécuter la demande comme indiqué:

curl -xpost "http: // localhost: 9200 / _flush" -h "kbn-xsrf: reporting"

La sortie résultante:


"_fragments":
"Total": 12,
"réussi": 12,
"Échec": 0

Conclusion

Dans cet article, vous avez appris à utiliser l'API Flush Elasticsearch pour vider le journal des transactions d'un index ou d'un flux de données vers l'index Lucene.