Database
 sql >> Base de données >  >> RDS >> Database

Comment supprimer des données d'Elastisearch

L'une des caractéristiques de conception uniques d'Elasticsearch est que, contrairement à la plupart des systèmes ou bases de données traditionnels, toutes les tâches telles que la connexion et la manipulation d'Elasticsearch sont effectuées à l'aide d'une REST API , ce qui signifie que presque chaque requête ou commande exécutée sur votre nœud Elasticsearch est une simple requête HTTP vers une URL particulière.

En fonction du HTTP verb envoyé et l'URL à laquelle le verbe est envoyé, Elasticsearch peut effectuer une grande variété d'actions sur le nœud ou même le cluster.

La structure d'URL de l'API REST Elasticsearch

Au niveau le plus basique, pour exécuter une commande dans Elasticsearch, vous devrez envoyer un verbe HTTP à l'URL de votre nœud Elasticsearch. Pour le développement, il s'agit généralement de localhost:9200 .

Dans la plupart cas, la méthode la plus simple pour envoyer une requête à l'API REST d'Elasticsearch consiste à utiliser l'outil de ligne de commande utile, cURL , qui est un outil simple utilisé pour transférer presque tous les types de données Internet.

Par exemple, pour lister tous les indices , vous pouvez exécuter le curl suivant commande depuis l'invite du shell de votre serveur de développement (comme indiqué dans la documentation officielle :

$ curl 'localhost:9200/_cat/indices?v'
health index pri rep docs.count docs.deleted bookstore.size pri.bookstore.size

Ici, nous accédons à l'cat API (indiqué par le premier _ trait de soulignement) et visualisation des indices , qui montre une coupe transversale de chaque index dans le cluster.

Indices, types, documents et propriétés

Avec un exemple en place, nous pouvons explorer plus en détail la structure spécifique des API REST d'Elasticsearch, qui consisteront le plus souvent en trois composants structurés, l'index , le type , et le document :

localhost:9200/index/type/document

L'index est la structure parente et est plus simplement considérée comme une database qui abrite de nombreux types . Et index peut représenter n'importe quel concept, mais représentera souvent tout un système de composants, comme une shop ou une bookstore .

Types sont contenus dans un index et sont similaires aux tables de la base de données , avec chaque type représentant une collection d'objets similaires (comme shirt ou book ).

Enfin, le document est une instance unique ou une représentation d'un objet du parent type . Ainsi, le livre "Le Hobbit" peut exister en tant que livre type dans l'index nommée librairie .

Suppression de données d'Elasticsearch

Avec la syntaxe de base de l'API REST à l'écart, nous pouvons explorer comment effectuer des actions spécifiques comme la suppression de données.

Supprimer un seul document

En prenant notre syntaxe de base comme vu ci-dessus, nous devons utiliser curl et envoyez le DELETE Verbe HTTP, utilisant le -XDELETE choix :

$ curl -XDELETE 'localhost:9200/index/type/document'

Par exemple, pour supprimer notre livre document susmentionné , nous pourrions utiliser la commande suivante :

$ curl -XDELETE 'localhost:9200/bookstore/book/1'

Cela supprimera le document avec un ID de 1 du book type qui se trouve dans la bookstore index .

Supprimer un type

Comme vous pouvez le deviner, la syntaxe ne s'élargissant que légèrement, nous sommes en mesure de supprimer un type entier . Ici, nous supprimons le book type :

$ curl -XDELETE 'localhost:9200/bookstore/book'

Supprimer un index

Enfin, si nous souhaitons supprimer un index entier , cela peut être fait en utilisant la même syntaxe qu'avant :

$ curl -XDELETE 'localhost:9200/bookstore'