جدولة مفهرس في البحث المعرفي في Azure

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

  • تتغير بيانات المصدر بمرور الوقت، وتريد أن يقوم المفهرس بمعالجة الفرق تلقائيا.

  • يتم تعبئة فهرس بحث من مصادر بيانات متعددة، وتريد ترتيب مهام المفهرس لتقليل التعارضات.

  • بيانات المصدر كبيرة جدا وتريد نشر معالجة المفهرس بمرور الوقت.

    تخضع وظائف المفهرس لوقت تشغيل أقصى يبلغ 24 ساعة لمصادر البيانات العادية و 2 ساعة للمفهرسين ذوي المهارات المهارات. إذا تعذر إكمال الفهرسة خلال الفاصل الزمني الأقصى، فيمكنك تكوين جدول زمني يعمل كل 2 ساعة. يمكن للمفهرسين المتابعة تلقائيا من حيث توقفوا، استنادا إلى علامة مائية داخلية عالية تحدد المكان الذي انتهت فيه الفهرسة آخر مرة. يسمح تشغيل مفهرس على جدول زمني متكرر مدته ساعتان بمعالجة مجموعة بيانات كبيرة جدا (عدة ملايين من المستندات) تتجاوز الفاصل الزمني 24 المسموح به لوظيفة واحدة. لمزيد من المعلومات حول فهرسة وحدات تخزين البيانات الكبيرة، راجع كيفية فهرسة مجموعات البيانات الكبيرة في Azure Cognitive Search.

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

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

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

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

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

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

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

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

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

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

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

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

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

سلوك الجدولة

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

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

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

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

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

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

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

ملاحظة

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

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

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