يبحث مستخدم في كتالوجك العربي عن منتج موجود قطعاً، فلا يحصل على شيء. ويفترض الفريق خطأً في طبقة الاستعلام. وغالباً ليس كذلك — بل لأن العربية تكتب الكلمة الواحدة بصور عدة، ومحرك بحث مضبوط للإنجليزية يعاملها ككلمات مختلفة.
الإجابة المختصرة: البحث العربي يفشل بلا توحيد (normalisation). صور الألف والتاء المربوطة والتشكيل كلها تنتج نصاً متشابهاً بصرياً يُقارَن كغير متساوٍ. وحّد المحتوى المفهرس والاستعلام معاً، فتظهر معظم النتائج «المفقودة».
هذا الدليل يشرح ما توحّده وكيف. أما للنطاق الأوسع، فراجع الدليل الكامل لتعريب التطبيقات والمواقع.
لماذا تفشل المطابقة الحرفية
أربع خصائص للعربية المكتوبة تكسر البحث الساذج.
1. صور الألف. لحرف الألف صور عدة — ا وأ وإ وآ — ويستخدمها الكتّاب بلا اتساق. فمن يبحث عن احمد لن يطابق محتوى مخزّناً كـأحمد بلا توحيد. وهذا أشيع سبب منفرد للنتائج المفقودة.
2. التاء المربوطة والهاء. الـة في آخر الكلمة تُكتب كثيراً ه. فـمدرسة ومدرسه كلمة واحدة للقارئ ونصّان مختلفان لقاعدة البيانات.
3. التشكيل. علامات مثل الفتحة والضمة اختيارية. والمحتوى المُدخَل بها لن يطابق استعلاماً كُتب بدونها، والمستخدمون لا يكتبونها تقريباً أبداً.
4. الألف المقصورة والياء. الـى والـي في آخر الكلمة يتبادلهما كثير من الكتّاب — على مقابل علي.
والنتيجة: الكلمة العربية الواحدة قد يكون لها أربع صور مكتوبة أو أكثر، كلها تبدو صحيحة للقارئ. والمطابقة الحرفية تجد واحدة منها.
التوحيد: الإصلاح الجوهري
التوحيد يعني تحويل النص إلى صورة قياسية قبل المقارنة. طبّقه على المحتوى المفهرس وعلى الاستعلامات الواردة معاً — فتوحيد جانب واحد لا يحقق شيئاً.
مجموعة التحويلات القياسية:
function normalizeArabic(text) {
return text
// التشكيل — يُزال كلياً
.replace(/[ً-ٰٟ]/g, "")
// التطويل (الكشيدة)، حرف زخرفي
.replace(/ـ/g, "")
// صور الألف ← ألف مجردة
.replace(/[آأإ]/g, "ا")
// التاء المربوطة ← هاء
.replace(/ة/g, "ه")
// الألف المقصورة ← ياء
.replace(/ى/g, "ي")
// صور الهمزة على الواو والياء
.replace(/ؤ/g, "و")
.replace(/ئ/g, "ي")
.trim();
}
خزّن الصورة الموحّدة إلى جانب الأصلية. اعرض الأصلية للمستخدمين — فالنص الموحّد يبدو خاطئاً بشكل خفي — لكن ابحث في العمود الموحّد.
ولا توحّد كل شيء. الأسماء والنصوص القانونية والمحتوى الديني قد تحتاج صورها الدقيقة محفوظة. فالتوحيد لفهرس البحث لا لمصدر حقيقتك.
دع محرك البحث يتولى ذلك
التوحيد المكتوب يدوياً يعمل للحالات البسيطة، لكن كل محرك بحث جاد يملك دعماً عربياً مدمجاً — ويتعامل مع التجذير (stemming) الذي لا تستطيعه التعبيرات النمطية.
Elasticsearch / OpenSearch:
{
"analysis": {
"analyzer": {
"arabic_search": {
"tokenizer": "standard",
"filter": ["lowercase", "arabic_normalization", "arabic_stem"]
}
}
}
}
مرشّح arabic_normalization يعالج صور الحروف أعلاه. وarabic_stem يردّ الكلمات لجذرها، فيطابق البحث عن كتاب أيضاً الكتاب وكتب.
و PostgreSQL يملك إعداد بحث نصي عربياً، وunaccent يعالج التشكيل. والبحث النصي الكامل بالإعداد الصحيح يتفوق على LIKE '%term%' بفارق كبير في الدقة والسرعة معاً.
وخدمات البحث المُدارة (Algolia وTypesense وMeilisearch) تعالج التوحيد العربي بالإعداد لا بالكود عموماً. فإن كان البحث مهماً لمنتجك ولا تشغّل Elasticsearch أصلاً، فهي عادةً جواب أفضل من بنائه بنفسك.
التجذير وأداة التعريف
العربية غنية صرفياً — السوابق واللواحق تلتصق بالكلمات مباشرة، وهذا يهزم مطابقة النصوص الجزئية.
وأداة التعريف ال أشيع الحالات. فـالكتاب وكتاب يجب أن يتطابقا. والتجذير يعالج هذا؛ والمطابقة الساذجة لا.
والسوابق واللواحق تتراكم: كلمة وبالكتاب تحوي حرف العطف و وحرف الجر ب وأداة التعريف ال والاسم. القارئ يحلّلها فوراً؛ والبحث الجزئي لا.
والإرشاد العملي: استخدم محلّلاً صحيحاً بتجذير بدل كتابة قواعد لحذف السوابق. فالقواعد اليدوية تحذف أكثر مما ينبغي — وإزالة ال من كلمة تبدأ بهذين الحرفين أصلاً تنتج مطابقات خاطئة، والفشل صامت.
الاستعلامات المختلطة عربي/إنجليزي
المستخدمون يخلطون الأبجديات بحرية، خصوصاً للمصطلحات التقنية والعلامات التجارية. فقد يكون الاستعلام الواحد افضل laptop للبرمجة.
وهذا يتطلب ثلاثة أمور:
فهرسة الأبجديتين في الحقل نفسه. فتقسيم العربية والإنجليزية إلى حقلين منفصلين يعني أن الاستعلام المختلط لا يطابق أياً منهما جيداً.
الوعي بالنقحرة. المستخدمون يبحثون عن آيفون وiPhone بالتبادل. فإن كان كتالوجك يخزّن صورة واحدة، أعادت الأخرى لا شيء. وللعلامات التجارية وأسماء المنتجات، خزّن الصورتين كأسماء بديلة قابلة للبحث.
ولا تفترض أن تصغير الأحرف بلا أثر على العربية فتحذفه. هو غير مؤثر على العربية نفسها لكنه ضروري للنص اللاتيني المُضمَّن، فأبقِه في سلسلة المرشّحات.
الترتيب والصلة
الحصول على المطابقات نصف الأمر؛ وترتيبها منطقياً هو النصف الآخر.
المطابقة التامة يجب أن تتقدم على المطابقة المجذّرة. فمن يبحث عن اسم منتج بعينه يتوقعه أولاً، لا عنصراً مرتبطاً صرفياً.
رجّح الحقول بأوزان مختلفة. فمطابقة العنوان أهم من مطابقة الوصف. ومعظم محركات البحث تدعم ترجيح الحقول.
عالج النتيجة الفارغة كما ينبغي. أخطاء الكتابة العربية شائعة — وتخطيط لوحة مفاتيح غير مألوف ينتج أخطاء تختلف عن الإنجليزية. والمطابقة التقريبية بمسافة تحرير صغيرة، مع اقتراح «هل تقصد»، تحوّل الطرق المسدودة إلى نتائج.
وسجّل الاستعلامات التي لا تعيد شيئاً. هذا أنفع تشخيص منفرد تستطيع إضافته للبحث. فاستعلامات النتيجة الصفرية تخبرك تحديداً بما يفوته توحيدك، وبالمحتوى الذي يتوقعه المستخدمون ولا تملكه.
الاختبار
ابنِ مجموعة اختبار من لغة المستخدمين الحقيقية لا من كتابتك أنت:
- الكلمة نفسها بتشكيل وبدونه
- كل صورة ألف لمصطلح شائع
- نهايات
ةمقابله - بأداة التعريف وبدونها
- عربية وإنجليزية مختلطتان في استعلام واحد
- الأخطاء الإملائية الشائعة من سجل نتائجك الصفرية
وأتمت هذه كاختبارات انحدار. فإعداد البحث سهل الكسر أثناء ترحيل الفهرس، والكسر صامت — لا شيء يُخطئ، النتائج تسوء فقط.
اقرأ أيضاً
- الدليل الكامل لتعريب التطبيقات والمواقع — طبقات التعريب الست.
- الأرقام والعملات والصيغ — الأرقام في الاستعلامات والنتائج.
- RTL في CSS — عرض النتائج بشكل صحيح.
- SEO مقابل GEO — كيف يختلف سلوك البحث العربي على الويب المفتوح.
- تكلفة المتجر الإلكتروني في السعودية — حيث يكون بحث المنتجات أهم ما يكون.
الأسئلة الشائعة
لماذا يُغفل بحثي العربي نتائج بديهية؟
غياب التوحيد دائماً تقريباً. للعربية صور مكتوبة متعددة للكلمة الواحدة — صور الألف مثل أ وا، والتاء المربوطة مقابل الهاء، والتشكيل الاختياري. وبلا توحيد فهرسك والاستعلام الوارد معاً، تُقارَن هذه كنصوص مختلفة رغم أن القارئ يرى الكلمة نفسها.
ما هو توحيد النص العربي؟
تحويل النص لصورة قياسية قبل المقارنة: إزالة التشكيل والتطويل، وتوحيد صور الألف إلى ألف مجردة، وتحويل التاء المربوطة إلى هاء، والألف المقصورة إلى ياء. طبّقه على المحتوى المفهرس والاستعلامات معاً — فتوحيد جانب واحد لا يحقق شيئاً.
أكتب توحيدي بنفسي أم أستخدم محرك بحث؟
استخدم الدعم العربي المدمج في محرك البحث. فمرشّحا arabic_normalization وarabic_stem في Elasticsearch يعالجان صور الحروف والصرف، والتجذير شيء لا تستطيعه التعبيرات النمطية كما ينبغي. والقواعد اليدوية لحذف السوابق تحذف أكثر مما ينبغي وتفشل بصمت.
كيف أتعامل مع أداة التعريف في البحث؟
استخدم مجذّراً صحيحاً بدل حذف ال بنفسك. فالتجذير يردّ الكلمات لجذرها فيتطابق الكتاب وكتاب، ويعالج السوابق المتراكمة مثل وبالكتاب التي تخطئ فيها القواعد الساذجة. والحذف اليدوي يزيل هذين الحرفين من كلمات تبدأ بهما أصلاً.
كيف أدعم الاستعلامات المختلطة عربي/إنجليزي؟
افهرس الأبجديتين في الحقل نفسه لا في حقلين، وأبقِ تصغير الأحرف في سلسلة المرشّحات للجزء اللاتيني، وخزّن أسماء نقحرة بديلة للعلامات التجارية وأسماء المنتجات ليطابق آيفون وiPhone معاً. فالمستخدمون يخلطون الأبجديات باستمرار، خصوصاً في المصطلحات التقنية.
هل يكفي البحث النصي في PostgreSQL للعربية؟
للكتالوجات المتوسطة نعم — فـPostgreSQL يملك إعداد بحث نصي عربياً وunaccent للتشكيل، ويتفوق كثيراً على LIKE '%term%' في الدقة والسرعة. أما للكتالوجات الكبيرة أو المنتجات التي يكون البحث محورياً فيها، فمحرك مخصص يعطي ضبط صلة أفضل.
ما أنفع شيء أضيفه للبحث العربي؟
تسجيل الاستعلامات التي تعيد صفر نتائج. يخبرك تحديداً بحالات التوحيد التي تفوتك، وبالمحتوى الذي يتوقعه المستخدمون ولا تملكه. وهو بضعة أسطر من الكود، وأعلى تشخيص قيمةً للبحث باستمرار.
الخلاصة
التوحيد هو الإصلاح لمعظم شكاوى البحث العربي. فصور الألف وحدها تفسّر حصة كبيرة من «المنتج موجود لكن البحث لا يجده».
واستخدم المحلّل العربي في محرك البحث لا التعبيرات النمطية. فالتجذير لا يقل أهمية عن توحيد الحروف، والقواعد اليدوية تفشل بصمت بطرق يصعب ملاحظتها.
وسجّل استعلاماتك ذات النتيجة الصفرية. أرخص تشخيص متاح، ويخبرك بما يكتبه مستخدموك فعلاً، وهو نادراً ما يطابق افتراضات الفريق.
تبني بحثاً عربياً؟ تواصل معنا — نبني بالعربية أولاً، ما يعني بحثاً يعمل من الإصدار الأول لا الثالث. اطّلع على خدمات تطوير الويب.