Elasticsearch Izbriši vse indekse

Elasticsearch Izbrisi Vse Indekse



Elasticsearch je brezplačen, odprtokodni iskalnik in analitični mehanizem, ki poganja ELK Stack. Elasticsearch omogoča različne podatkovne kanale z uporabo orodij, kot je Logstash, za zbiranje in združevanje podatkov. Elasticsearch nato shrani posredovane podatke, kar aplikacijam omogoča dostop, iskanje, razvrščanje in filtriranje velikih količin podatkov skoraj v realnem času. Elasticsearch vam omogoča tudi vizualizacijo različnih podatkov z uporabo vgrajenih orodij.

Zaradi teh funkcij je Elasticseach zelo primeren za iskanje in razvrščanje obsežnih količin podatkov z minimalno zakasnitvijo ali brez nje. Ne glede na to, ali ustvarjate iskalnik ali analizirate dnevnike, meritve in druge besedilne podatke, je Elasticsearch odlična izbira.







V središču Elasticsearch je indeks. Indeks se nanaša na enoto, odgovorno za shranjevanje dokumentov v Elasticsearch. Indeks je relativno enakovreden bazi podatkov v kontekstu relacijskih baz podatkov. Na primer, lahko imate indeks, ki vsebuje vse podatke za dnevnike spletne aplikacije.



Tako kot pri vseh zbirkah podatkov lahko tudi vi naletite na scenarij, ko boste morali odstraniti vse podatke iz svoje gruče, kar vam bo omogočilo, da začnete s čistim listom.



V tem članku je prikazano, kako uporabiti funkcije Elasticsearch API za odstranitev vseh indeksov iz vaše gruče.





POZOR: Metode in tehnike, uporabljene v tem članku, bodo povzročile izgubo podatkov. Ne prevzemamo odgovornosti za kakršno koli izgubo podatkov, do katere lahko pride zaradi navodil v tem članku.

API za brisanje indeksa Elasticsearch

Če zaženete Elasticsearch, boste morali vedeti, kako izvesti osnovne klice API-ja. To je zato, ker Elasticsearch maksimalno uporablja API-je.



Kot lahko ugibate, za odstranitev indeksa iz gruče uporabljamo API za brisanje indeksa. Sintaksa za zahteve za brisanje indeksa je prikazana:

IZBRIŠI /< kazalo >


Zahteva odstrani navedeni indeks in shranjene dokumente, drobce in vse njegove metapodatke.

Upoštevajte, da s tem ne boste odstranili nobenih komponent Kibana, povezanih z navedenim indeksom, kot so pogledi podatkov itd.

Določite lahko en ali več indeksov, tako da jih ločite z vejicami. Primer sintakse je prikazan:

IZBRIŠI / ime_indeksa
IZBRIŠI / indeks1, indeks2, indeks3 ... indeksN


Elasticsearch vam preprečuje uporabo vzdevka Index pri brisanju indeksa. Namesto tega morate uporabiti ime indeksa.

Primer 1: Elasticsearch Brisanje indeksa

Naslednji primer prikazuje, kako uporabiti API za brisanje indeksa Elasticsearch za odstranitev obstoječega indeksa iz gruče:

curl -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: poročanje'


Prejšnja zahteva pošlje zahtevo DELETE API-ju za brisanje. To bi moralo odstraniti indeks z imenom »kibana_sample_data_logs«.

Končni izhod je prikazan:

{
'priznano' : prav
}

Primer 2: Elasticsearch Brisanje več indeksov

Več indeksov lahko odstranimo tako, da jih posredujemo kot seznam, ločen z vejico. Primer poizvedbe je prikazan:

curl -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: poročanje'


Prejšnji ukaz izbriše navedene indekse in vrne sporočilo, kot je prikazano:

{
'priznano' : prav
}


Opomba: Če indeks ne obstaja, Elasticsearch vrne napako, kot je prikazano:

Primer 3: Elasticsearch Izbriši vse indekse

Za odstranitev vseh indeksov iz gruče lahko uporabimo nadomestni znak _all v API-ju za brisanje indeksa. API za brisanje indeksa vam bo privzeto preprečil posredovanje nadomestnih znakov v zahtevi.

To lahko onemogočite tako, da action.desctructive_requires_name nastavite na false.

Naslednja poizvedba vam pokaže, kako omogočite uporabo nadomestnih znakov v API-ju za brisanje indeksa:

curl -XPUT 'localhost:9200 /_cluster/settings' -H 'kbn-xsrf: poročanje' -H 'Vrsta vsebine: aplikacija/json' -d '
{
'prehodno': {
'action.destructive_requires_name' : false
}
}'


OPOMBA: Čeprav Elasticsearch ne priporoča uporabe prehodnih nastavitev gruče, se izogibajte nastavitvi destruktivnih parametrov gruče, kot je uporaba nadomestnih znakov, kot trajne nastavitve gruče.

Prejšnja poizvedba bi morala vrniti rezultat kot:

{
'priznano' : prav ,
'vztrajen' : { } ,
'prehodno' : {
'akcija' : {
'destructive_requires_name' : 'false'
}
}
}


Ko je uspešno, lahko odstranite vse indekse v gruči tako, da zaženete naslednji ukaz:

curl -XDELETE “http://localhost:9200/_all?pretty=true” -H 'kbn-xsrf: poročanje'

Primer 4: Elasticsearch Izbrišite vse indekse, ki se ujemajo z določenimi imeni

Če želite odstraniti vse indekse, ki se ujemajo z določenim vzorcem, lahko uporabite nadomestni znak (*).

Na primer, da odstranimo vse indekse, ki se začnejo z imenom kibana, lahko zaženemo naslednjo poizvedbo:

curl -XDELETE “http://localhost:9200/kibana*” -H 'kbn-xsrf: poročanje'


Prejšnja zahteva odstrani vse indekse, ki se začnejo s kibano.

OPOMBA: prejšnja zahteva zahteva uporabo nadomestnih znakov. Zato morate omogočiti podporo za nadomestne znake, kot je prikazano v prejšnjem razdelku.

Zaključek

Ta priročnik vas je naučil, kako uporabljati API za brisanje indeksa Elasticsearch. Naučili ste se tudi, kako omogočiti podporo za nadomestne znake v vaši gruči, odstraniti vse indekse in odstraniti indekse, ki se ujemajo z določenim vzorcem.