إنشاء فهرس في Azure الذكاء الاصطناعي Search

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

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

  • اكتب الأذونات كمساهم خدمة بحث أو مفتاح واجهة برمجة تطبيقات مسؤول للمصادقة المستندة إلى المفتاح.

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

  • يجب أن يكون لديك أيضا حقل فريد في بيانات المصدر يمكن استخدامه كمفتاح المستند (أو المعرف) في الفهرس.

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

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

مفاتيح المستند

يحتوي فهرس البحث على متطلبين: يجب أن يكون له اسم ومفتاح مستند.

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

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

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

قائمة اختيار المخطط

استخدم قائمة الاختيار هذه للمساعدة في قرارات التصميم الخاصة بفهرس البحث.

  1. راجع اصطلاحات التسمية بحيث تتوافق أسماء الفهرس والحقول مع قواعد التسمية.

  2. مراجعة أنواع البيانات المدعومة. يؤثر نوع البيانات على كيفية استخدام الحقل. على سبيل المثال، المحتوى الرقمي قابل للتصفية ولكنه غير قابل للبحث في النص الكامل. نوع البيانات الأكثر شيوعا هو Edm.String للنص القابل للبحث، والذي يتم رمزه المميز والاستعلام عليه باستخدام محرك البحث عن النص الكامل. نوع البيانات الأكثر شيوعا لحقل متجه هو Edm.Single ولكن يمكنك استخدام أنواع أخرى أيضا.

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

  4. حدد الحقول في مصدر البيانات التي تساهم في محتوى قابل للبحث في الفهرس.

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

    يمكن أن يكون محتوى المتجه القابل للبحث عبارة عن صور أو نص (بأي لغة) موجود كتمثيل رياضي. يمكنك استخدام أنواع البيانات الضيقة أو ضغط المتجهات لتصغير حقول المتجهات.

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

  5. تحديد حقول المصدر التي يمكن استخدامها كعوامل تصفية. المحتوى الرقمي وحقول النص القصير، خاصة تلك التي تحتوي على قيم مكررة، هي خيارات جيدة. عند العمل مع عوامل التصفية، تذكر:

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

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

    • يتم إرجاع الحقول القابلة للتصفية بترتيب عشوائي، لذا ضع في اعتبارك جعلها قابلة للفرز أيضا.

  6. بالنسبة لحقول المتجهات، حدد تكوين بحث متجه والخوارزميات المستخدمة لإنشاء مسارات التنقل وملء مساحة التضمين. لمزيد من المعلومات، راجع إضافة حقول متجهات.

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

    تحذف حقول المتجهات سمات غير مفيدة في بيانات المتجهات، مثل الفرز والتصفية والوجه.

  7. بالنسبة إلى الحقول غير الوسيطة، حدد ما إذا كنت تريد استخدام المحلل الافتراضي ("analyzer": null) أو محلل مختلف. يتم استخدام أدوات التحليل لرمز الحقول النصية أثناء الفهرسة وتنفيذ الاستعلام.

    بالنسبة للسلاسل متعددة اللغات، ضع في اعتبارك محلل اللغة.

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

إشعار

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

إنشاء فهرس

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

أثناء التطوير، خطط لإعادة البناء المتكررة. نظرا لإنشاء الهياكل المادية في الخدمة، يعد إسقاط الفهارس وإعادة إنشائها ضروريا للعديد من التعديلات. قد تفكر في العمل مع مجموعة فرعية من بياناتك لجعل عمليات إعادة البناء تسير بشكل أسرع.

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

  1. قم بتسجيل الدخول إلى بوابة Azure.

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

  3. في صفحة نظرة عامة على خدمة البحث، حدد أي خيار لإنشاء فهرس بحث:

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

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

الأمر

تلميح

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

تعيين corsOptions للاستعلامات عبر المنشأ

تتضمن مخططات الفهرس قسما لإعداد corsOptions. بشكل افتراضي، لا يمكن ل JavaScript من جانب العميل استدعاء أي واجهات برمجة تطبيقات لأن المتصفحات تمنع جميع الطلبات عبر المنشأ. للسماح بالاستعلامات عبر المنشأ إلى الفهرس الخاص بك، قم بتمكين CORS (مشاركة الموارد عبر المنشأ) عن طريق تعيين السمة corsOptions . لأسباب أمنية، تدعم واجهات برمجة التطبيقات للاستعلام فقط CORS.

"corsOptions": {
  "allowedOrigins": [
    "*"
  ],
  "maxAgeInSeconds": 300

يمكن تعيين الخصائص التالية ل CORS:

  • allowedOrigins (مطلوب): هذه قائمة بالأصول المسموح لها بالوصول إلى الفهرس الخاص بك. يسمح للتعليمات البرمجية JavaScript المقدمة من هذه الأصول بالاستعلام عن الفهرس (بافتراض أن المتصل يوفر مفتاحا صالحا أو لديه أذونات). عادة ما يكون كل أصل من النموذج protocol://<fully-qualified-domain-name>:<port> على الرغم من <port> أنه غالبا ما يتم حذفه. لمزيد من المعلومات، راجع مشاركة الموارد عبر المنشأ (ويكيبيديا).

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

  • maxAgeInSeconds (اختياري): تستخدم المستعرضات هذه القيمة لتحديد المدة (بالثوان) لتخزين استجابات الاختبار المبدئي ل CORS مؤقتا. يجب أن يكون هذا عددا صحيحا غير سالب. توفر فترة ذاكرة التخزين المؤقت الأطول أداء أفضل، ولكنها توسع مقدار الوقت الذي يحتاجه نهج CORS لكي يصبح ساري المفعول. إذا لم يتم تعيين هذه القيمة، يتم استخدام مدة افتراضية مدتها خمس دقائق.

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

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

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

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

العنصر هل يمكن تحديثه؟
الاسم لا
مفتاح لا
أسماء الحقول وأنواعها لا
سمات الحقل (قابلة للبحث، قابلة للتصفية، قابلة للواجهة، قابلة للفرز) لا
سمة الحقل (قابلة للاسترداد) ‏‏نعم‬
مخزن (ينطبق على المتجهات) لا
محلل يمكنك إضافة أدوات تحليل مخصصة وتعديلها في الفهرس. فيما يتعلق بتعيينات المحلل في حقول السلسلة، يمكنك فقط تعديل searchAnalyzer. تتطلب جميع التعيينات والتعديلات الأخرى إعادة إنشاء.
ملفات تعريف تسجيل النقاط ‏‏نعم‬
المقترحون لا
مشاركة الموارد عبر المنشأ (CORS) ‏‏نعم‬
التشفير ‏‏نعم‬

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

استخدم الارتباطات التالية للتعرف على تحميل فهرس بالبيانات، أو توسيع فهرس مع خريطة مرادفات.