Elasticsearch Poista kaikki indeksit

Elasticsearch Poista Kaikki Indeksit



Elasticsearch on ilmainen, avoimen lähdekoodin haku- ja analytiikkakone, joka toimii ELK Stackin tehona. Elasticsearch mahdollistaa tietojen keräämisen ja kokoamisen erilaisille tietoputkille käyttämällä työkaluja, kuten Logstash. Elasticsearch tallentaa sitten toimitetut tiedot, jolloin sovellukset voivat käyttää, etsiä, lajitella ja suodattaa suuria tietomääriä lähes reaaliajassa. Elasticsearchin avulla voit myös visualisoida erilaisia ​​tietoja sisäänrakennettujen työkalujen avulla.

Tällaiset ominaisuudet tekevät Elasticseachista erittäin sopivan laajojen tietomäärien etsimiseen ja lajitteluun minimaalisella tai ei lainkaan viiveellä. Joten olitpa luomassa hakukonetta tai analysoimassa lokeja, mittareita ja muita tekstitietoja, Elasticsearch on loistava valinta.







Elasticsearchin ytimessä on indeksi. Hakemistolla tarkoitetaan yksikköä, joka on vastuussa asiakirjojen tallentamisesta Elasticsearchissa. Indeksi on suhteellisen sama kuin tietokanta relaatiotietokantojen yhteydessä. Sinulla voi esimerkiksi olla hakemisto, joka sisältää kaikki verkkosovelluksen lokien tiedot.



Kuten kaikki tietokannat, saatat kohdata skenaarion, jossa sinun on poistettava kaikki tiedot klusteristasi, jotta voit aloittaa puhtaalta pöydältä.



Tässä artikkelissa kerrotaan, kuinka voit poistaa kaikki indeksit klusteristasi Elasticsearch API -ominaisuuksien avulla.





VAROITUS: Tässä artikkelissa käytetyt menetelmät ja tekniikat johtavat tietojen menetykseen. Emme ole vastuussa tietojen menetyksestä, joka voi tapahtua tämän artikkelin ohjeiden vuoksi.

Elasticsearch Delete Index API

Jos olet käynnistämässä Elasticsearchia, sinun on tiedettävä, kuinka suorittaa perussovellusliittymäkutsut. Tämä johtuu siitä, että Elasticsearch käyttää sovellusliittymiä mahdollisimman paljon.



Kuten arvata saattaa, käytämme Delete Index API -sovellusliittymää indeksin poistamiseen klusterista. Indeksin poistopyyntöjen syntaksi on seuraava:

POISTAA /< indeksi >


Pyyntö poistaa määritetyn hakemiston ja tallennetut asiakirjat, sirpaleet ja kaikki sen metatiedot.

Muista, että tämä ei poista määritettyyn hakemistoon liittyviä Kibana-komponentteja, kuten tietonäkymiä jne.

Voit määrittää yhden tai useita indeksejä erottamalla ne pilkuilla. Esimerkkisyntaksi on seuraavanlainen:

POISTAA / indeksin_nimi
POISTAA / indeksi1,indeksi2,indeksi3...indeksiN


Elasticsearch estää sinua käyttämästä hakemistoaliasta poistaessasi hakemistoa. Sen sijaan sinun on käytettävä indeksin nimeä.

Esimerkki 1: Elasticsearch Delete Index

Seuraava esimerkki näyttää, kuinka Elasticsearch-poistoindeksin sovellusliittymää käytetään olemassa olevan indeksin poistamiseen klusterista:

kiemura -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: raportointi'


Edellinen pyyntö lähettää DELETE-pyynnön poistosovellusliittymälle. Tämän pitäisi poistaa hakemisto, jonka nimi on 'kibana_sample_data_logs'.

Tuloksena oleva tulos on seuraavanlainen:

{
'tunnustettu' : totta
}

Esimerkki 2: Elasticsearch Poista useita indeksejä

Voimme poistaa useat indeksit välittämällä ne pilkuilla eroteltuna luettelona. Esimerkkikysely on seuraavanlainen:

kiemura -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: raportointi'


Edellinen komento poistaa määritetyt indeksit ja palauttaa seuraavan kuvan:

{
'tunnustettu' : totta
}


Huomautus: Jos hakemistoa ei ole, Elasticsearch palauttaa virheen kuten kuvassa:

Esimerkki 3: Elasticsearch Poista kaikki indeksit

Voimme käyttää _all jokerimerkkiä delete index API:ssa poistaaksesi kaikki indeksit klusterista. Poista indeksin API oletusarvoisesti estää sinua välittämästä jokerimerkkejä pyynnössä.

Voit poistaa tämän käytöstä asettamalla toiminnon action.descstructive_requires_name arvoksi false.

Seuraava kysely näyttää, kuinka voit ottaa käyttöön jokerimerkkien käytön poistoindeksin API:ssa:

kiemura -XPUT 'localhost:9200 /_cluster/settings' -H 'kbn-xsrf: raportointi' -H 'Sisältötyyppi: sovellus/json' -d '
{
' ohimenevä ': {
'action.destructive_requires_name' : epätosi
}
}'


HUOMAUTUS: Vaikka Elasticsearch ei suosittele ohimenevien klusteriasetusten käyttöä, vältä tuhoavien klusteriparametrien, kuten yleismerkkien käyttöä, määrittämistä pysyvänä klusteriasetuksena.

Edellisen kyselyn pitäisi palauttaa tulos seuraavasti:

{
'tunnustettu' : totta ,
'pysyvä' : { } ,
' ohimenevä ' : {
'toiminta' : {
'tuhoisa_vaatii_nimi' : 'väärä'
}
}
}


Kun onnistut, voit poistaa kaikki klusterin indeksit suorittamalla seuraavan komennon:

kiemura -XDELETE 'http://localhost:9200/_all?pretty=true' -H 'kbn-xsrf: raportointi'

Esimerkki 4: Elasticsearch Poista kaikki indeksit, jotka vastaavat tiettyjä nimiä

Jos haluat poistaa kaikki indeksit, jotka vastaavat tiettyä kuviota, voit käyttää jokerimerkkiä (*).

Esimerkiksi, jos haluat poistaa kaikki kibana-nimellä alkavat indeksit, voimme suorittaa seuraavan kyselyn:

kiemura -XDELETE 'http://localhost:9200/kibana*' -H 'kbn-xsrf: raportointi'


Edellinen pyyntö poistaa kaikki kibanalla alkavat indeksit.

HUOMAA: Edellinen pyyntö edellyttää jokerimerkkien käyttöä. Siksi sinun on otettava käyttöön jokerimerkkituki edellisen osan osoittamalla tavalla.

Johtopäätös

Tämä opas opetti käyttämään Elasticsearch-poistoindeksin sovellusliittymää. Opit myös, kuinka otat jokerimerkkituen käyttöön klusterissasi, poistat kaikki indeksit ja poistat indeksit, jotka vastaavat tiettyä mallia.