إنشاء فهرس في البحث المعرفي في Azure

في Azure Cognitive Search، تستهدف طلبات الاستعلام النص القابل للبحث في فهرس البحث.

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

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

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

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

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

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

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

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

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

قائمة التحقق من المخطط

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

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

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

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

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

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

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

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

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

إنشاء فهرس

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

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

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

  1. سجل الدخول إلى مدخل Azure.

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

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

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

Add index command

تلميح

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

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

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

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

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

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

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

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

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

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

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

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

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

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