
ما هي عمليات البحث عن النص الكامل FULLTEXT في MySQL؟
البحث عن النص الكامل هو تقنية تُمكّنك من البحث عن السجلات التي قد لا تُطابق معايير البحث تمامًا. تُجرى عمليات البحث عن النص الكامل في MySQL عند استخدام فهارس مُحددة، وتتميز هذه الفهارس بخصائص فريدة، منها ما يلي:
- لكي يُعتبر الفهرس فهرسًا للنص الكامل، يجب أن يكون من نوع FULLTEXT
- لا يُمكن استخدام فهارس FULLTEXT إلا على الجداول التي تُشغّل محركات التخزين InnoDB أو MyISAM.
- لا يُمكن إنشاء فهارس FULLTEXT إلا لأعمدة CHAR أو VARCHAR أو TEXT.
- لا تُستخدم فهارس FULLTEXT إلا عند استخدام جملة MATCH() AGAINST().
- لعمليات البحث عن النص الكامل ثلاثة أوضاع: وضع اللغة الطبيعية، ووضع القيمة المنطقية، ووضع توسيع الاستعلام.
فهرس FULLTEXT هو نوع خاص من الفهارس يبحث عن الكلمات المفتاحية في النص بدلاً من مُقارنة القيم بالقيم الموجودة في الفهرس. على الرغم من أن البحث عن FULLTEXT يختلف عن أنواع المطابقة الأخرى، إلا أنه يجب ملاحظة أنه يمكنك الحصول على فهرس BTREE وفهرس FULLTEXT في نفس العمود في نفس الوقت - ولن يتعارضا لأنهما مناسبان لأغراض مختلفة.
أنواع البحث عن النص الكامل
عند إجراء عمليات بحث نصية كاملة في MySQL، تذكّر أن هناك ثلاثة أنواع بحث للاختيار من بينها:
- نوع بحث باللغة الطبيعية - يُفسّر هذا الوضع البحث على أنه عبارة حرفية. يُفعّل افتراضيًا في حال عدم تحديد مُعدّل أو عند تحديد مُعدّل "في وضع اللغة الطبيعية".
- نوع بحث توسيع الاستعلام - يُجري هذا الوضع البحث مرتين. عند البحث للمرة الثانية، تتضمن مجموعة النتائج بعض المستندات الأكثر صلة من البحث الأول. يُفعّل باستخدام مُعدّل "توسيع الاستعلام مع".
- نوع بحث منطقي - يتيح هذا الوضع البحث عن استعلامات معقدة قد تتضمن معاملات منطقية مثل معاملات أقل من ("<") وأكثر من (">")، والتعبيرات الفرعية ("(" و ")")، وعلامة الجمع (+)، وعلامة الطرح (-)، وعلامتي الاقتباس المزدوجتين ("")، ومعامل يُقلل من مساهمة القيمة في النتائج (~)، ومعامل البدل (*). يسمح هذا المعامل بالبحث باستخدام المطابقة التقريبية (على سبيل المثال، "demo*" يُطابق أيضًا "demonstration"). يتم التمكين باستخدام مُعدّل الوضع المنطقي IN.
المقال مترجم وله بقية لذلك الرابط بالأسفل مصدر المقالة لأهميتها وفائدتها


