Elasticsearch Tanggalin ang Lahat ng Index

Elasticsearch Tanggalin Ang Lahat Ng Index



Ang Elasticsearch ay isang libre, open-source na search at analytics engine na nagpapagana sa ELK Stack. Ang Elasticsearch ay nagbibigay-daan sa iba't ibang mga pipeline ng data gamit ang mga tool tulad ng Logstash upang kolektahin at pagsama-samahin ang data. Pagkatapos ay iniimbak ng Elasticsearch ang ibinigay na data, na nagbibigay-daan sa mga application na mag-access, maghanap, mag-uri-uriin, at mag-filter ng malalaking halaga ng data nang malapit sa real-time. Binibigyang-daan ka rin ng Elasticsearch na mailarawan ang iba't ibang data gamit ang mga built-in na tool.

Ang mga naturang feature ay ginagawang lubos na angkop ang Elasticseach para sa paghahanap at pag-uuri ng malawak na dami ng data na may minimal hanggang walang latency. Kaya, kung ikaw ay gumagawa ng isang search engine o nagsusuri ng mga log, sukatan, at iba pang data ng teksto, ang Elasticsearch ay isang mahusay na pagpipilian.







Sa gitna ng Elasticsearch ay isang index. Ang isang index ay tumutukoy sa yunit na responsable para sa pag-iimbak ng mga dokumento sa Elasticsearch. Ang isang index ay medyo katumbas ng isang database sa konteksto ng mga relational database. Halimbawa, maaari kang magkaroon ng index na nagtataglay ng lahat ng data para sa mga log ng isang web application.



Tulad ng lahat ng mga database, maaari kang makatagpo ng isang sitwasyon kung saan kailangan mong alisin ang lahat ng data mula sa iyong cluster, na nagbibigay-daan sa iyong magsimula sa isang malinis na slate.



Ipinapakita sa iyo ng artikulong ito kung paano gamitin ang mga feature ng Elasticsearch API para alisin ang lahat ng index sa iyong cluster.





MAG-INGAT: Ang mga pamamaraan at pamamaraan na ginamit sa artikulong ito ay hahantong sa pagkawala ng data. Wala kaming pananagutan para sa anumang pagkawala ng data na maaaring mangyari dahil sa mga tagubilin sa artikulong ito.

Elasticsearch Delete Index API

Kung sisimulan mo ang Elasticsearch, kakailanganin mong malaman kung paano gawin ang mga pangunahing tawag sa API. Ito ay dahil ginagamit ng Elasticsearch ang mga API sa maximum.



Gaya ng maaari mong hulaan, ginagamit namin ang Delete Index API upang alisin ang isang index mula sa isang cluster. Ang syntax para sa mga kahilingan sa pagtanggal ng index ay tulad ng ipinapakita:

I-DELETE /< index >


Inaalis ng kahilingan ang tinukoy na index at ang mga nakaimbak na dokumento, shards, at lahat ng metadata nito.

Tandaan na hindi nito aalisin ang anumang bahagi ng Kibana na nauugnay sa tinukoy na index gaya ng mga view ng data, atbp.

Maaari mong tukuyin ang isa o maramihang mga indeks sa pamamagitan ng paghihiwalay sa mga ito gamit ang mga kuwit. Ang isang halimbawang syntax ay tulad ng ipinapakita:

I-DELETE / index_name
I-DELETE / index1,index2,index3...indexN


Pinipigilan ka ng Elasticsearch na gamitin ang Index alias kapag nagtatanggal ng isang index. Sa halip, kailangan mong gamitin ang pangalan ng index.

Halimbawa 1: Elasticsearch Delete Index

Ipinapakita ng sumusunod na halimbawa kung paano gamitin ang Elasticsearch delete index API upang alisin ang isang umiiral na index mula sa cluster:

kulot -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: pag-uulat'


Ang nakaraang kahilingan ay nagpapadala ng isang DELETE na kahilingan sa delete API. Dapat nitong alisin ang index na may pangalang “kibana_sample_data_logs”.

Ang resultang output ay tulad ng ipinapakita:

{
'kinikilala' : totoo
}

Halimbawa 2: Elasticsearch Tanggalin ang Maramihang Indices

Maaari naming alisin ang maraming mga indeks sa pamamagitan ng pagpasa sa mga ito bilang isang listahan na pinaghihiwalay ng kuwit. Ang isang halimbawang query ay tulad ng ipinapakita:

kulot -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: pag-uulat'


Tinatanggal ng nakaraang utos ang tinukoy na mga indeks at nagbabalik ng mensahe tulad ng ipinapakita:

{
'kinikilala' : totoo
}


Tandaan: Kung ang index ay hindi umiiral, ang Elasticsearch ay nagbabalik ng isang error tulad ng ipinapakita:

Halimbawa 3: Elasticsearch Tanggalin ang Lahat ng Mga Index

Magagamit natin ang _all wildcard sa delete index API para alisin ang lahat ng indeks mula sa isang cluster. Ang delete index API ay, bilang default, pipigilan ka sa pagpasa sa mga wildcard sa kahilingan.

Maaari mong i-disable ito sa pamamagitan ng pagtatakda ng action.desctructive_requires_name sa false.

Ipinapakita sa iyo ng sumusunod na query kung paano paganahin ang paggamit ng mga wildcard sa delete index API:

kulot -XPUT 'localhost:9200 /_cluster/settings' -H 'kbn-xsrf: pag-uulat' -H 'Uri ng Nilalaman: application/json' -d '
{
'lumilipas': {
'action.destructive_requires_name' : mali
}
}'


TANDAAN: Bagama't hindi inirerekomenda ng Elasticsearch ang paggamit ng mga lumilipas na setting ng cluster, iwasang itakda ang mapanirang mga parameter ng cluster gaya ng paggamit ng mga wildcard bilang patuloy na setting ng cluster.

Dapat ibalik ng nakaraang query ang resulta bilang:

{
'kinikilala' : totoo ,
'patuloy' : { } ,
'lumilipas' : {
'aksyon' : {
'mapanirang_nangangailangan_ng_pangalan' : 'false'
}
}
}


Kapag matagumpay, maaari mong alisin ang lahat ng mga indeks sa cluster sa pamamagitan ng pagpapatakbo ng sumusunod na command:

kulot -XDELETE “http://localhost:9200/_all?pretty=true” -H 'kbn-xsrf: pag-uulat'

Halimbawa 4: Elasticsearch Tanggalin ang Lahat ng Mga Index na Tumutugma sa Mga Partikular na Pangalan

Kung gusto mong alisin ang lahat ng mga indeks na tumutugma sa isang partikular na pattern, maaari kang gumamit ng wildcard na character (*).

Halimbawa, upang alisin ang lahat ng mga indeks na nagsisimula sa pangalang kibana, maaari naming patakbuhin ang sumusunod na query:

kulot -XDELETE “http://localhost:9200/kibana*” -H 'kbn-xsrf: pag-uulat'


Ang nakaraang kahilingan ay nag-aalis ng lahat ng mga indeks na nagsisimula sa kibana.

TANDAAN: Ang nakaraang kahilingan ay nangangailangan ng paggamit ng mga wildcard. Samakatuwid, dapat mong paganahin ang suporta sa wildcard tulad ng ipinapakita sa nakaraang seksyon.

Konklusyon

Itinuro sa iyo ng gabay na ito kung paano gamitin ang Elasticsearch delete index API. Natutunan mo rin kung paano paganahin ang suporta sa wildcard sa iyong cluster, alisin ang lahat ng mga indeks at alisin ang mga indeks na tumutugma sa isang partikular na pattern.