Elasticsearch ลบดัชนีทั้งหมด

Elasticsearch Lb Dachni Thanghmd



Elasticsearch คือเครื่องมือค้นหาและการวิเคราะห์แบบโอเพ่นซอร์สฟรีที่ขับเคลื่อน ELK Stack Elasticsearch อนุญาตให้ไปป์ไลน์ข้อมูลต่างๆ โดยใช้เครื่องมือ เช่น Logstash เพื่อรวบรวมและรวบรวมข้อมูล จากนั้น Elasticsearch จะจัดเก็บข้อมูลที่ให้ไว้ ทำให้แอปพลิเคชันสามารถเข้าถึง ค้นหา จัดเรียง และกรองข้อมูลจำนวนมากได้แบบเกือบเรียลไทม์ Elasticsearch ยังช่วยให้คุณเห็นภาพข้อมูลต่างๆ โดยใช้เครื่องมือในตัว

คุณสมบัติดังกล่าวทำให้ Elasticseach เหมาะอย่างยิ่งสำหรับการค้นหาและจัดเรียงข้อมูลจำนวนมากโดยมีเวลาแฝงน้อยที่สุดหรือไม่มีเลย ดังนั้น ไม่ว่าคุณจะสร้างเครื่องมือค้นหาหรือวิเคราะห์บันทึก ตัวชี้วัด และข้อมูลข้อความอื่นๆ Elasticsearch เป็นตัวเลือกที่ยอดเยี่ยม







หัวใจของ Elasticsearch คือดัชนี ดัชนีหมายถึงหน่วยที่รับผิดชอบการจัดเก็บเอกสารใน Elasticsearch ดัชนีค่อนข้างเทียบเท่ากับฐานข้อมูลในบริบทของฐานข้อมูลเชิงสัมพันธ์ ตัวอย่างเช่น คุณสามารถมีดัชนีที่เก็บข้อมูลทั้งหมดสำหรับบันทึกของเว็บแอปพลิเคชัน



เช่นเดียวกับฐานข้อมูลทั้งหมด คุณอาจพบกับสถานการณ์ที่คุณต้องลบข้อมูลทั้งหมดออกจากคลัสเตอร์ของคุณ ซึ่งทำให้คุณสามารถเริ่มต้นด้วยแถบสเลทที่สะอาดได้



บทความนี้แสดงวิธีใช้คุณสมบัติ Elasticsearch API เพื่อลบดัชนีทั้งหมดออกจากคลัสเตอร์ของคุณ





ข้อควรระวัง: วิธีการและเทคนิคที่ใช้ในบทความนี้จะทำให้ข้อมูลสูญหาย เราไม่รับผิดชอบต่อการสูญเสียข้อมูลใด ๆ ที่อาจเกิดขึ้นเนื่องจากคำแนะนำในบทความนี้

Elasticsearch ลบดัชนี API

หากคุณกำลังเริ่มต้น Elasticsearch คุณจะต้องรู้วิธีดำเนินการเรียก API พื้นฐาน นี่เป็นเพราะว่า Elasticsearch ใช้ APIs ให้เกิดประโยชน์สูงสุด



อย่างที่คุณเดาได้ เราใช้ Delete Index API เพื่อลบดัชนีออกจากคลัสเตอร์ ไวยากรณ์สำหรับคำขอลบดัชนีเป็นดังที่แสดง:

ลบ /< ดัชนี >


คำขอจะลบดัชนีที่ระบุและเอกสารที่เก็บไว้ ชาร์ด และข้อมูลเมตาทั้งหมด

โปรดทราบว่าการดำเนินการนี้จะไม่ลบส่วนประกอบ Kibana ใดๆ ที่เกี่ยวข้องกับดัชนีที่ระบุ เช่น มุมมองข้อมูล ฯลฯ

คุณสามารถระบุดัชนีเดียวหรือหลายดัชนีโดยคั่นด้วยเครื่องหมายจุลภาค ตัวอย่างไวยากรณ์ดังที่แสดง:

ลบ / index_name
ลบ / index1,index2,index3...indexN


Elasticsearch ป้องกันไม่ให้คุณใช้นามแฝงดัชนีเมื่อลบดัชนี คุณต้องใช้ชื่อดัชนีแทน

ตัวอย่างที่ 1: Elasticsearch ลบดัชนี

ตัวอย่างต่อไปนี้แสดงวิธีใช้ Elasticsearch delete index API เพื่อลบดัชนีที่มีอยู่ออกจากคลัสเตอร์:

curl -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -ชม 'kbn-xsrf: กำลังรายงาน'


คำขอก่อนหน้านี้ส่งคำขอ DELETE ไปยัง API การลบ สิ่งนี้ควรลบดัชนีที่มีชื่อ “kibana_sample_data_logs”

ผลลัพธ์ที่ได้จะเป็นดังที่แสดง:

{
'รับทราบ' : จริง
}

ตัวอย่างที่ 2: Elasticsearch ลบดัชนีหลายตัว

เราสามารถลบดัชนีหลายตัวได้โดยการส่งผ่านเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค แบบสอบถามตัวอย่างเป็นดังที่แสดง:

curl -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -ชม 'kbn-xsrf: กำลังรายงาน'


คำสั่งก่อนหน้านี้ลบดัชนีที่ระบุและส่งคืนข้อความตามที่แสดง:

{
'รับทราบ' : จริง
}


หมายเหตุ: หากไม่มีดัชนี Elasticsearch จะส่งกลับข้อผิดพลาดตามที่แสดง:

ตัวอย่างที่ 3: Elasticsearch ลบดัชนีทั้งหมด

เราสามารถใช้สัญลักษณ์แทน _all ใน API ดัชนีการลบเพื่อลบดัชนีทั้งหมดออกจากคลัสเตอร์ โดยค่าเริ่มต้น API ดัชนีการลบจะป้องกันไม่ให้คุณส่งไวด์การ์ดในคำขอ

คุณสามารถปิดใช้งานสิ่งนี้ได้โดยตั้งค่า action.desctructive_requires_name เป็น false

แบบสอบถามต่อไปนี้แสดงวิธีเปิดใช้งานการใช้สัญลักษณ์แทนใน API ดัชนีการลบ:

curl -XPUT 'localhost:9200 /_cluster/การตั้งค่า' -ชม 'kbn-xsrf: กำลังรายงาน' -ชม 'ประเภทเนื้อหา: แอปพลิเคชัน/json' -d '
{
'ชั่วคราว': {
'action.destructive_requires_name' : false
}
}'


หมายเหตุ: แม้ว่า Elasticsearch จะไม่แนะนำให้ใช้การตั้งค่าคลัสเตอร์ชั่วคราว ให้หลีกเลี่ยงการตั้งค่าพารามิเตอร์คลัสเตอร์แบบทำลายล้าง เช่น การใช้ไวด์การ์ดเป็นการตั้งค่าคลัสเตอร์ถาวร

แบบสอบถามก่อนหน้าควรส่งคืนผลลัพธ์เป็น:

{
'รับทราบ' : จริง ,
'ดื้อดึง' : { } ,
'ชั่วคราว' : {
'การกระทำ' : {
'destructive_requires_name' : 'เท็จ'
}
}
}


เมื่อสำเร็จแล้ว คุณสามารถลบดัชนีทั้งหมดในคลัสเตอร์ได้โดยใช้คำสั่งต่อไปนี้:

curl -XDELETE “http://localhost:9200/_all?pretty=true” -ชม 'kbn-xsrf: กำลังรายงาน'

ตัวอย่างที่ 4: Elasticsearch ลบดัชนีทั้งหมดที่ตรงกับชื่อเฉพาะ

หากคุณต้องการลบดัชนีทั้งหมดที่ตรงกับรูปแบบเฉพาะ คุณสามารถใช้อักขระตัวแทน (*)

ตัวอย่างเช่น หากต้องการลบดัชนีทั้งหมดที่ขึ้นต้นด้วยชื่อ kibana เราสามารถเรียกใช้แบบสอบถามต่อไปนี้:

curl -XDELETE “http://localhost:9200/kibana*” -ชม 'kbn-xsrf: กำลังรายงาน'


คำขอก่อนหน้านี้จะลบดัชนีทั้งหมดที่ขึ้นต้นด้วย kibana

หมายเหตุ: คำขอก่อนหน้านี้ต้องใช้สัญลักษณ์แทน ดังนั้น คุณต้องเปิดใช้งานการสนับสนุนไวด์การ์ดดังที่แสดงในส่วนก่อนหน้า

บทสรุป

คู่มือนี้สอนวิธีใช้ Elasticsearch delete index API คุณยังได้เรียนรู้วิธีเปิดใช้งานการสนับสนุนไวลด์การ์ดในคลัสเตอร์ของคุณ ลบดัชนีทั้งหมด และลบดัชนีที่ตรงกับรูปแบบเฉพาะ