sql >> Database teknologi >  >> RDS >> Database

Sådan sletter du data fra Elastisearch

En af de unikke designfunktioner ved Elasticsearch er, at i modsætning til de fleste traditionelle systemer eller databaser, udføres alle opgaver som at oprette forbindelse til og manipulere Elasticsearch ved hjælp af en REST API , hvilket betyder, at næsten hver forespørgsel eller kommando, der udføres på din Elasticsearch-node, er en simpel HTTP-anmodning til en bestemt URL.

Afhængigt af HTTP verb sendt og den URL, det udsagnsord er sendt til, kan Elasticsearch udføre en lang række handlinger på noden eller endda klyngen.

Elasticsearch REST API URL-struktur

På det mest grundlæggende niveau, for at udføre en kommando i Elasticsearch, skal du sende et HTTP verbum til URL'en på din Elasticsearch-knude. Til udvikling er dette typisk localhost:9200 .

I de fleste tilfælde, er den enkleste metode til at sende en anmodning til REST API af Elasticsearch gennem det nyttige kommandolinjeværktøj, cURL , som er et simpelt værktøj, der bruges til at overføre næsten enhver form for internetdata.

For eksempel for at liste alle indices , kan du udføre følgende curl kommando fra shell-prompten på din udviklingsserver (som angivet i den officielle dokumentation:

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

Her får vi adgang til cat API (angivet med den førende _ understregning) og se indices , som viser et tværsnit af hvert indeks i klyngen.

Indekser, typer, dokumenter og egenskaber

Med et eksempel på plads kan vi udforske mere detaljeret den specifikke struktur af Elasticsearch REST API'er, som oftest kommer til at bestå af tre strukturerede komponenter, index , type , og document :

localhost:9200/index/type/document

index er den overordnede struktur og er enklest tænkt som en database der huser mange types . Og index kan repræsentere ethvert koncept, men vil ofte repræsentere et helt system af komponenter såsom en shop eller en bookstore .

Types er indeholdt i et index og ligner database tables , med hver type repræsenterer en samling af lignende objekter (såsom shirt eller book ).

Til sidst, document er en enkelt forekomst eller repræsentation af et objekt af den overordnede type . Således kan bogen "Hobbitten" eksistere som en bog type i index navngivet boghandel .

Sletning af data fra Elasticsearch

Med den grundlæggende REST API-syntaks ude af vejen, kan vi undersøge, hvordan man udfører specifikke handlinger som at slette data.

Slet et enkelt dokument

Med vores grundlæggende syntaks som set ovenfor, skal vi bruge curl og send DELETE HTTP verbum ved hjælp af -XDELETE mulighed:

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

For eksempel for at slette vores førnævnte bog document , kan vi bruge følgende kommando:

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

Dette vil slette document med et ID af 1 fra book type der er i bookstore index .

Slet en type

Som du måske gætter, med syntaksen kun udvidet en smule, er vi i stand til at fjerne en hel type . Her sletter vi book type :

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

Slet et indeks

Til sidst, hvis vi ønsker at slette et helt index , dette kan gøres ved at bruge samme syntaks som før:

$ curl -XDELETE 'localhost:9200/bookstore'

  1. Flere forsinkede replikeringsslaver til katastrofeoprettelse med lav RTO

  2. Sådan opretter du forbindelse til en database ved hjælp af Workbench MySQL-klienten

  3. DATEADD-ækvivalent i PostgreSQL

  4. Brug af flere felter til en unik nøgle i Prisma