ให้นึกว่า index คือชุดระเบียน document คือระเบียน JSON หนึ่งรายการ และ mapping คือกฎตีความฟิลด์ของระเบียนนั้น
เริ่มด้วยสินค้าหนึ่งรายการ
{"name":"Blue shoes","price":
ให้นึกว่า index คือชุดระเบียน document คือระเบียน JSON หนึ่งรายการ และ mapping คือกฎตีความฟิลด์ของระเบียนนั้น
{"name":"Blue shoes","price":
Document นี้อยู่ใน index products โดย mapping อาจกำหนด name เป็นข้อความค้นหาได้ price เป็นตัวเลข และ created_at เป็นวันที่
สมมติว่าต้องการสินค้าราคาต่ำกว่า 200 ค่า price แบบตัวเลขให้ Elasticsearch เปรียบเทียบตัวเลขได้ การแทนด้วย string ใช้การเปรียบเทียบต่างกันและไม่เหมาะแทน query ช่วงตัวเลข
ดังนั้นข้อมูลเข้าเดียวกันต้องมี mapping ที่เลือกตามการค้นหาที่ต้องรองรับ JSON อย่างเดียวไม่ได้บอกพฤติกรรม indexing ทั้งหมด
Dynamic mapping อนุมานฟิลด์อัตโนมัติเมื่อข้อมูลเข้ามา สะดวกสำหรับสำรวจ แต่ค่าที่ไม่คาดคิดในช่วงแรกอาจตั้งชนิดไม่เหมาะสม กำหนดฟิลด์ระบบจริงที่รู้จักให้ชัดและควบคุมชื่อฟิลด์ใหม่ที่เกิดตามอำเภอใจ
การเพิ่มฟิลด์ต่างจากเปลี่ยนชนิดฟิลด์เดิม กรณีหลังโดยทั่วไปต้องสร้าง index ใหม่แล้วคัดลอก document ไปด้วย reindexing
คลังคำถามสัมภาษณ์งาน IT พร้อมคำตอบโดยละเอียด — ตั้งแต่ระดับ Junior ถึง Senior
บริจาค