الإثراء التدريجي والتخزين المؤقت في البحث المعرفي في Azure
هام
هذه الميزة في المعاينة العامة بموجب شروط الاستخدام التكميلية. تدعم واجهة برمجة تطبيقات REST للمعاينة هذه الميزة.
يشير الإثراء التدريجي إلى استخدام الإثراءات المخزنة مؤقتا أثناء تنفيذ مجموعة المهارات بحيث لا تتحمل سوى المهارات والمستندات الجديدة والمتغيرة معالجة الذكاء الاصطناعي. تحتوي ذاكرة التخزين المؤقت على مخرجات تكسير المستند، بالإضافة إلى مخرجات كل مهارة لكل مستند. على الرغم من أن التخزين المؤقت قابل للفوترة (يستخدم Azure Storage)، إلا أن التكلفة الإجمالية للتخصيب تنخفض لأن تكاليف التخزين أقل من استخراج الصور ومعالجة الذكاء الاصطناعي.
عند تمكين التخزين المؤقت، يقوم المفهرس بتقييم التحديثات لتحديد ما إذا كان يمكن سحب الإثراءات الموجودة من ذاكرة التخزين المؤقت أم لا. من المرجح أن يكون محتوى الصورة والنص من مرحلة تكسير المستند، بالإضافة إلى مخرجات المهارات التي تكون في المنبع أو متعامدة مع عمليات التحرير الخاصة بك، قابلة لإعادة الاستخدام.
بعد إجراء الإثراءات الإضافية كما هو موضح في تحديث مجموعة المهارات ، تتم كتابة النتائج المحدثة مرة أخرى إلى ذاكرة التخزين المؤقت ، وكذلك إلى فهرس البحث أو مخزن المعارف.
تكوين ذاكرة التخزين المؤقت
فعليا، يتم تخزين ذاكرة التخزين المؤقت في حاوية blob في حساب Azure Storage الخاص بك، واحد لكل مفهرس. يتم تعيين معرف ذاكرة تخزين مؤقت فريد وغير قابل للتغيير لكل مفهرس يتوافق مع الحاوية التي يستخدمها.
يتم إنشاء ذاكرة التخزين المؤقت عند تحديد خاصية "ذاكرة التخزين المؤقت" وتشغيل المفهرس. يمكن تخزين المحتوى المخصب فقط. إذا لم يكن لدى المفهرس الخاص بك مجموعة مهارات مرفقة ، فلن يتم تطبيق التخزين المؤقت.
يوضح المثال التالي مفهرسا مع تمكين التخزين المؤقت. راجع تمكين التخزين المؤقت للإثراءات للحصول على التعليمات الكاملة. لاحظ أنه عند إضافة خاصية ذاكرة التخزين المؤقت ، استخدم إصدار معاينة API ، 2020-06-30-Preview أو إصدار أحدث ، بناء على الطلب.
POST https://[search service name].search.windows.net/indexers?api-version=2020-06-30-Preview
{
"name": "myIndexerName",
"targetIndexName": "myIndex",
"dataSourceName": "myDatasource",
"skillsetName": "mySkillset",
"cache" : {
"storageConnectionString" : "<Your storage account connection string>",
"enableReprocessing": true
},
"fieldMappings" : [],
"outputFieldMappings": [],
"parameters": []
}
إدارة ذاكرة التخزين المؤقت
تتم إدارة دورة حياة ذاكرة التخزين المؤقت بواسطة المفهرس. إذا تم حذف مفهرس، حذف ذاكرة التخزين المؤقت الخاصة به أيضا. إذا تم تعيين الخاصية "ذاكرة التخزين المؤقت" على المفهرس إلى فارغة أو تم تغيير سلسلة الاتصال، يتم حذف ذاكرة التخزين المؤقت الموجودة في تشغيل المفهرس التالي.
على الرغم من أن الإثراء التدريجي مصمم للكشف عن التغييرات والاستجابة لها دون تدخل من جانبك، إلا أن هناك معلمات يمكنك استخدامها لاستدعاء سلوكيات محددة:
- تحديد أولويات المستندات الجديدة
- تجاوز شيكات المهارات
- تجاوز عمليات التحقق من مصدر البيانات
- تقييم مجموعة مهارات القوة
تحديد أولويات المستندات الجديدة
تتضمن الخاصية "ذاكرة التخزين المؤقت" معلمة "enableReprocessing". يتم استخدامه للتحكم في معالجة المستندات الواردة الممثلة بالفعل في ذاكرة التخزين المؤقت. عندما تكون صحيحة (افتراضية)، تتم إعادة معالجة المستندات الموجودة بالفعل في ذاكرة التخزين المؤقت عند إعادة تشغيل المفهرس، على افتراض أن تحديث مهاراتك يؤثر على هذا المستند.
عندما تكون خاطئة، لا تتم إعادة معالجة المستندات الموجودة، مما يعطي الأولوية بشكل فعال للمحتوى الجديد الوارد على المحتوى الموجود. يجب عليك فقط تعيين "تمكين إعادة المعالجة" إلى false على أساس مؤقت. إن تعيين "enableReprocessing" إلى true معظم الوقت يضمن أن جميع المستندات ، الجديدة والحالية على حد سواء ، صالحة وفقا لتعريف مجموعة المهارات الحالي.
تجاوز تقييم مجموعة المهارات
عادة ما يسير تعديل مهارة وإعادة معالجة هذه المهارة جنبا إلى جنب. ومع ذلك، يجب ألا تؤدي بعض التغييرات التي تطرأ على مهارة ما إلى إعادة المعالجة (على سبيل المثال، نشر مهارة مخصصة في موقع جديد أو باستخدام مفتاح وصول جديد). على الأرجح ، هذه تعديلات هامشية ليس لها تأثير حقيقي على جوهر ناتج المهارة نفسه.
إذا كنت تعرف أن التغيير في المهارة سطحي بالفعل ، فيجب عليك تجاوز تقييم المهارة عن طريق تعيين المعلمة "disableCacheReprocessingChangeDetection" إلى true:
- اتصل بمجموعة مهارات التحديث وقم بتعديل تعريف مجموعة المهارات.
- إلحاق المعلمة "disableCacheReprocessingChangeDetection=true" على الطلب.
- أرسل التغيير.
يضمن تعيين هذه المعلمة الالتزام فقط بتحديثات تعريف مجموعة المهارات وعدم تقييم التغيير للتأثيرات على ذاكرة التخزين المؤقت الموجودة. استخدم إصدار واجهة برمجة تطبيقات المعاينة، 2020-06-30-Preview أو إصدار أحدث.
PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2020-06-30-Preview
{
"disableCacheReprocessingChangeDetection" : true
}
تجاوز عمليات التحقق من صحة مصدر البيانات
ستؤدي معظم التغييرات التي تطرأ على تعريف مصدر البيانات إلى إبطال ذاكرة التخزين المؤقت. ومع ذلك، بالنسبة للسيناريوهات التي تعرف فيها أن التغيير يجب ألا يبطل ذاكرة التخزين المؤقت - مثل تغيير سلسلة اتصال أو تدوير المفتاح على حساب التخزين - قم بإلحاق المعلمة "ignoreResetRequirements" في تحديث مصدر البيانات. يسمح تعيين هذه المعلمة إلى true للالتزام بالمرور ، دون تشغيل حالة إعادة تعيين من شأنها أن تؤدي إلى إعادة بناء جميع الكائنات وتعبئتها من الصفر.
PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2020-06-30-Preview
{
"ignoreResetRequirement" : true
}
تقييم مجموعة مهارات القوة
الغرض من ذاكرة التخزين المؤقت هو تجنب المعالجة غير الضرورية ، ولكن لنفترض أنك قمت بإجراء تغيير على مهارة لا يكتشفها المفهرس (على سبيل المثال ، تغيير شيء ما في التعليمات البرمجية الخارجية ، مثل مهارة مخصصة).
في هذه الحالة، يمكنك استخدام "مهارات إعادة التعيين " لفرض إعادة معالجة مهارة معينة، بما في ذلك أي مهارات في المراحل النهائية تعتمد على مخرجات تلك المهارة. تقبل واجهة برمجة التطبيقات هذه طلب POST مع قائمة بالمهارات التي يجب إبطالها ووضع علامة عليها لإعادة المعالجة. بعد إعادة تعيين المهارات، اتبع ذلك بطلب تشغيل المفهرس لاستدعاء معالجة خط الأنابيب.
إعادة تخزين مستندات معينة مؤقتا
ستؤدي إعادة تعيين مفهرس إلى إعادة معالجة جميع المستندات الموجودة في مجموعة البحث. في السيناريوهات التي تحتاج فيها إلى إعادة معالجة عدد قليل من المستندات، استخدم إعادة تعيين المستندات (معاينة) لفرض إعادة معالجة مستندات محددة. عند إعادة تعيين مستند، يقوم المفهرس بإبطال ذاكرة التخزين المؤقت لهذا المستند، والتي تتم إعادة معالجتها بعد ذلك عن طريق قراءتها من مصدر البيانات. لمزيد من المعلومات، راجع تشغيل المفهرسات والمهارات والمستندات أو إعادة تعيينها.
لإعادة تعيين مستندات معينة، يوفر الطلب قائمة بمفاتيح المستندات كما تقرأ من فهرس البحث. إذا تم تعيين المفتاح إلى حقل في مصدر البيانات الخارجي، فيجب أن تكون القيمة التي تقدمها هي القيمة المستخدمة في فهرس البحث.
بناء على كيفية استدعاء واجهة برمجة التطبيقات، سيقوم الطلب إما بإلحاق قائمة المفاتيح أو الكتابة فوقها أو وضعها في قائمة انتظار:
يؤدي استدعاء واجهة برمجة التطبيقات عدة مرات باستخدام مفاتيح مختلفة إلى إلحاق المفاتيح الجديدة بقائمة إعادة تعيين مفاتيح المستند.
سيؤدي استدعاء واجهة برمجة التطبيقات باستخدام معلمة سلسلة استعلام "الكتابة فوق" التي تم تعيينها إلى true إلى الكتابة فوق القائمة الحالية لمفاتيح المستندات المراد إعادة تعيينها باستخدام حمولة الطلب.
يؤدي استدعاء واجهة برمجة التطبيقات فقط إلى إضافة مفاتيح المستند إلى قائمة انتظار العمل التي يقوم بها المفهرس. عندما يتم استدعاء المفهرس بعد ذلك، إما كما هو مجدول أو عند الطلب، فإنه سيعطي الأولوية لمعالجة مفاتيح إعادة تعيين المستند قبل أي تغييرات أخرى من مصدر البيانات.
يوضح المثال التالي طلب إعادة تعيين مستند:
POST https://[search service name].search.windows.net/indexers/[indexer name]/resetdocs?api-version=2020-06-30-Preview
{
"documentKeys" : [
"key1",
"key2",
"key3"
]
}
التغييرات التي تبطل صلاحية ذاكرة التخزين المؤقت
بمجرد تمكين ذاكرة التخزين المؤقت، يقوم المفهرس بتقييم التغييرات في تكوين خط الأنابيب لتحديد المحتوى الذي يمكن إعادة استخدامه والمحتوى الذي يحتاج إلى إعادة معالجة. يعدد هذا القسم التغييرات التي تبطل ذاكرة التخزين المؤقت مباشرة، متبوعة بالتغييرات التي تؤدي إلى المعالجة التدريجية.
التغيير المبطل هو التغيير الذي لم تعد فيه ذاكرة التخزين المؤقت بأكملها صالحة. مثال على تغيير إبطال مفعوله هو التغيير الذي يتم فيه تحديث مصدر بياناتك. فيما يلي القائمة الكاملة للتغييرات التي تطرأ على أي جزء من خط أنابيب المفهرس والتي من شأنها إبطال ذاكرة التخزين المؤقت:
- تغيير نوع مصدر البيانات
- تغيير حاوية مصدر البيانات
- تغيير بيانات اعتماد مصدر البيانات
- تغيير نهج الكشف عن تغيير مصدر البيانات
- تغيير سياسة الكشف عن حذف مصدر البيانات
- تغيير تعيينات حقول المفهرس
- تغيير معلمات المفهرس:
- وضع التحليل
- ملحقات أسماء الملفات المستبعدة
- امتدادات أسماء الملفات المفهرسة
- فهرسة البيانات الوصفية لتخزين المستندات كبيرة الحجم فقط
- رؤوس نصوص محددة
- محدد النص المحدد
- جذر المستند
- إجراء الصورة (التغييرات في كيفية استخراج الصور)
التغييرات التي تؤدي إلى المعالجة التزايدية
تقوم المعالجة التزايدية بتقييم تعريف مجموعة المهارات الخاصة بك وتحديد المهارات التي يجب إعادة تشغيلها ، وتحديث الأجزاء المتأثرة من شجرة المستند بشكل انتقائي. فيما يلي القائمة الكاملة للتغييرات التي تؤدي إلى الإثراء التدريجي:
- تغيير نوع المهارة (يتم تحديث نوع OData للمهارة)
- يتم تحديث المعلمات الخاصة بالمهارات، على سبيل المثال عنوان URL أو الإعدادات الافتراضية أو المعلمات الأخرى
- تغييرات مخرجات المهارة، وإرجاع المهارة مخرجات إضافية أو مختلفة
- تغييرات مدخلات المهارات مما أدى إلى أسلاف مختلفين ، وقد تغيرت سلسلة المهارات
- أي إبطال لمهارة المنبع ، إذا تم تحديث مهارة توفر مدخلا لهذه المهارة
- تحديثات لموقع إسقاط مخزن المعرفة، تؤدي إلى إعادة عرض المستندات
- التغييرات التي تطرأ على إسقاطات مخزن المعرفة، وتؤدي إلى إعادة عرض المستندات
- تؤدي تعيينات حقول المخرجات التي تم تغييرها على مفهرس إلى إعادة عرض المستندات على الفهرس
واجهات برمجة التطبيقات المستخدمة للتخزين المؤقت
يوفر إصدار واجهة برمجة تطبيقات REST أو إصدار 2020-06-30-Preview أحدث إثراء تزايديا من خلال خصائص إضافية على المفهرسات. يمكن لمجموعات المهارات ومصادر البيانات استخدام الإصدار المتاح بشكل عام. بالإضافة إلى الوثائق المرجعية، راجع تكوين التخزين المؤقت للإثراء التدريجي للحصول على تفاصيل حول ترتيب العمليات.
تحديث Skillset (api-version=2020-06-30) ( معلمة URI جديدة عند الطلب)
يوفر "مصدر بيانات التحديث"، عند استدعائه باستخدام إصدار واجهة برمجة تطبيقات المعاينة، معلمة جديدة تسمى "ignoreResetRequirement"، والتي يجب تعيينها إلى true عندما لا يؤدي إجراء التحديث إلى إبطال ذاكرة التخزين المؤقت. استخدم "ignoreResetRequirement" بشكل مقتصد لأنه قد يؤدي إلى عدم تناسق غير مقصود في بياناتك لن يتم اكتشافه بسهولة.
الخطوات التالية
الإثراء التدريجي هو ميزة قوية توسع نطاق تتبع التغيير إلى مجموعات المهارات والإثراء الذكاء الاصطناعي. يتيح الإثراء التدريجي إعادة استخدام المحتوى المعالج الحالي أثناء تكرار تصميم مجموعة المهارات. كخطوة تالية، قم بتمكين التخزين المؤقت على المفهرسات.