إنشاء مفهرسات في البحث المعرفي في Azure
يتصل مفهرس البحث بمصدر بيانات خارجي، ويسترد البيانات ويعالجها، ثم يمررها إلى محرك البحث للفهرسة. تدعم المفهرسات عمليتي سير عمل:
الفهرسة المستندة إلى النص واستخراج السلاسل والبيانات الوصفية لسيناريوهات البحث عن النص الكامل.
الذكاء الاصطناعي الفهرسة المثرية، وتطبيق نماذج التعلم الآلي الذكاء الاصطناعي المتكاملة لتحليل المحتوى الذي لا يمكن البحث عنه بطريقة أخرى، مثل الصور والنصوص الكبيرة غير المتمايزة.
استخدام المفهرسات يقلل بشكل كبير من كمية وتعقيد التعليمات البرمجية التي تحتاج إلى كتابتها. تركز هذه المقالة على أساسيات إنشاء مفهرس. استنادا إلى مصدر البيانات وسير العمل، قد يكون من الضروري إجراء المزيد من التكوين.
تعريفات المفهرس
عند إنشاء مفهرس، سيلتزم التعريف بأحد نمطين: الفهرسة المستندة إلى النص أو الإثراء الذكاء الاصطناعي بالمهارات. والفرق الوحيد هو أن المفهرس الذي يستدعي الذكاء الاصطناعي الإثراء لديه المزيد من التعريفات.
تعريف المفهرس للبحث عن النص الكامل
البحث عن النص الكامل هو حالة الاستخدام الأساسية للمفهرسين، وبالنسبة لسير العمل هذا، سيبدو المفهرس مثل هذا المثال.
{
"name": (required) String that uniquely identifies the indexer,
"description": (optional),
"dataSourceName": (required) String indicating which existing data source to use,
"targetIndexName": (required) String indicating which existing index to use,
"parameters": {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": false,
"configuration": {}
},
"fieldMappings": (optional) unless field discrepancies need resolution,
"disabled": null,
"schedule": null,
"encryptionKey": null
}
لدى المفهرسين المتطلبات التالية:
- خاصية "الاسم" التي تحدد بشكل فريد المفهرس في مجموعة المفهرس.
- خاصية "dataSourceName" التي تشير إلى كائن مصدر بيانات. يحدد اتصالا بالبيانات الخارجية.
- خاصية "targetIndexName" تشير إلى فهرس البحث الوجهة.
المعلمات اختيارية وتقوم بتعديل سلوكيات وقت التشغيل، مثل عدد الأخطاء التي يجب قبولها قبل فشل المهمة بأكملها. تتوفر المعلمات أعلاه لجميع المفهرسين ويتم توثيقها في مرجع واجهة برمجة تطبيقات REST.
توفر المفهرسات الخاصة بالمصدر للنقاط SQL وقاعدة بيانات Cosmos معلمات "تكوين" إضافية للسلوكيات الخاصة بالمصدر. على سبيل المثال، إذا كان المصدر هو Blob Storage، فيمكنك تعيين معلمة تقوم بالتصفية على امتدادات الملفات: "parameters" : { "configuration" : { "indexedFileNameExtensions" : ".pdf,.docx" } }.
تستخدم تعيينات الحقول لتعيين الحقول من المصدر إلى الوجهة بشكل صريح إذا كانت هذه الحقول تختلف حسب الاسم أو النوع.
سيتم تشغيل مفهرس على الفور عند إنشائه على خدمة البحث. إذا كنت لا تريد تنفيذ المفهرس، فقم بتعيين "معطل" إلى true.
يمكنك أيضا تحديد جدول زمني أو تعيين مفتاح تشفير للتشفير التكميلي لتعريف المفهرس.
تعريف المفهرس لإثراء الذكاء الاصطناعي
تدفع المفهرسات أيضا الذكاء الاصطناعي الإثراء. تنطبق جميع الخصائص والمعلمات المذكورة أعلاه ، ولكن الخصائص التالية خاصة الذكاء الاصطناعي الإثراء: skillSetName، ، outputFieldMappingscache. تتم إضافة عدد قليل من الخصائص الأخرى المطلوبة والتي تحمل نفس الاسم للسياق.
{
"name": (required) String that uniquely identifies the indexer,
"dataSourceName": (required) String, provides raw content that will be enriched,
"targetIndexName": (required) String, name of an existing index,
"skillsetName" : (required for AI enrichment) String, name of an existing skillset,
"cache": {
"storageConnectionString" : (required if you enable the cache) Connection string to a blob container,
"enableReprocessing": true
},
"parameters": { },
"fieldMappings": (optional) Maps fields in the underlying data source to fields in an index,
"outputFieldMappings" : (required) Maps skill outputs to fields in an index,
}
الذكاء الاصطناعي الإثراء خارج نطاق هذه المقالة. لمزيد من المعلومات، ابدأ بالإثراء الذكاء الاصطناعي، ومجموعات المهارات في البحث المعرفي في Azure، وإنشاء مجموعة مهارات، وتعيين حقول مخرجات الإثراء، وتمكين التخزين المؤقت للإثراء الذكاء الاصطناعي.
المتطلبات الأساسية
حدد مصدر بيانات مدعوما يحتوي على المحتوى الذي تريد استيعابه.
إنشاء مصدر بيانات مفهرس يقوم بإعداد اتصال بالبيانات الخارجية.
إنشاء فهرس بحث يمكنه قبول البيانات الواردة.
كن تحت الحدود القصوى لفئة الخدمة الخاصة بك. تسمح الطبقة المجانية بثلاثة كائنات من كل نوع و 1-3 دقائق من معالجة المفهرس أو 3-10 إذا كان هناك مجموعة مهارات.
إعداد البيانات الخارجية
تعمل المفهرسات مع مجموعات البيانات. عند تشغيل مفهرس، فإنه يتصل بمصدر البيانات الخاص بك، ويسترد البيانات من الحاوية أو المجلد، ويقوم اختياريا بتسلسلها في JSON قبل تمريرها إلى محرك البحث للفهرسة. يصف هذا القسم متطلبات البيانات الواردة للفهرسة المستندة إلى النص.
| بيانات المصدر | المهام |
|---|---|
| مستندات JSON | تأكد من توافق بنية البيانات الواردة أو شكلها مع مخطط فهرس البحث. معظم فهارس البحث مسطحة إلى حد ما، حيث تتكون مجموعة الحقول من حقول على نفس المستوى. ومع ذلك ، فإن الهياكل الهرمية أو المتداخلة ممكنة من خلال الحقول والمجموعات المعقدة. |
| علائقية | ستحتاج إلى توفيره كمجموعة صفوف مسطحة، حيث يصبح كل صف مستند بحث كامل أو جزئي في الفهرس. لتسوية البيانات الارتباطية في مجموعة صفوف، يجب إنشاء طريقة عرض SQL، أو إنشاء استعلام يقوم بإرجاع السجلات الأصلية والفرعية في الصف نفسه. على سبيل المثال، مجموعة بيانات نموذج الفنادق المضمنة هي قاعدة بيانات SQL تحتوي على 50 سجلا (سجل واحد لكل فندق)، مرتبطة بسجلات الغرف في جدول ذي صلة. يقوم الاستعلام الذي يقوم بتسطيح البيانات الجماعية في مجموعة صفوف بتضمين جميع معلومات الغرفة في مستندات JSON في كل سجل فندق. معلومات الغرفة المضمنة هي عبارة تم إنشاؤها بواسطة استعلام يستخدم عبارة تلقائية ل JSON . يمكنك معرفة المزيد حول هذه التقنية في تعريف استعلام يقوم بإرجاع JSON المضمن. هذا مجرد مثال واحد. يمكنك العثور على طرق أخرى من شأنها أن تؤدي إلى نفس النتيجة. |
| الملفات | يقوم المفهرس عموما بإنشاء مستند بحث واحد لكل ملف، حيث يتكون مستند البحث من حقول للمحتوى والبيانات الوصفية. اعتمادا على نوع الملف، يمكن للمفهرس أحيانا تحليل ملف واحد إلى مستندات بحث متعددة. على سبيل المثال، في ملف CSV، يمكن أن يصبح كل صف مستند بحث مستقل. |
تذكر أنك ستحتاج فقط إلى سحب البيانات القابلة للبحث والتصفية:
- البيانات القابلة للبحث هي نص.
- البيانات القابلة للتصفية أبجدية رقمية.
لا يمكن للبحث المعرفي البحث عن البيانات الثنائية بأي تنسيق، على الرغم من أنه يمكنه استخراج واستنتاج أوصاف نصية لملفات الصور (راجع الذكاء الاصطناعي الإثراء) لإنشاء محتوى قابل للبحث. وبالمثل ، يمكن تقسيم النص الكبير وتحليله بواسطة نماذج اللغة الطبيعية للعثور على البنية أو المعلومات ذات الصلة ، مما يؤدي إلى إنشاء محتوى جديد يمكنك إضافته إلى مستند بحث.
نظرا لأن المفهرسين لا يقومون بإصلاح مشكلات البيانات ، فقد تكون هناك حاجة إلى أشكال أخرى من تطهير البيانات أو معالجتها. لمزيد من المعلومات، يجب الرجوع إلى وثائق المنتج الخاصة بمنتج قاعدة بيانات Azure.
إعداد مصدر بيانات
تتطلب المفهرسات مصدر بيانات يحدد النوع والحاوية والاتصال.
تأكد من أنك تستخدم نوع مصدر بيانات مدعوم.
إنشاء تعريف مصدر بيانات . القائمة التالية هي عدد قليل من مصادر البيانات الأكثر استخداما:
إعداد فهرس
تتطلب المفهرسات أيضا فهرس بحث. تذكر أن المفهرسين يمررون البيانات إلى محرك البحث للفهرسة. تماما كما تحتوي المفهرسات على خصائص تحدد سلوك التنفيذ ، فإن مخطط الفهرس له خصائص تؤثر بشكل عميق على كيفية فهرسة السلاسل (يتم تحليل السلاسل فقط وترميزها).
ابدأ بإنشاء فهرس بحث.
قم بإعداد مجموعة الحقول وسمات الحقول.
الحقول هي المستقبلات الوحيدة للمحتوى الخارجي. اعتمادا على كيفية إسناد الحقول في المخطط، سيتم تحليل قيم كل حقل أو ترميزها أو تخزينها كسلاسل حرفية للفلاتر والبحث الضبابي واستعلامات الكتابة المسبقة.
يمكن للمفهرسين تعيين حقول المصدر تلقائيا إلى حقول الفهرس المستهدفة عندما تكون الأسماء والأنواع مكافئة. إذا تعذر تعيين حقل ضمنيا، فتذكر أنه يمكنك تحديد تعيين حقل صريح يخبر المفهرس بكيفية توجيه المحتوى.
راجع تعيينات المحلل في كل حقل. يمكن لأجهزة التحليل تحويل السلاسل. على هذا النحو ، قد تكون السلاسل المفهرسة مختلفة عما مررت به. يمكنك تقييم تأثيرات أجهزة التحليل باستخدام تحليل النص (REST). لمزيد من المعلومات حول أجهزة التحليل، راجع أجهزة التحليل لمعالجة النصوص.
أثناء الفهرسة، يتحقق المفهرس فقط من أسماء الحقول وأنواعها. لا توجد خطوة تحقق من الصحة تضمن صحة المحتوى الوارد لحقل البحث المقابل في الفهرس.
إنشاء مفهرس
عندما تكون مستعدا لإنشاء مفهرس على خدمة بحث عن بعد، ستحتاج إلى عميل بحث. يمكن أن يكون عميل البحث هو مدخل Azure أو ساعي البريد أو عميل REST آخر أو التعليمات البرمجية التي تقوم بإنشاء عميل مفهرس. نوصي بمدخل Azure أو واجهات برمجة تطبيقات REST للتطوير المبكر واختبار إثبات المفهوم.
في صفحة نظرة عامة على خدمة البحث، اختر من بين خيارين:
معالج استيراد البيانات. المعالج فريد من نوعه من حيث أنه ينشئ جميع العناصر المطلوبة. تتطلب الأساليب الأخرى أن تكون قد حددت مسبقا مصدر بيانات وفهرسا.
مفهرس جديد، محرر مرئي لتحديد تعريف مفهرس.
توضح لقطة الشاشة التالية المكان الذي يمكنك العثور فيه على هذه الميزات في البوابة الإلكترونية.
تشغيل المفهرس
بشكل افتراضي، يتم تشغيل مفهرس على الفور عند إنشائه على خدمة البحث. يمكنك تجاوز هذا السلوك عن طريق تعيين "معطل" إلى true في تعريف المفهرس. تنفيذ المفهرس هو لحظة الحقيقة حيث ستكتشف ما إذا كانت هناك مشاكل في الاتصالات أو تعيينات الحقول أو بناء مجموعة المهارات.
هناك عدة طرق لتشغيل مفهرس:
تشغيل على إنشاء المفهرس أو تحديثه (افتراضي).
يتم تشغيله عند الطلب عندما لا تكون هناك تغييرات على التعريف ، أو يسبقه إعادة تعيين للفهرسة الكاملة. لمزيد من المعلومات، راجع تشغيل المفهرسات أو إعادة تعيينها.
جدولة معالجة المفهرس لاستدعاء التنفيذ على فترات منتظمة.
عادة ما يتم تنفيذ التنفيذ المجدول عندما تكون لديك حاجة إلى فهرسة تدريجية حتى تتمكن من التقاط أحدث التغييرات. على هذا النحو ، تعتمد الجدولة على اكتشاف التغيير.
التحقق من النتائج
راقب حالة المفهرس للتحقق من الحالة. لا يزال من الممكن أن يتضمن التنفيذ الناجح تحذيرا وإشعارات. تأكد من التحقق من كل من إشعارات الحالة الناجحة والفاشلة للحصول على تفاصيل حول الوظيفة.
للتحقق من المحتوى، قم بتشغيل الاستعلامات على الفهرس المملوء الذي يعرض المستندات بأكملها أو الحقول المحددة.
الكشف عن التغيير والحالة الداخلية
إذا كان مصدر البيانات الخاص بك يدعم اكتشاف التغييرات، فيمكن للمفهرس اكتشاف التغييرات الأساسية في البيانات ومعالجة المستندات الجديدة أو المحدثة فقط على كل مفهرس قيد التشغيل، مع ترك المحتوى الذي لم يتغير كما هو. إذا كان سجل تنفيذ المفهرس يشير إلى أن عملية تشغيل كانت ناجحة مع 0/0 المستندات التي تمت معالجتها، فهذا يعني أن المفهرس لم يعثر على أي صفوف أو نقاط جديدة أو متغيرة في مصدر البيانات الأساسي.
تم تضمين منطق اكتشاف التغيير في الأنظمة الأساسية للبيانات. تختلف كيفية دعم المفهرس للكشف عن التغيير حسب مصدر البيانات:
يحتوي Azure Storage على اكتشاف مدمج للتغييرات، مما يعني أن المفهرس يمكنه التعرف على المستندات الجديدة والمحدثة تلقائيا. تختم Blob Storage و Azure Table Storage و Azure Data Lake Storage Gen2 كل تحديث نقطة أو صف بتاريخ ووقت. يمكن للمفهرس استخدام هذه المعلومات لتحديد المستندات التي سيتم تحديثها في الفهرس.
توفر Azure SQL وCosmos DB ميزات اختيارية للكشف عن التغيير في الأنظمة الأساسية الخاصة بهم. يمكنك تحديد نهج اكتشاف التغيير في تعريف مصدر البيانات.
بالنسبة لأحمال الفهرسة الكبيرة ، يتتبع المفهرس أيضا آخر مستند تمت معالجته من خلال "علامة مائية عالية" داخلية. لا يتم الكشف عن العلامة أبدا في واجهة برمجة التطبيقات ، ولكن داخليا يتتبع المفهرس المكان الذي توقفت فيه. عند استئناف الفهرسة، إما من خلال تشغيل مجدول أو استدعاء عند الطلب، يشير المفهرس إلى علامة المياه العالية حتى يتمكن من المتابعة من حيث توقف.
إذا كنت بحاجة إلى مسح العلامة المائية العالية لإعادة فهرستها بالكامل، فيمكنك استخدام Reset Indexer. لإعادة فهرسة أكثر انتقائية، استخدم إعادة تعيين المهارات أو إعادة تعيينالمستندات. من خلال إعادة تعيين واجهات برمجة التطبيقات، يمكنك مسح الحالة الداخلية، وكذلك مسح ذاكرة التخزين المؤقت إذا قمت بتمكين الإثراء التدريجي. لمزيد من الخلفية والمقارنة لكل خيار من خيارات إعادة التعيين، راجع تشغيل المفهرسات والمهارات والمستندات أو إعادة تعيينها.