Elasticsearch เป็นเครื่องมือค้นหาที่ใช้ไลบรารี Apache Lucene จากภาษาโปรแกรม Java และมีผู้ใช้นับล้าน ช่วยให้ผู้ใช้สามารถจัดเก็บข้อมูลในฐานข้อมูลการวิเคราะห์และผู้ใช้ยังสามารถสร้างดัชนีและจัดเก็บข้อมูลในฐานข้อมูลได้ ผู้ใช้ยังสามารถใช้การสืบค้นข้อมูลที่แตกต่างกันเพื่อรับข้อมูลจากตาราง/ดัชนีและรับข้อมูลที่เป็นประโยชน์ผ่านทางนั้น
คู่มือนี้จะอธิบายความแตกต่างระหว่างข้อความค้นหา Match และ Boolean ใน Elasticsearch
การจับคู่ใน Elasticsearch คืออะไร
ข้อความค้นหา Match ใน Elasticsearch ตรงไปตรงมามาก เนื่องจากมีเงื่อนไขข้อความแบบเต็มเพื่อรับข้อมูลจากฐานข้อมูล Match Query นำข้อมูลจากดัชนีมาแปลงเป็นอาร์เรย์ แล้วค้นหาคีย์เวิร์ดที่ต้องการจากคีย์เวิร์ด ซึ่งทำให้ดึงข้อมูลได้อย่างมีประสิทธิภาพ
บูลีนใน Elasticsearch คืออะไร?
ข้อความค้นหาบูลีนใน Elasticsearch รวมข้อความค้นหาหลายรายการไว้ในคำสั่งบูลีนและแสดงเอกสารผลลัพธ์จากฐานข้อมูล แบบสอบถามบูลีนมีหลายอนุประโยคดังต่อไปนี้:
-
- ต้อง
- กรอง
- ควร
- ต้องไม่
อะไรคือความแตกต่างระหว่าง Match และ Boolean ใน Elasticsearch?
ส่วนต่อไปนี้จะอธิบายความแตกต่างระหว่างการจับคู่และการรวมบูลีนด้วยความช่วยเหลือของตัวอย่าง ให้ทำตามขั้นตอนด้านล่าง:
เชื่อมต่อกับ Elasticsearch และ Kibana
หากต้องการใช้คำสั่ง Match และ Boolean ใน Elasticsearch ให้เปิดเทอร์มินัลจากไดเร็กทอรี bin ของ Elasticsearch และใช้คำสั่งต่อไปนี้:
elasticsearch.bat
หลังจากนั้นให้ไปที่ไดเร็กทอรี bin ของ Kibana จากระบบโลคัลเพื่อเปิดเทอร์มินัลและใช้คำสั่งต่อไปนี้:
ใช้ localhost กับหมายเลขพอร์ต 9200 บนเว็บเบราว์เซอร์เพื่อลงชื่อเข้าใช้ Elasticsearch:
อีกครั้ง ใช้ localhost บนเว็บเบราว์เซอร์ แต่มีหมายเลขพอร์ต 5601 เพื่อเข้าสู่ Kibana UI:
มุ่งหน้าเข้าไปข้างใน “ เครื่องมือสำหรับนักพัฒนา ” คอนโซลจากหน้า Kibana จากแถบค้นหา:
ไวยากรณ์ของ Match Query
ต่อไปนี้คือไวยากรณ์พื้นฐานของการสอบถาม Match กับคำขอ GET เพื่อดึงข้อมูล:
รับ / _ค้นหา{
'แบบสอบถาม' : {
'จับคู่' : {
'ข้อความ' : {
'แบบสอบถาม' : 'นี่คือการทดสอบ'
}
}
}
}
ตัวอย่างด้านบนแนะนำ:
-
- รหัสเริ่มต้นด้วย a รับ ขอใช้ ค้นหา API เพื่อดึงข้อมูลจาก ฐานข้อมูล และผู้ใช้สามารถเพิ่ม ชื่อดัชนี หลังจากคำหลัก GET
- เดอะ สอบถาม คำหลักประกอบด้วย จับคู่ ข้อที่ได้รับ ข้อความ จากดัชนีหรือฐานข้อมูลแล้ว ข้อมูล ถูกกล่าวถึงใน สอบถาม วลีในตอนท้าย
ใช้ Match Query
ส่วนนี้จะอธิบายตัวอย่างการใช้งานจริงของการใช้ Matchquery และแสดงข้อมูลจาก ดัชนีสาธิต โดยใช้ก รับ ขอ:
รับ / ดัชนีสาธิต / _ค้นหา
ใช้รหัสต่อไปนี้เพื่อดำเนินการค้นหาการจับคู่ใน Elasticsearch บน ' ดัชนีสาธิต ” เพื่อใช้แบบสอบถามบน “ วัตสัน ' ชื่อ:
{
'แบบสอบถาม' : {
'จับคู่' : {
'ชื่อ' : {
'แบบสอบถาม' : 'วัตสัน'
}
}
}
}
ไวยากรณ์ของแบบสอบถามบูลีน
ต่อไปนี้คือไวยากรณ์พื้นฐานของคิวรีบูลีนที่มีคำขอ GET เพื่อดึงข้อมูลจากฐานข้อมูล:
รับ / _ค้นหา{
'แบบสอบถาม' : {
'บูล' : {
'ข้อ' : {
'สนาม' : 'ภาคเรียน'
}
}
}
}
ตัวอย่างด้านบนแนะนำ:
-
- เดอะ รับ คำขอใช้เพื่อดึงข้อมูลจากดัชนีโดยใช้ ค้นหา API .
- เดอะ สอบถาม คำหลักประกอบด้วย บูล สำหรับแบบสอบถามที่มี ข้อ เพื่อใช้แบบสอบถามกับดัชนีหรือฐานข้อมูลแล้ว ข้อมูล ถูกเรียกและแสดงบนหน้าจอ
ใช้แบบสอบถามบูลีน
แบบสอบถามต่อไปนี้ใช้แบบสอบถามบูลีนเพื่อรับข้อมูลจาก ' ดัชนีสาธิต ' ใช้ ' ต้อง ” ข้อและการรวมสองแบบสอบถามของ “ การกำหนด ' กับ ' ชื่อ ”:
รับ / ดัชนีสาธิต / _ค้นหา{
'แบบสอบถาม' : {
'บูล' : {
'ต้อง' : [
{
'ภาคเรียน' : {
'การกำหนด' : 'รอบด้าน'
}
} ,
{
'ภาคเรียน' : {
'ชื่อ' : 'แอนเดอร์สัน'
}
}
]
}
}
}
ชุดค่าผสมนี้จะสร้างคำสั่งบูลีนเพื่อใช้แบบสอบถามกับดัชนี:
นั่นคือทั้งหมดที่เกี่ยวกับความแตกต่างระหว่างข้อความค้นหา Match และ Boolean ใน Elasticsearch
บทสรุป
Match และ Boolean เป็นสองข้อความค้นหาที่ใช้ใน Elasticsearch เพื่อรับข้อมูลจากฐานข้อมูลการวิเคราะห์หรือจากดัชนีที่สร้างโดยผู้ใช้ การค้นหาที่ตรงกันจะแปลงข้อมูลเป็นอาร์เรย์และดึงข้อมูลจากอาร์เรย์เพื่อทำให้กระบวนการมีประสิทธิภาพมากขึ้น แบบสอบถามบูลีนใช้แบบสอบถามหลายรายการเพื่อสร้างคำสั่งเดียวและใช้แบบสอบถามในดัชนีเพื่อดึงข้อมูล คู่มือนี้ได้อธิบายความแตกต่างระหว่างข้อความค้นหา Match และ Boolean ใน Elasticsearch เพื่อรับข้อมูลจากฐานข้อมูล