جدولة مفهرس في Azure الذكاء الاصطناعي Search

يمكن تكوين المفهرسات للتشغيل على جدول عند تعيين الخاصية schedule . تتضمن بعض الحالات التي تكون فيها جدولة المفهرس مفيدة ما يلي:

  • تتغير بيانات المصدر بمرور الوقت، وتريد أن يقوم المفهرس بمعالجة الفرق تلقائيا.
  • بيانات المصدر كبيرة جدا، وتحتاج إلى جدول زمني متكرر لفهرسة كل المحتوى.
  • يتم ملء الفهرس من مصادر متعددة، باستخدام مفهرسات متعددة، وتريد تقسيم المهام لتقليل التعارضات.

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

بمجرد أن يكون المفهرس على جدول زمني، يبقى على الجدول حتى تقوم بإلغاء تحديد الفاصل الزمني أو وقت البدء، أو تعيينه disabled إلى صحيح. لن يؤثر ترك المفهرس على جدول زمني عندما لا يوجد شيء لمعالجته على أداء النظام. يعد التحقق من المحتوى الذي تم تغييره عملية سريعة نسبيا.

المتطلبات الأساسية

  • مفهرس صالح تم تكوينه باستخدام مصدر بيانات وفهرس.

  • تغيير الكشف في مصدر البيانات. يحتوي Azure Storage وSharePoint على اكتشاف تغيير مضمن. يجب تمكين مصادر البيانات الأخرى، مثل Azure SQL وAzure Cosmos DB يدويا.

تعريف الجدول الزمني

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

الخاصية ‏‏الوصف
"الفاصل الزمني" (مطلوب) مقدار الوقت بين بداية تنفيذي مفهرسين متتاليين. أصغر فاصل زمني مسموح به هو 5 دقائق، والأطول هو 1440 دقيقة (24 ساعة). يجب تنسيقه كقيمة XSD "dayTimeDuration" (مجموعة فرعية مقيدة لقيمة مدة ISO 8601).

نمط هذا هو: P(nD)(T(nH)(nM)).

أمثلة: PT15M لكل 15 دقيقة، PT2H لكل ساعتين.
"وقت البدء" (اختياري) يتم تحديد وقت البدء بالتوقيت العالمي المنسق (UTC). إذا تم حذفه، يتم استخدام الوقت الحالي. يمكن أن يكون هذا الوقت في الماضي، وفي هذه الحالة تتم جدولة التنفيذ الأول كما لو كان المفهرس يعمل بشكل مستمر منذ وقت البدء الأصلي.

المثال التالي هو جدول يبدأ في 1 يناير عند منتصف الليل ويعمل كل ساعتين.

{
    "dataSourceName" : "hotels-ds",
    "targetIndexName" : "hotels-idx",
    "schedule" : { "interval" : "PT2H", "startTime" : "2024-01-01T00:00:00Z" }
}

تكوين جدول زمني

يتم تحديد الجداول الزمنية في تعريف المفهرس. لإعداد جدول زمني، يمكنك استخدام مدخل Microsoft Azure أو واجهات برمجة تطبيقات REST أو Azure SDK.

  1. سجل الدخول إلى مدخل Microsoft Azure وافتح صفحة خدمة البحث.
  2. في جزء التنقل الأيمن، حدد Indexers.
  3. افتح مفهرس.
  4. حدد الإعدادات.
  5. قم بالتمرير لأسفل وصولا إلى الجدول الزمني، ثم اختر كل ساعة أو يوميا أو مخصص لتعيين تاريخ أو وقت أو فاصل زمني مخصص معين.

قم بالتبديل إلى علامة التبويب Indexer Definition (JSON) في أعلى الفهرس لعرض تعريف الجدول بتنسيق XSD.

سلوك الجدولة

بالنسبة إلى الفهرسة المستندة إلى النص، يمكن للمجدول بدء العديد من مهام المفهرس كما تدعم خدمة البحث، والتي يحددها عدد وحدات البحث. على سبيل المثال، إذا كانت الخدمة تحتوي على ثلاث نسخ متماثلة وأربعة أقسام، يمكن أن يكون لديك 12 وظيفة مفهرس في التنفيذ النشط، سواء تم البدء عند الطلب أو على جدول زمني.

تعمل المفهرسات المستندة إلى المهارات في بيئة تنفيذ مختلفة. لهذا السبب، لا يؤثر عدد وحدات الخدمة على عدد وظائف المفهرس المستندة إلى المهارات التي يمكنك تشغيلها. يمكن تشغيل المفهرسات المتعددة المستندة إلى المهارات بالتوازي، ولكن القيام بذلك يعتمد على توفر العقدة داخل بيئة التنفيذ.

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

دعونا ننظر في مثال لجعل هذا أكثر واقعية. لنفترض أننا قمنا بتكوين جدول مفهرس بفاصل زمني كل ساعة ووقت بدء من 1 يناير 2024 في الساعة 8:00:00 صباحا بالتوقيت العالمي المتفق عليه. إليك ما يمكن أن يحدث عندما يستغرق تشغيل المفهرس وقتا أطول من ساعة:

  • يبدأ تنفيذ المفهرس الأول في 1 يناير 2024 أو حواليه في الساعة 8:00 صباحا بالتوقيت العالمي المتفق عليه. افترض أن هذا التنفيذ يستغرق 20 دقيقة (أو أي مقدار من الوقت أقل من ساعة واحدة).

  • يبدأ التنفيذ الثاني في 1 يناير 2022 أو حوالي 9:00 صباحا بالتوقيت العالمي المتفق عليه. لنفترض أن هذا التنفيذ يستغرق 70 دقيقة - أكثر من ساعة - ولن يكتمل حتى الساعة 10:10 صباحا بالتوقيت العالمي المتفق عليه.

  • من المقرر أن يبدأ التنفيذ الثالث في الساعة 10:00 صباحا بالتوقيت العالمي المتفق عليه، ولكن في ذلك الوقت لا يزال التنفيذ السابق قيد التشغيل. ثم يتم تخطي هذا التنفيذ المجدول. لن يبدأ التنفيذ التالي للمفهرس حتى الساعة 11:00 صباحا بالتوقيت العالمي المتفق عليه.

إشعار

إذا تم تعيين مفهرس إلى جدول زمني معين ولكنه فشل بشكل متكرر في المستند نفسه في كل مرة، فسيبدأ المفهرس في العمل على فاصل زمني أقل تكرارا (حتى الحد الأقصى للفاصل الزمني مرة واحدة على الأقل كل ساعتين أو 24 ساعة، اعتمادا على عوامل التنفيذ المختلفة) حتى يحرز تقدما بنجاح مرة أخرى. إذا كنت تعتقد أنك قمت بإصلاح أي مشكلة أساسية، يمكنك تشغيل المفهرس يدويا، وإذا نجحت الفهرسة، فسيعود المفهرس إلى جدوله الزمني العادي.

الخطوات التالية

بالنسبة للمفهرسات التي تعمل على جدول زمني، يمكنك مراقبة العمليات عن طريق استرداد الحالة من خدمة البحث، أو الحصول على معلومات مفصلة عن طريق تمكين تسجيل الموارد.