Untungnya, dengan Elasticsearch, ketika data menjadi berlebihan, yang perlu Anda lakukan hanyalah mengakses alat untuk melakukan permintaan dan mentransfer data melalui jaringan.
Panduan singkat ini akan menunjukkan cara menggunakan API Elasticsearch yang hebat untuk menghapus dokumen dan indeks.
CATATAN: Kami berasumsi Anda memiliki Elasticsearch yang berjalan di sistem Anda dan Anda memiliki alat untuk membuat permintaan seperti cURL. Kami juga menyediakan permintaan Kibana mentah jika Anda menggunakan Konsol Kibana (disarankan).
Cara Daftar Indeks?
Jika Anda ingin menghapus dan mengindeks di Elasticsearch, Anda harus terlebih dahulu memverifikasi keberadaannya sebelum mengirim permintaan DELETE.
Jika Anda mencoba menghapus indeks yang tidak ada, Anda akan mendapatkan kesalahan, mirip dengan yang ditunjukkan di bawah ini:
HAPUS /this_index_does_not_existUntuk perintah cURL:
curl -XDELETE "http://localhost:9200/this_index_does_not_exist"Menghapus indeks akan memberikan kesalahan sebagai:
"kesalahan" :
"akar masalah" : [
"type" : "index_not_found_exception",
"reason" : "tidak ada indeks seperti itu [this_index_does_not_exist]",
"index_uuid" : "_na_",
"sumber.ketik" : "index_or_alias",
"sumber.id" : "ini_index_does_not_exist",
"index" : "ini_index_does_not_exist"
],
"type" : "index_not_found_exception",
"reason" : "tidak ada indeks seperti itu [this_index_does_not_exist]",
"index_uuid" : "_na_",
"sumber.ketik" : "index_or_alias",
"sumber.id" : "ini_index_does_not_exist",
"index" : "ini_index_does_not_exist"
,
"status" : 404
Ada berbagai cara untuk memeriksa apakah ada indeks; yang terbaik adalah mencantumkan namanya. Misalnya, Anda dapat menggunakan wildcard untuk mencocokkan nama tertentu.
Contoh permintaan di bawah ini mencantumkan indeks dengan nama te*
DAPATKAN /te*Perintah cURL adalah:
curl -XGET "http://localhost:9200/te*"Perintah ini akan mengembalikan semua indeks yang cocok dengan pola tertentu, memungkinkan Anda untuk mengingat hanya sebagian nama indeks yang ingin Anda hapus.
"temp" :
"alias" : ,
"pemetaan" : ,
"pengaturan" :
"indeks" :
"perutean" :
"alokasi" :
"termasuk" :
"_tier_preference" : "data_content"
,
"number_of_shards" : "1",
"provided_name" : "temp",
"creation_date" : "1611180802266",
"number_of_replicas" : "1",
"uuid" : "c7dOH6MQQUmHM2MKJ73ekw",
"Versi: kapan" :
"dibuat" : "7100299"
,
"temp_1" :
"alias" : ,
"pemetaan" : ,
"pengaturan" :
"indeks" :
"perutean" :
"alokasi" :
"termasuk" :
"_tier_preference" : "data_content"
,
"number_of_shards" : "1",
"provided_name" : "temp_1",
"creation_date" : "1611180811874",
"number_of_replicas" : "1",
"uuid" : "pq1UUR2XTZS3xfs6Hxr4gg",
"Versi: kapan" :
"dibuat" : "7100299"
,
"temp_2" :
"alias" : ,
"pemetaan" : ,
"pengaturan" :
"indeks" :
"perutean" :
"alokasi" :
"termasuk" :
"_tier_preference" : "data_content"
,
"number_of_shards" : "1",
"provided_name" : "temp_2",
"creation_date" : "1611180815041",
"number_of_replicas" : "1",
"uuid" : "8NdXWPuBTLe6r4eZ407W9Q",
"Versi: kapan" :
"dibuat" : "7100299"
Cara lain adalah dengan menambahkan parameter abaikan_unavailable ke permintaan. Sebagai contoh:
HAPUS /ignore_me?abaikan_unavailable=benarUntuk pengguna cURL:
[cc lang="text" width="100%" height="100%" escape="true" theme="blackboard" nowrap="0"]
curl -XDELETE “http://localhost:9200/ignore_me?abaikan_unavailable=true”
Cara Menghapus Indeks?
Setelah Anda memiliki indeks yang ingin Anda hapus dari Elasticsearch, gunakan permintaan DELETE diikuti dengan nama indeks.
Sintaks umumnya adalah:
MENGHAPUS /Nama indeks dapat berupa indeks tertentu atau wildcard yang memilih sekelompok indeks. Pastikan untuk menggunakan wildcard dengan benar; jika tidak, Anda mungkin menghapus indeks yang salah.
CATATAN: Menghapus indeks Elasticsearch menggunakan alias tidak diizinkan.
Pertimbangkan contoh permintaan di bawah ini yang menghapus indeks temp_1:
HAPUS /temp_1Untuk perintah cURL:
curl -XDELETE "http://localhost:9200/temp_1"Menjalankan perintah ini harus merespons dengan objek JSON, menunjukkan penghapusan indeks yang berhasil.
"diakui": benar
Elasticsearch cukup pintar untuk mengetahui bahwa Anda dapat menghapus indeks secara tidak sengaja. Oleh karena itu, Anda dapat mengatur jenis ekspresi wildcard apa yang diizinkan.
Jenis ekspresi wildcard ini meliputi:
- Semua: Termasuk semua indeks, termasuk terbuka, tertutup, dan tersembunyi (dimulai dengan)
- Buka: Hanya termasuk indeks terbuka
- Tutup: Hanya termasuk indeks tertutup
- Tidak ada: Tidak ada ekspresi wildcard yang diizinkan.
Kesimpulan
Untuk panduan cepat dan sederhana ini, kami membahas proses penggunaan Elasticsearch untuk menghapus indeks dari sebuah cluster. Kami juga membahas cara-cara sederhana yang dapat Anda terapkan untuk menghindari kesalahan untuk indeks yang tidak ada.
Terima kasih telah membaca.