sql >> Databasteknik >  >> RDS >> Database

Hur man tar bort data från Elastisearch

En av de unika designegenskaperna hos Elasticsearch är att, till skillnad från de flesta traditionella system eller databaser, utförs alla uppgifter som att ansluta till och manipulera Elasticsearch med ett REST API , vilket betyder att nästan varje fråga eller kommando som körs på din Elasticsearch-nod är en enkel HTTP-förfrågan till en viss URL.

Beroende på HTTP verb skickas och webbadressen som verbet det skickas till, kan Elasticsearch utföra en mängd olika åtgärder på noden eller till och med klustret.

Elasticsearch REST API URL-struktur

På den mest grundläggande nivån, för att utföra ett kommando i Elasticsearch, måste du skicka ett HTTP-verb till URL:en för din Elasticsearch-nod. För utveckling är detta vanligtvis localhost:9200 .

I de flesta fall är den enklaste metoden för att skicka en begäran till Elasticsearchs REST API genom det användbara kommandoradsverktyget, cURL , som är ett enkelt verktyg som används för att överföra nästan alla typer av internetdata.

Till exempel för att lista alla indices , kan du utföra följande curl kommandot från skalprompten på din utvecklingsserver (som anges i den officiella dokumentationen:

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

Här kommer vi åt cat API (anges av den inledande _ understreck) och visa indices , som visar ett tvärsnitt av varje index i klustret.

Indeks, typer, dokument och egenskaper

Med ett exempel på plats kan vi utforska den specifika strukturen hos Elasticsearch REST API:er, som oftast kommer att bestå av tre strukturerade komponenter, indices , type och document :

localhost:9200/index/type/document

indices är den överordnade strukturen och är enklast tänkt som en database som innehåller många types . Och indices kan representera vilket koncept som helst, men kommer ofta att representera ett helt system av komponenter som en shop eller en bookstore .

Types finns i ett indices och liknar databasens tables , med varje type representerar en samling liknande föremål (som shirt eller book ).

Slutligen, document är en enskild instans eller representation av ett objekt av den överordnade type . Således kan boken "Hobbiten" existera som en bok type i indices heter bokhandel .

Ta bort data från Elasticsearch

Med den grundläggande REST API-syntaxen ur vägen kan vi utforska hur man utför specifika åtgärder som att radera data.

Ta bort ett enda dokument

Med vår grundläggande syntax enligt ovan måste vi använda curl och skicka DELETE HTTP-verb med -XDELETE alternativ:

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

Till exempel för att radera vår tidigare nämnda bok document , kan vi använda följande kommando:

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

Detta kommer att radera document med ett ID av 1 från book type som finns i bookstore indices .

Ta bort en typ

Som du kanske gissar kan vi ta bort en hel type, eftersom syntaxen bara breddas något. . Här tar vi bort book type :

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

Ta bort ett index

Slutligen, om vi vill ta bort ett helt indices , detta kan göras med samma syntax som tidigare:

$ curl -XDELETE 'localhost:9200/bookstore'

  1. Olika sätt att fylla MySQL-användare

  2. Hur ska jag skicka ett tabellnamn till en lagrad proc?

  3. Skapa en utlösare som uppdaterar en kolumn i en tabell när en kolumn i en annan tabell uppdateras

  4. Accent sökning i SQLite (android)