อะไรคือความแตกต่างระหว่าง Match และ Boolean ใน Elasticsearch?

Xari Khux Khwam Taek Tang Rahwang Match Laea Boolean Ni Elasticsearch



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 จากระบบโลคัลเพื่อเปิดเทอร์มินัลและใช้คำสั่งต่อไปนี้:

kibana.bat



ใช้ localhost กับหมายเลขพอร์ต 9200 บนเว็บเบราว์เซอร์เพื่อลงชื่อเข้าใช้ Elasticsearch:

โลคัลโฮสต์: 9200



อีกครั้ง ใช้ localhost บนเว็บเบราว์เซอร์ แต่มีหมายเลขพอร์ต 5601 เพื่อเข้าสู่ Kibana UI:

โลคัลโฮสต์: 5601



มุ่งหน้าเข้าไปข้างใน “ เครื่องมือสำหรับนักพัฒนา ” คอนโซลจากหน้า Kibana จากแถบค้นหา:


ไวยากรณ์ของ Match Query

ต่อไปนี้คือไวยากรณ์พื้นฐานของการสอบถาม Match กับคำขอ GET เพื่อดึงข้อมูล:

รับ / _ค้นหา
{
'แบบสอบถาม' : {
'จับคู่' : {
'ข้อความ' : {
'แบบสอบถาม' : 'นี่คือการทดสอบ'
}
}
}
}


ตัวอย่างด้านบนแนะนำ:

    • รหัสเริ่มต้นด้วย a รับ ขอใช้ ค้นหา API เพื่อดึงข้อมูลจาก ฐานข้อมูล และผู้ใช้สามารถเพิ่ม ชื่อดัชนี หลังจากคำหลัก GET
    • เดอะ สอบถาม คำหลักประกอบด้วย จับคู่ ข้อที่ได้รับ ข้อความ จากดัชนีหรือฐานข้อมูลแล้ว ข้อมูล ถูกกล่าวถึงใน สอบถาม วลีในตอนท้าย

ใช้ Match Query

ส่วนนี้จะอธิบายตัวอย่างการใช้งานจริงของการใช้ Matchquery และแสดงข้อมูลจาก ดัชนีสาธิต โดยใช้ก รับ ขอ:

รับ / ดัชนีสาธิต / _ค้นหา



ใช้รหัสต่อไปนี้เพื่อดำเนินการค้นหาการจับคู่ใน Elasticsearch บน ' ดัชนีสาธิต ” เพื่อใช้แบบสอบถามบน “ วัตสัน ' ชื่อ:

รับ / ดัชนีสาธิต / _ค้นหา
{
'แบบสอบถาม' : {
'จับคู่' : {
'ชื่อ' : {
'แบบสอบถาม' : 'วัตสัน'
}
}
}
}



ไวยากรณ์ของแบบสอบถามบูลีน

ต่อไปนี้คือไวยากรณ์พื้นฐานของคิวรีบูลีนที่มีคำขอ GET เพื่อดึงข้อมูลจากฐานข้อมูล:

รับ / _ค้นหา
{
'แบบสอบถาม' : {
'บูล' : {
'ข้อ' : {
'สนาม' : 'ภาคเรียน'
}
}
}
}


ตัวอย่างด้านบนแนะนำ:

    • เดอะ รับ คำขอใช้เพื่อดึงข้อมูลจากดัชนีโดยใช้ ค้นหา API .
    • เดอะ สอบถาม คำหลักประกอบด้วย บูล สำหรับแบบสอบถามที่มี ข้อ เพื่อใช้แบบสอบถามกับดัชนีหรือฐานข้อมูลแล้ว ข้อมูล ถูกเรียกและแสดงบนหน้าจอ

ใช้แบบสอบถามบูลีน

แบบสอบถามต่อไปนี้ใช้แบบสอบถามบูลีนเพื่อรับข้อมูลจาก ' ดัชนีสาธิต ' ใช้ ' ต้อง ” ข้อและการรวมสองแบบสอบถามของ “ การกำหนด ' กับ ' ชื่อ ”:

รับ / ดัชนีสาธิต / _ค้นหา
{
'แบบสอบถาม' : {
'บูล' : {
'ต้อง' : [
{
'ภาคเรียน' : {
'การกำหนด' : 'รอบด้าน'
}
} ,
{
'ภาคเรียน' : {
'ชื่อ' : 'แอนเดอร์สัน'
}
}
]
}
}
}


ชุดค่าผสมนี้จะสร้างคำสั่งบูลีนเพื่อใช้แบบสอบถามกับดัชนี:


นั่นคือทั้งหมดที่เกี่ยวกับความแตกต่างระหว่างข้อความค้นหา Match และ Boolean ใน Elasticsearch

บทสรุป

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