ما هو الفرق بين الاستعلام الغامض واستعلام المطابقة؟

Ma Hw Alfrq Byn Alast Lam Alghamd Wast Lam Almtabqt



Elasticsearch هو محرك بحث وقاعدة بيانات معروفة ومجانية ومفتوحة المصدر وتحليلية وموزعة تُستخدم لإدارة أنواع مختلفة من البيانات. إنها قاعدة بيانات NoSQL بحتة وتعمل بشكل مختلف عن قواعد البيانات النموذجية وقواعد البيانات العلائقية. يستخدم Elasticsearch استعلام DSL ((لغة خاصة بالمجال) وREST APIs لإدارة البيانات وتحليلها. توجد أنواع مختلفة من الاستعلامات في Elasticsearch مثل الاستعلام الغامض، واستعلام المطابقة، واستعلام حرف البدل، والاستعلام البادئ، وغيرها الكثير. تعمل هذه الاستعلامات بشكل مختلف من بعضهما البعض.

توضح هذه المشاركة على:

ما هو الاستعلام 'الغامض'؟

ال ' أجعد 'الاستعلام عبارة عن استعلام DSL يقوم بإجراء عمليات بحث أخرى مثل تغيير الحرف أو إدخال الحرف أو إزالة الحرف بناءً على' مسافة التحرير ليفنشتاين ' مسافة. يقوم عادةً بالعثور على الفرق بين المصطلحات وإرجاع النتيجة في مستند أقرب أو مشابه تقريبًا للمصطلح الذي تم البحث عنه.







ما هو الاستعلام 'المطابقة'؟

ال ' مباراة 'الاستعلام هو نوع آخر من استعلام DSL يُستخدم لمطابقة البيانات المحددة أو البحث فيها مثل السلسلة أو الرقم أو النص. إنها ' نص كامل 'استعلام قائم على النص وإجراء بحث عن النص الكامل وإرجاع النتائج التي تتطابق تمامًا مع المصطلح الذي تم البحث عنه. إذا كان المصطلح لا يتطابق مع مصطلح البحث فإنه سيتم إرجاع سلسلة فارغة أو خطأ.



الفرق بين الاستعلام 'الغامض' و'المطابقة'.

كلاهما ' أجعد ' و ' مباراة يتم استخدام الاستعلامات لأغراض البحث. يتمثل الاختلاف الرئيسي بين هذين الاستعلامين في أن الاستعلام 'الغامض' يقوم بإجراء بحث غامض ويعرض نتيجة مشابهة للمصطلح الذي تم البحث عنه أو قريبة منه. وفي المقابل، يقوم الاستعلام 'مطابقة' بإرجاع النتائج التي تطابق تمامًا المصطلح الذي تم البحث عنه.



لفهم أفضل، اتبع الأمثلة الواردة أدناه:





المثال 1: البحث الغامض باستخدام الاستعلام 'الغامض'.

لنفترض أن المستخدم يريد العثور على المستند الذي يحتوي على ' تعيين 'القيمة كـ' مؤلف '. لنجري بحثًا للعثور على تطابق أقرب. للقيام بذلك، استخدم ' أجعد ' استعلام للبحث في مستند يحتوي على ' تعيين 'قيمة تساوي أو أقرب إلى' مؤلف ':

احصل على لينكسهينت / _يبحث

{

'استفسار' : {

'أجعد' : {

'تعيين' : 'مؤلف'

}

}

}

يوضح الإخراج أدناه أن المستند الذي يحتوي على المعرف ' 1 ' لديه ' تعيين 'قيمة قريبة من' مؤلف ' مصطلح البحث:



ولكن إذا تم تطبيق المثال أعلاه بواسطة ' مباراة 'الاستعلام، فإنه سيتم إرسال' سلسلة فارغة ' حيث تقوم بإرجاع مصطلح المطابقة التامة.

المثال 2: بحث غامض باستخدام استعلام 'مطابقة'.

لنأخذ نفس المثال ونطبق ' مباراة ' استعلام للعثور على المستند الذي يحتوي على ' تعيين 'القيمة كـ' مؤلف ':

احصل على لينكسهينت / _يبحث

{

'استفسار' : {

'مباراة' : {

'تعيين' : 'مؤلف'

}

}

}

يوضح الناتج أدناه أن ' مباراة 'الاستعلام لا يجد نتائج أقرب ويقوم بإرجاع' باطل ' خيط:

دعونا نعدل القيمة التي تم البحث عنها من ' مؤلف ' ل ' مؤلف ' وقم بتشغيل ' مباراة 'الاستعلام كما هو موضح أدناه:

احصل على لينكسهينت / _يبحث

{

'استفسار' : {

'مباراة' : {

'تعيين' : 'مؤلف'

}

}

}

وهنا يمكنك مشاهدة ' مباراة 'يُرجع الاستعلام المستند الذي يحتوي على المعرف' 1 '. لأن المستند 1 يتطابق تمامًا مع المصطلحات التي تم البحث عنها:

هذا هو كل شيء عن الفرق بين ' أجعد 'الاستعلام و' مباراة ' استفسار.

خاتمة

ال ' أجعد يتم استخدام الاستعلام لإجراء بحث غامض وإرجاع النتائج التي تتطابق بشكل وثيق مع المصطلح الذي تم البحث عنه. ومع ذلك، ' مباراة 'لا يدعم الاستعلام البحث الغامض ويعرض النتائج التي تتطابق تمامًا مع المصطلح الذي تم البحث عنه. لقد أوضحت هذه المدونة الفرق بين الاستعلام الغامض واستعلام المطابقة.