Nasib baik, dengan Elasticsearch, ketika data menjadi berlebihan, yang perlu anda lakukan hanyalah mengakses alat untuk melakukan permintaan dan memindahkan data melalui rangkaian.
Panduan ringkas ini akan menunjukkan kepada anda cara menggunakan Elasticsearch API yang hebat untuk menghapus dokumen dan indeks.
NOTA: Kami menganggap bahawa anda menjalankan Elasticsearch di sistem anda dan anda mempunyai alat untuk membuat permintaan seperti cURL. Kami juga menyediakan permintaan Kibana mentah jika anda menggunakan Konsol Kibana (disyorkan).
Cara Menyenaraikan Indeks?
Sekiranya anda ingin memadam dan mengindeks di Elasticsearch, pertama anda perlu mengesahkannya sebelum menghantar permintaan DELETE.
Sekiranya anda cuba memadam indeks yang tidak ada, anda akan mendapat ralat, seperti yang ditunjukkan di bawah:
HAPUS / ini_index_does_not_existUntuk arahan cURL:
curl -XDELETE "http: // localhost: 9200 / this_index_does_not_exist"Menghapus indeks akan memberikan ralat sebagai:
"ralat":
"root_cause": [
"type": "index_not_found_exception",
"alasan": "tidak ada indeks seperti ini [this_index_does_not_exist]",
"index_uuid": "_na_",
"sumber.taip ":" index_or_alias ",
"sumber.id ":" ini_index_does_not_exist ",
"indeks": "ini_index_does_not_exist"
],
"type": "index_not_found_exception",
"alasan": "tidak ada indeks seperti ini [this_index_does_not_exist]",
"index_uuid": "_na_",
"sumber.taip ":" index_or_alias ",
"sumber.id ":" ini_index_does_not_exist ",
"indeks": "ini_index_does_not_exist"
,
"status": 404
Terdapat pelbagai cara untuk memeriksa sama ada indeks wujud; yang terbaik ialah menyenaraikan namanya. Contohnya, anda boleh menggunakan wildcard untuk memadankan nama tertentu.
Permintaan contoh di bawah menyenaraikan indeks dengan nama te *
DAPATKAN / te *Perintah cURL adalah:
curl -XGET "http: // localhost: 9200 / te *"Perintah ini harus mengembalikan semua indeks yang sesuai dengan corak tertentu, yang membolehkan anda mengingat hanya sebahagian nama indeks yang ingin anda hapus.
"temp":
"alias": ,
"pemetaan": ,
"tetapan":
"indeks":
"penghalaan":
"peruntukan":
"sertakan":
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"disediakan_nama": "temp",
"tarikh_ciptaan": "1611180802266",
"number_of_replicas": "1",
"uuid": "c7dOH6MQQUmHM2MKJ73ekw",
"versi":
"dibuat": "7100299"
,
"temp_1":
"alias": ,
"pemetaan": ,
"tetapan":
"indeks":
"penghalaan":
"peruntukan":
"sertakan":
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"disediakan_nama": "temp_1",
"tarikh_ciptaan": "1611180811874",
"number_of_replicas": "1",
"uuid": "pq1UUR2XTZS3xfs6Hxr4gg",
"versi":
"dibuat": "7100299"
,
"temp_2":
"alias": ,
"pemetaan": ,
"tetapan":
"indeks":
"penghalaan":
"peruntukan":
"sertakan":
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"disediakan_nama": "temp_2",
"tarikh_ciptaan": "1611180815041",
"number_of_replicas": "1",
"uuid": "8NdXWPuBTLe6r4eZ407W9Q",
"versi":
"dibuat": "7100299"
Cara lain adalah dengan menambahkan parameter ign_unavailable pada permintaan. Sebagai contoh:
HAPUS / abaikan_me?abaikan_ tidak tersedia = benarUntuk pengguna cURL:
[cc lang = "text" width = "100%" height = "100%" escaped = "true" theme = "blackboard" nowrap = "0"]
curl -XDELETE “http: // localhost: 9200 / ign_me?abaikan_ tidak tersedia = benar ”
Cara Memadam sebuah Indeks?
Setelah anda mempunyai indeks yang ingin anda hapus dari Elasticsearch, gunakan permintaan HAPUS diikuti dengan nama indeks.
Sintaks umum adalah:
HAPUS /Nama indeks boleh berupa indeks tertentu atau wildcard yang memilih sekumpulan indeks. Pastikan menggunakan kad liar dengan betul; jika tidak, anda mungkin membuang indeks yang salah.
NOTA: Menghapus indeks Elasticsearch menggunakan alias tidak dibenarkan.
Pertimbangkan contoh permintaan di bawah yang membuang indeks temp_1:
HAPUS / temp_1Untuk arahan cURL:
curl -XDELETE "http: // localhost: 9200 / temp_1"Melaksanakan perintah ini harus bertindak balas dengan objek JSON, yang menunjukkan kejayaan penghapusan indeks.
"Diakui": benar
Elasticsearch cukup pintar untuk mengetahui bahawa anda boleh membuang indeks secara tidak sengaja. Oleh itu, anda boleh menetapkan jenis ungkapan wildcard yang dibenarkan.
Jenis ungkapan wildcard ini merangkumi:
- Semua: Termasuk semua indeks, termasuk terbuka, tertutup, dan tersembunyi (bermula dengan)
- Buka: Termasuk indeks terbuka sahaja
- Tertutup: Termasuk indeks tertutup sahaja
- Tiada: Tidak dinyatakan ungkapan wildcard.
Kesimpulannya
Untuk panduan ringkas dan ringkas ini, kami membincangkan proses penggunaan Elasticsearch untuk menghapus indeks dari kluster. Kami juga membincangkan cara mudah yang boleh anda laksanakan untuk mengelakkan kesilapan pada indeks yang tidak ada.
Terima kasih kerana membaca.