Elasticsearch Izbriši sve indekse

Elasticsearch Izbrisi Sve Indekse



Elasticsearch je besplatna tražilica i analitička tražilica otvorenog koda koja pokreće ELK Stack. Elasticsearch omogućuje različite podatkovne kanale pomoću alata kao što je Logstash za prikupljanje i agregiranje podataka. Elasticsearch zatim pohranjuje dostavljene podatke, dopuštajući aplikacijama pristup, pretraživanje, sortiranje i filtriranje velikih količina podataka u gotovo stvarnom vremenu. Elasticsearch vam također omogućuje vizualizaciju različitih podataka pomoću ugrađenih alata.

Takve značajke čine Elasticseach vrlo prikladnim za pretraživanje i sortiranje velikih količina podataka s minimalnom latencijom ili bez nje. Dakle, bilo da stvarate tražilicu ili analizirate zapisnike, metrike i druge tekstualne podatke, Elasticsearch je izvrstan izbor.







U srcu Elasticsearcha je indeks. Indeks se odnosi na jedinicu odgovornu za pohranu dokumenata u Elasticsearch. Indeks je relativno ekvivalentan bazi podataka u kontekstu relacijskih baza podataka. Na primjer, možete imati indeks koji sadrži sve podatke za zapisnike web aplikacije.



Kao i sve baze podataka, možete se susresti sa scenarijem u kojem trebate ukloniti sve podatke iz svog klastera, što vam omogućuje da počnete ispočetka.



Ovaj vam članak pokazuje kako koristiti značajke API-ja Elasticsearch za uklanjanje svih indeksa iz vašeg klastera.





OPREZ: Metode i tehnike korištene u ovom članku dovest će do gubitka podataka. Ne snosimo odgovornost za gubitak podataka do kojeg može doći zbog uputa u ovom članku.

Elasticsearch Delete Index API

Ako pokrećete Elasticsearch, morat ćete znati kako izvesti osnovne API pozive. To je zato što Elasticsearch maksimalno koristi API-je.



Kao što možete pogoditi, za uklanjanje indeksa iz klastera koristimo API za brisanje indeksa. Sintaksa za zahtjeve za brisanje indeksa je kao što je prikazano:

IZBRISATI /< indeks >


Zahtjev uklanja navedeni indeks i pohranjene dokumente, dijelove i sve njegove metapodatke.

Imajte na umu da ovo neće ukloniti nijednu Kibana komponentu povezanu s navedenim indeksom kao što su prikazi podataka itd.

Možete navesti jedan ili više indeksa odvajajući ih zarezima. Primjer sintakse je kao što je prikazano:

IZBRISATI / naziv_indeksa
IZBRISATI / indeks1,indeks2,indeks3...indeksN


Elasticsearch vas sprječava da koristite pseudonim indeksa kada brišete indeks. Umjesto toga, morate koristiti naziv indeksa.

Primjer 1: Brisanje indeksa Elasticsearch

Sljedeći primjer pokazuje kako koristiti Elasticsearch API za brisanje indeksa za uklanjanje postojećeg indeksa iz klastera:

kovrča -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: izvješćivanje'


Prethodni zahtjev šalje DELETE zahtjev API-ju za brisanje. Ovo bi trebalo ukloniti indeks s nazivom 'kibana_sample_data_logs'.

Rezultirajući izlaz je kao što je prikazano:

{
'priznato' : pravi
}

Primjer 2: Elasticsearch Brisanje više indeksa

Možemo ukloniti višestruke indekse prosljeđivanjem kao popisa odvojenih zarezima. Primjer upita je kao što je prikazano:

kovrča -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: izvješćivanje'


Prethodna naredba briše navedene indekse i vraća poruku kao što je prikazano:

{
'priznato' : pravi
}


Napomena: Ako indeks ne postoji, Elasticsearch vraća pogrešku kao što je prikazano:

Primjer 3: Elasticsearch Brisanje svih indeksa

Možemo koristiti zamjenski znak _all u API-ju za brisanje indeksa kako bismo uklonili sve indekse iz klastera. API za brisanje indeksa će vas prema zadanim postavkama spriječiti u prosljeđivanju zamjenskih znakova u zahtjevu.

To možete onemogućiti postavljanjem action.desctructive_requires_name na false.

Sljedeći upit pokazuje vam kako omogućiti korištenje zamjenskih znakova u API-ju brisanja indeksa:

kovrča -XPUT 'localhost:9200 /_cluster/settings' -H 'kbn-xsrf: izvješćivanje' -H 'Content-Type: application/json' -d '
{
'prolazno': {
'action.destructive_requires_name' : netočno
}
}'


NAPOMENA: Iako Elasticsearch ne preporučuje korištenje prolaznih postavki klastera, izbjegavajte postavljanje destruktivnih parametara klastera kao što je upotreba zamjenskih znakova kao trajne postavke klastera.

Prethodni upit trebao bi vratiti rezultat kao:

{
'priznato' : pravi ,
'uporan' : { } ,
'prolazno' : {
'akcijski' : {
'destruktivno_zahtijeva_ime' : 'lažan'
}
}
}


Nakon uspjeha, možete ukloniti sve indekse u klasteru pokretanjem sljedeće naredbe:

kovrča -XDELETE “http://localhost:9200/_all?pretty=true” -H 'kbn-xsrf: izvješćivanje'

Primjer 4: Elasticsearch Brisanje svih indeksa koji odgovaraju određenim imenima

Ako želite ukloniti sve indekse koji odgovaraju određenom uzorku, možete koristiti zamjenski znak (*).

Na primjer, da bismo uklonili sve indekse koji počinju s imenom kibana, možemo pokrenuti sljedeći upit:

kovrča -XDELETE “http://localhost:9200/kibana*” -H 'kbn-xsrf: izvješćivanje'


Prethodni zahtjev uklanja sve indekse koji počinju s kibana.

NAPOMENA: prethodni zahtjev zahtijeva korištenje zamjenskih znakova. Stoga morate omogućiti podršku za zamjenske znakove kao što je prikazano u prethodnom odjeljku.

Zaključak

Ovaj vodič vas je naučio kako koristiti Elasticsearch API za brisanje indeksa. Također ste naučili kako omogućiti podršku za zamjenske znakove u vašem klasteru, ukloniti sve indekse i ukloniti indekse koji odgovaraju određenom uzorku.