อะไรคือความแตกต่างระหว่างแบบสอบถามแบบคลุมเครือและแบบสอบถามที่ตรงกัน?

Xari Khux Khwam Taek Tang Rahwang Baebsxbtham Baeb Khlumkherux Laea Baebsxbtham Thi Trng Kan



Elasticsearch เป็นเสิร์ชเอ็นจิ้นและฐานข้อมูลแบบโอเพ่นซอร์ส เชิงวิเคราะห์ และกระจายที่รู้จักกันดี ฟรี ซึ่งใช้เพื่อจัดการข้อมูลประเภทต่างๆ เป็นฐานข้อมูล NoSQL ล้วนๆ และทำงานแตกต่างจากฐานข้อมูล SQL และฐานข้อมูลเชิงสัมพันธ์ทั่วไป Elasticsearch ใช้การสืบค้น DSL ((ภาษาเฉพาะโดเมน) และ REST API เพื่อจัดการและวิเคราะห์ข้อมูล มีการสืบค้นประเภทต่างๆ ใน ​​Elasticsearch เช่น การสืบค้นแบบคลุมเครือ การสืบค้นที่ตรงกัน การสืบค้น wild card การสืบค้นคำนำหน้า และอื่นๆ อีกมากมาย การสืบค้นเหล่านี้ทำงานแตกต่างกัน จากกันและกัน.

โพสต์นี้สาธิตเมื่อ:

แบบสอบถาม 'คลุมเครือ' คืออะไร?

คลุมเครือ ” คิวรีคือ Query DSL ที่ทำการค้นหาการดำเนินการอื่นๆ เช่น การเปลี่ยนอักขระ การแทรกอักขระ หรือการลบอักขระตาม “ Levenshtein แก้ไขระยะทาง ' ระยะทาง. โดยปกติจะค้นหาความแตกต่างระหว่างคำต่างๆ และส่งกลับผลลัพธ์ในเอกสารที่ใกล้หรือเกือบคล้ายกับคำที่ค้นหา







แบบสอบถาม 'การจับคู่' คืออะไร

จับคู่ ” คิวรีเป็นอีกประเภทหนึ่งของ Query DSL ที่ใช้ในการจับคู่หรือค้นหาข้อมูลที่กำหนด เช่น สตริง ตัวเลข หรือข้อความ มันคือ ' ข้อความเต็ม ” ข้อความค้นหาและดำเนินการค้นหาข้อความแบบเต็มและส่งคืนผลลัพธ์ที่ตรงกับคำที่ค้นหาทุกประการ หากคำไม่ตรงกับคำค้นหา จะส่งกลับสตริงว่างหรือเท็จ



ความแตกต่างระหว่างแบบสอบถาม 'คลุมเครือ' และ 'จับคู่'

ทั้งคู่ ' คลุมเครือ ' และ ' จับคู่ ” ใช้สำหรับการค้นหา ข้อแตกต่างที่สำคัญระหว่างข้อความค้นหาทั้งสองนี้คือ ข้อความค้นหาแบบ 'คลุมเครือ' ทำให้การค้นหาคลุมเครือและส่งกลับผลลัพธ์ที่คล้ายกับหรือใกล้เคียงกับคำที่ค้นหา ในทางตรงกันข้าม ข้อความค้นหา 'ตรงกัน' จะแสดงผลลัพธ์ที่ตรงกับคำที่ค้นหาทุกประการ



เพื่อความเข้าใจที่ดีขึ้น ให้ทำตามตัวอย่างด้านล่าง:





ตัวอย่างที่ 1: การค้นหาแบบคลุมเครือโดยใช้แบบสอบถามแบบ 'คลุมเครือ'

สมมติว่าผู้ใช้ต้องการค้นหาเอกสารที่มีเครื่องหมาย “ การกำหนด ” คุณค่าเป็น “ ผู้เขียน '. มาทำการค้นหาที่ใกล้เคียงกันมากขึ้น หากต้องการทำเช่นนั้น ให้ใช้ ' คลุมเครือ ” เพื่อค้นหาเอกสารที่มี “ การกำหนด ” มีค่าเท่ากับหรือใกล้กับ “ ผู้เขียน ”:

รับลินุกซ์ / _ค้นหา

{

'สอบถาม' : : {

'คลุมเครือ' : : {

'การกำหนด' : : 'ผู้เขียน'

}

}

}

ผลลัพธ์ด้านล่างนี้แสดงว่าเอกสารมีรหัส “ 1 ' มี ' การกำหนด ” คุณค่าใกล้เคียงกับ “ ผู้เขียน ” คำค้นหา:



แต่หากยกตัวอย่างข้างต้นไปประยุกต์ใช้โดย “ จับคู่ ” แบบสอบถามก็จะส่ง “ สตริงว่าง ” เนื่องจากจะส่งกลับคำที่ตรงกันทุกประการ

ตัวอย่างที่ 2: การค้นหาแบบคลุมเครือโดยใช้ข้อความค้นหา 'Match'

ลองใช้ตัวอย่างเดียวกันและใช้ ' จับคู่ ” เพื่อค้นหาเอกสารที่มี “ การกำหนด ” คุณค่าเป็น “ ผู้เขียน ”:

รับลินุกซ์ / _ค้นหา

{

'สอบถาม' : : {

'จับคู่' : : {

'การกำหนด' : : 'ผู้เขียน'

}

}

}

ผลลัพธ์ด้านล่างแสดงให้เห็นว่า “ จับคู่ ” แบบสอบถามไม่พบผลลัพธ์ที่ใกล้เคียงกว่าและส่งกลับ “ โมฆะ ” สตริง:

มาแก้ไขค่าที่ค้นหาจาก “ ผู้เขียน ' ถึง ' ผู้เขียน ” และเรียกใช้ “ จับคู่ ” สอบถามตามที่แสดงด้านล่าง:

รับลินุกซ์ / _ค้นหา

{

'สอบถาม' : : {

'จับคู่' : : {

'การกำหนด' : : 'ผู้เขียน'

}

}

}

ที่นี่คุณสามารถเห็น “ จับคู่ ” แบบสอบถามส่งคืนเอกสารที่มีรหัส “ 1 '. เนื่องจากเอกสาร 1 ตรงกับคำที่ค้นหาทุกประการ:

นั่นคือทั้งหมดที่เกี่ยวกับความแตกต่างระหว่าง “ คลุมเครือ ” แบบสอบถามและ “ จับคู่ ” สอบถาม

บทสรุป

คลุมเครือ ” ข้อความค้นหาใช้เพื่อทำการค้นหาแบบคลุมเครือและส่งกลับผลลัพธ์ที่ใกล้เคียงกับคำที่ค้นหา อย่างไรก็ตาม ' จับคู่ ” ข้อความค้นหาไม่รองรับการค้นหาแบบคลุมเครือและส่งกลับผลลัพธ์ที่ตรงกับคำที่ค้นหาทุกประการ บล็อกนี้ได้แสดงให้เห็นความแตกต่างระหว่างคำค้นหาแบบคลุมเครือและคำค้นหาที่ตรงกัน