فهرسة البيانات من Azure Files

هام

مفهرس ملفات Azure حاليا في المعاينة العامة ضمن شروط الاستخدام التكميلية. استخدم معاينة REST API (2020-06-30-preview أو أحدث) لإنشاء مصدر بيانات المفهرس.

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

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

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

  • Azure Files، المستوى المحسن للمعاملات.

  • مشاركة ملف SMB توفر المحتوى المصدر. مشاركات NFS غير مدعومة.

  • الملفات التي تحتوي على نص. إذا كان لديك بيانات ثنائية، يمكنك تضمين الذكاء الاصطناعي الإثراء لتحليل الصور.

  • قراءة الأذونات على Azure Storage. يتضمن سلسلة الاتصال "الوصول الكامل" مفتاحا يمنح الوصول إلى المحتوى.

  • استخدم عميل REST لصياغة استدعاءات REST مشابهة لتلك الموضحة في هذه المقالة.

تنسيقات المستندات المعتمدة

يمكن لمفهرس ملفات Azure استخراج النص من تنسيقات المستندات التالية:

كيفية فهرسة ملفات Azure

بشكل افتراضي، تتم فهرسة معظم الملفات كمستند بحث واحد في الفهرس، بما في ذلك الملفات ذات المحتوى المنظم، مثل JSON أو CSV، والتي تتم فهرستها كملف واحد من النص.

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

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

تعريف مصدر البيانات

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

  1. إنشاء مصدر بيانات أو تحديثه لتعيين تعريفه، باستخدام إصدار واجهة برمجة تطبيقات المعاينة 2020-06-30-Preview أو أحدث ل "النوع": "azurefile".

    {
        "name" : "my-file-datasource",
        "type" : "azurefile",
        "credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" },
        "container" : { "name" : "my-file-share", "query" : "<optional-directory-name>" }
    }
    
  2. تعيين "type" إلى "azurefile" (مطلوب).

  3. تعيين "بيانات الاعتماد" إلى سلسلة الاتصال تخزين Azure. يصف القسم التالي التنسيقات المدعومة.

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

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

بيانات الاعتماد سلسلة الاتصال المدعومة

يمكن للمفهرسات الاتصال بمشاركة ملف باستخدام الاتصالات التالية.

سلسلة الاتصال حساب تخزين الوصول الكامل
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" }
يمكنك الحصول على سلسلة الاتصال من صفحة حساب التخزين في مدخل Microsoft Azure عن طريق تحديد مفاتيح الوصول في جزء التنقل الأيمن. تأكد من تحديد سلسلة الاتصال كامل وليس مجرد مفتاح.

إضافة حقول بحث إلى فهرس

في فهرس البحث، أضف حقولا لقبول المحتوى وبيانات التعريف لملفات Azure.

  1. إنشاء فهرس أو تحديثه لتعريف حقول البحث التي ستخزن محتوى الملف وبيانات التعريف:

    POST /indexes?api-version=2020-06-30
    {
      "name" : "my-search-index",
      "fields": [
          { "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
          { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false },
          { "name": "metadata_storage_name", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_path", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
          { "name": "metadata_storage_size", "type": "Edm.Int64", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_content_type", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true }        
      ]
    }
    
  2. إنشاء حقل مفتاح مستند ("المفتاح": صحيح). بالنسبة لمحتوى الكائن الثنائي كبير الحجم، فإن أفضل المرشحين هي خصائص بيانات التعريف. غالبا ما تتضمن خصائص بيانات التعريف أحرفا، مثل / و -، غير صالحة لمفاتيح المستندات. نظرا لأن المفهرس لديه خاصية "base64EncodeKeys" (صحيح بشكل افتراضي)، فإنه يقوم تلقائيا بترميز خاصية بيانات التعريف، دون الحاجة إلى تكوين أو تعيين حقل.

    • metadata_storage_path (افتراضي) المسار الكامل إلى الكائن أو الملف

    • metadata_storage_name قابل للاستخدام فقط إذا كانت الأسماء فريدة

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

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

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

    • metadata_storage_name (Edm.String) - اسم الملف. على سبيل المثال، إذا كان لديك ملف /my-share/my-folder/subfolder/resume.pdf، فإن قيمة هذا الحقل هي resume.pdf.
    • metadata_storage_path (Edm.String) - URI الكامل للملف، بما في ذلك حساب التخزين. على سبيل المثال، https://myaccount.file.core.windows.net/my-share/my-folder/subfolder/resume.pdf
    • metadata_storage_content_type (Edm.String) - نوع المحتوى كما هو محدد بواسطة التعليمات البرمجية التي استخدمتها لتحميل الملف. على سبيل المثال، application/octet-stream
    • metadata_storage_last_modified (Edm.DateTimeOffset) - آخر طابع زمني تم تعديله للملف. يستخدم Azure الذكاء الاصطناعي Search هذا الطابع الزمني لتحديد الملفات التي تم تغييرها، لتجنب إعادة فهرسة كل شيء بعد الفهرسة الأولية.
    • metadata_storage_size (Edm.Int64) - حجم الملف بالبايت.
    • metadata_storage_content_md5 (Edm.String) - تجزئة MD5 لمحتوى الملف، إذا كان متوفرا.
    • metadata_storage_sas_token (Edm.String) - رمز SAS مؤقت يمكن استخدامه من قبل المهارات المخصصة للوصول إلى الملف. لا يجب تخزين هذا الرمز المميز لاستخدامه لاحقا حيث قد تنتهي صلاحيته.

تكوين مفهرس ملفات Azure وتشغيله

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

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

    POST https://[service name].search.windows.net/indexers?api-version=2020-06-30
    {
      "name" : "my-file-indexer",
      "dataSourceName" : "my-file-datasource",
      "targetIndexName" : "my-search-index",
      "parameters": {
         "batchSize": null,
         "maxFailedItems": null,
         "maxFailedItemsPerBatch": null,
         "base64EncodeKeys": null,
         "configuration": {
            "indexedFileNameExtensions" : ".pdf,.docx",
            "excludedFileNameExtensions" : ".png,.jpeg" 
        }
      },
      "schedule" : { },
      "fieldMappings" : [ ]
    }
    
  2. في قسم "التكوين" الاختياري، قم بتوفير أي معايير تضمين أو استبعاد. إذا تركت غير محددة، يتم استرداد جميع الملفات الموجودة في مشاركة الملف.

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

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

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

  4. راجع إنشاء مفهرس للحصول على مزيد من المعلومات حول الخصائص الأخرى.

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

التحقق من حالة المفهرس

لمراقبة حالة المفهرس ومحفوظات التنفيذ، أرسل طلب الحصول على حالة المفهرس:

GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2020-06-30
  Content-Type: application/json  
  api-key: [admin key]

تتضمن الاستجابة الحالة وعدد العناصر التي تمت معالجتها. يجب أن يبدو مشابها للمثال التالي:

    {
        "status":"running",
        "lastResult": {
            "status":"success",
            "errorMessage":null,
            "startTime":"2022-02-21T00:23:24.957Z",
            "endTime":"2022-02-21T00:36:47.752Z",
            "errors":[],
            "itemsProcessed":1599501,
            "itemsFailed":0,
            "initialTrackingState":null,
            "finalTrackingState":null
        },
        "executionHistory":
        [
            {
                "status":"success",
                "errorMessage":null,
                "startTime":"2022-02-21T00:23:24.957Z",
                "endTime":"2022-02-21T00:36:47.752Z",
                "errors":[],
                "itemsProcessed":1599501,
                "itemsFailed":0,
                "initialTrackingState":null,
                "finalTrackingState":null
            },
            ... earlier history items
        ]
    }

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

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

يمكنك الآن تشغيل المفهرس أو مراقبة الحالة أو جدولة تنفيذ المفهرس. تنطبق المقالات التالية على المفهرسات التي تسحب المحتوى من Azure Storage: