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' : 'เท็จ'
}
}
}
เมื่อสำเร็จแล้ว คุณสามารถลบดัชนีทั้งหมดในคลัสเตอร์ได้โดยใช้คำสั่งต่อไปนี้:
ตัวอย่างที่ 4: Elasticsearch ลบดัชนีทั้งหมดที่ตรงกับชื่อเฉพาะ
หากคุณต้องการลบดัชนีทั้งหมดที่ตรงกับรูปแบบเฉพาะ คุณสามารถใช้อักขระตัวแทน (*)
ตัวอย่างเช่น หากต้องการลบดัชนีทั้งหมดที่ขึ้นต้นด้วยชื่อ kibana เราสามารถเรียกใช้แบบสอบถามต่อไปนี้:
curl -XDELETE “http://localhost:9200/kibana*” -ชม 'kbn-xsrf: กำลังรายงาน'
คำขอก่อนหน้านี้จะลบดัชนีทั้งหมดที่ขึ้นต้นด้วย kibana
หมายเหตุ: คำขอก่อนหน้านี้ต้องใช้สัญลักษณ์แทน ดังนั้น คุณต้องเปิดใช้งานการสนับสนุนไวด์การ์ดดังที่แสดงในส่วนก่อนหน้า
บทสรุป
คู่มือนี้สอนวิธีใช้ Elasticsearch delete index API คุณยังได้เรียนรู้วิธีเปิดใช้งานการสนับสนุนไวลด์การ์ดในคลัสเตอร์ของคุณ ลบดัชนีทั้งหมด และลบดัชนีที่ตรงกับรูปแบบเฉพาะ