الأرقام والتواريخ في الاسترجاع تحتاج إلى فحص شروطها، إضافة إلى البحث عن نص قريب من السؤال. يدعم Azure AI Search مقارنات نطاق على حقول ذات أنواع متوافقة؛ ويختلف «أقل من» عن «أقل من أو يساوي». [1] نراجع حدود مدة وتاريخ في بطاقات خيالية، دون الادعاء أن ترتيب التشابه وحده نفذ المقارنة أو أنشأنا استعلاما فعليا.
الخلاصة السريعة
حدد الحقل ووحدته ومعنى الحد، ثم افحص المقارنة المناسبة؛ ظهور الرقم أو قرب النص لا يثبت أن البطاقة داخل النطاق.
- مقارنة النطاق تحتاج حقلا وقيمة متوافقين؛ ميز أقل من عن أقل من أو يساوي، ولا تستبدل ذلك بتشابه النص. [1]
- تحقق أن الحقل يقيس المدة المطلوبة بالدقائق، لا وقت التحضير؛ لا يتجاوز 12 يقبل 8 و12، وأقل من 12 يقبل 8 فقط في مثالنا.
- في مثال التاريخ، حدد هل تقصد قبل بداية اليوم أم حتى نهايته، والمنطقة الزمنية؛ لا تحذف معنى الحد من السؤال.
- لا تملأ القيمة المجهولة بصفر أو تخمين؛ عدم اجتيازها شرط النطاق لا يثبت مدة خارجه أو تاريخا متأخرا. راجع الأصل وسبب عدم الجزم.
ما الذي تريد أن يكون داخل النطاق؟
نصنع ثلاث بطاقات أنشطة، بمدد 8 و12 و20 دقيقة. يريد المستخدم نشاطا «لا يتجاوز 12 دقيقة». نضع المدة في خانة عددية ونثبت أن الوحدة في الثلاث هي الدقيقة؛ لا نخلط مدة 12 ساعة بمدة 12 دقيقة لمجرد تطابق الرقم المكتوب.
تتطلب مقارنات المصدر توافق نوع الحقل والثابت، ومنها حقل التاريخ والوقت مع قيمة تاريخ ووقت مناسبة. [1] هذا شرط في التعبير الذي ينفذ المقارنة. في إعداد حقيقي، نفحص نوع الخانة وإمكان تصفيتها وكيف ملئت؛ كتابة الأرقام داخل وصف طويل لا تحولها تلقائيا إلى حقل مدة موثوق.
هل يقبل الحد بطاقة 12 دقيقة؟
ضمن معطياتنا المعلنة، «لا يتجاوز 12» يشمل بطاقة 12 نفسها، فتبقى بطاقتا 8 و12. أما «أقل من 12» فتبقي 8 فقط. الفرق ليس درجة قرب بين أرقام؛ إنه معنى إدخال الحد أو استبعاده. لا نقترح بطاقة 20 بدلا من ذلك لأنها تتناول النشاط المفضل نفسه.
قد يكون الرقم الموجود في البطاقة وقت إعداد المواد لا وقت النشاط. قبل اعتماد نتيجة، نسأل أي مدة يقصدها المستخدم وأي خانة تقيسها البطاقة. إذا لم نعرف العلاقة، لا نسمي نجاح المقارنة العددية نجاحا في تلبية الطلب؛ فقد قارنا حقلا صحيح النوع لكنه يجيب عن سؤال آخر.
كيف تجعل نهاية اليوم واضحة؟
في مثال منفصل من إعدادنا، يريد المستخدم المواد المعتمدة «حتى نهاية 12 أكتوبر» في منطقة زمنية يحددها. بطاقة اعتماد في منتصف ذلك اليوم تختلف عن بطاقة في 13 أكتوبر. نحتاج تحديد نهاية اليوم المقصودة قبل ترجمة الطلب إلى حد زمني؛ لا نعامل كلمة «حتى» كأنها اسم تاريخ بلا وقت.
ولو كان المطلوب «قبل بداية 12 أكتوبر»، تغيرت مجموعة المقبول. نثبت معنى الحد مع السؤال ومعيار المقارنة، ولا نستبدل تاريخ الاعتماد بتاريخ تحديث الملف إذا كانا مختلفين. هذه أمثلة لقراءة المعنى، وليست إعدادات ساعة أو نتائج بحث نفذناها، ولا قاعدة بأن كل نظام يخزن التواريخ بالطريقة نفسها.
ماذا تفعل عندما تغيب القيمة؟
في الخدمة المذكورة، مقارنة نطاق يكون حقلها null لا ترجع true؛ وتوضح الوثيقة أن null ليس أقل أو أكبر من القيم الأخرى. [1] عدم اجتياز الشرط لا يعني أن المدة المجهولة 20 أو أن التاريخ متأخر؛ يختلف غياب القيمة عن قيمة معلومة خارج النطاق.
نقترح عرض سبب عدم الجزم: «المدة غير مذكورة» أو «نوع التاريخ غير محدد». نراجع السجل الأصلي قبل استكمال الخانة، ونحفظ الوحدة والمنطقة الزمنية ومعنى الحد في الجواب. لم نقس جودة استخراج حقول أو ترتيب متجهات؛ فحص هذه المعطيات يمنع الرقم القريب من أن يحل محل شرط المستخدم.
المصادر ومتابعة القراءة
- Microsoft Learn: OData Comparison Operators (يفتح في نافذة جديدة)learn.microsoft.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
