เข้าใจ Index และ Mapping อิน Elasticsearch

แน่นอน! นี่คือคำแปลของคำอธิบายและตัวอย่างสำหรับ Index และ Mapping ใน Elasticsearch:

Index ใน Elasticsearch

Index ในนั้น คล้าย Elasticsearch กับฐานข้อมูลในระบบจัดการฐานข้อมูลแบบดั้งเดิม(DBMS) มันเก็บชุดของเอกสารที่เกี่ยวข้อง แต่ละรายการ Index มักจะสอดคล้องกับประเภทข้อมูลเฉพาะในแอปพลิเคชันของคุณ ตัวอย่างเช่น ในแอปพลิเคชันอีคอมเมิร์ซ คุณสามารถสร้าง an Index เพื่อเก็บข้อมูลเกี่ยวกับผลิตภัณฑ์ อีกอัน Index เพื่อเก็บข้อมูลเกี่ยวกับผู้ใช้และคำสั่งซื้อ

แต่ละ Index ส่วน Elasticsearch จะแบ่งออกเป็นส่วนเล็กๆ สำหรับการกระจายข้อมูล Shard เป็นส่วนเล็กๆ ของ Index และแต่ละ Shard สามารถจัดเก็บไว้ในโหนดแยกต่างหากภายใน Elasticsearch คลัสเตอร์ การแยกข้อมูลออกเป็นเศษส่วนช่วยเพิ่มประสิทธิภาพการค้นหาและการค้นหาและเพิ่มความสามารถในการปรับขนาดของระบบ

ตัวอย่างเช่น ในการสร้าง Index ชื่อ ใหม่ products  ใน Elasticsearch คุณสามารถใช้ API หรือเครื่องมือการจัดการ เช่น Kibana เพื่อดำเนินการคำสั่งต่อไปนี้:

PUT /products  
{  
  "settings": {  
    "number_of_shards": 3,  
    "number_of_replicas": 2  
  }  
}  

ในตัวอย่างข้างต้น เราได้สร้างอย่างละ Index products 3 shard และ 2 replica เพื่อ shard ให้แน่ใจว่ามีความพร้อมใช้งานและสำรองข้อมูล

 

Mapping ใน Elasticsearch

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

ตัวอย่างเช่น หากเรามี Index products และต้องการกำหนด Mapping ให้ฟิลด์ name(ชื่อผลิตภัณฑ์) และ price  (ราคาผลิตภัณฑ์) เป็นประเภทข้อความและทศนิยมตามลำดับ เราสามารถดำเนินการคำสั่งต่อไปนี้:

PUT /products/_mapping  
{  
  "properties": {  
    "name": {  
      "type": "text"  
    },  
    "price": {  
      "type": "float"  
    }  
  }  
}  

ในตัวอย่างข้างต้น เราได้กำหนดไว้ Mapping สำหรับ products  ดัชนี โดย name  ฟิลด์มีประเภทข้อมูล text และฟิลด์ราคามีประเภท float ข้อมูล สิ่งนี้ทำให้มั่นใจได้ว่าเมื่อ Elasticsearch ได้รับเอกสารใหม่สำหรับ products  ดัชนี เอกสารจะจัดเก็บและประมวลผลฟิลด์ name  และฟิลด์ "ราคา" ตามประเภทข้อมูลที่กำหนดไว้

Index และ Mapping มีบทบาทสำคัญในการจัดระเบียบและจัดการข้อมูล Elasticsearch ใน ช่วยให้ Elasticsearch เข้าใจและประมวลผลข้อมูลได้อย่างมีประสิทธิภาพ เพิ่มประสิทธิภาพการค้นหาและการค้นหา และมอบความสามารถในการปรับขนาดที่ยืดหยุ่นสำหรับระบบ