الخطوة 2 - إنشاء وتحميل فهرس البحث

واصل بناء موقعك الإلكتروني المعتمد على البحث باتباع هذه الخطوات:

  • إنشاء فهرس جديد
  • بيانات التحميل

يستخدم البرنامج Azure.Search.Documents في مجموعة تطوير البرمجيات Azure ل .NET:

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

  1. في تعليمة Visual Studio برمجية، افتح الملف Program.cs في الدليل الفرعي، azure-search-static-web-app/bulk-insertواستبدل المتغيرات التالية بقيمك الخاصة للمصادقة باستخدام Azure Search SDK.

    
    using Azure;
    using Azure.Search.Documents;
    using Azure.Search.Documents.Indexes;
    using Azure.Search.Documents.Indexes.Models;
    using AzureSearch.BulkInsert;
    using ServiceStack;
    
    const string BOOKS_URL = "https://raw.githubusercontent.com/Azure-Samples/azure-search-sample-data/main/good-books/books.csv";
    const string SEARCH_ENDPOINT = "https://YOUR-SEARCH-RESOURCE-NAME.search.windows.net";
    const string SEARCH_KEY = "YOUR-SEARCH-ADMIN-KEY";
    const string SEARCH_INDEX_NAME = "good-books";
    
    Uri searchEndpointUri = new(SEARCH_ENDPOINT);
    
    SearchClient client = new(
        searchEndpointUri,
        SEARCH_INDEX_NAME,
        new AzureKeyCredential(SEARCH_KEY));
    
    SearchIndexClient clientIndex = new(
        searchEndpointUri,
        new AzureKeyCredential(SEARCH_KEY));
    
    await CreateIndexAsync(clientIndex);
    await BulkInsertAsync(client);
    
    static async Task CreateIndexAsync(SearchIndexClient clientIndex)
    {
        Console.WriteLine("Creating (or updating) search index");
        SearchIndex index = new BookSearchIndex(SEARCH_INDEX_NAME);
        var result = await clientIndex.CreateOrUpdateIndexAsync(index);
    
        Console.WriteLine(result);
    }
    
    static async Task BulkInsertAsync(SearchClient client)
    {
        Console.WriteLine("Download data file");
        using HttpClient httpClient = new();
    
        var csv = await httpClient.GetStringAsync(BOOKS_URL);
    
        Console.WriteLine("Reading and parsing raw CSV data");
        var books =
            csv.ReplaceFirst("book_id", "id").FromCsv<List<BookModel>>();
    
        Console.WriteLine("Uploading bulk book data");
        _ = await client.UploadDocumentsAsync(books);
    
        Console.WriteLine("Finished bulk inserting book data");
    }
    
  2. افتح طرفية متكاملة في كود Visual Studio لدليل المشروع، azure-search-static-web-app/bulk-insert.

  3. شغل الأمر التالي لتثبيت التبعيات.

    dotnet restore
    
  1. لا يزال في نفس الدليل الفرعي (azure-search-static-web-app/bulk-insert)، شغل البرنامج:

    dotnet run
    
  2. أثناء تشغيل الكود، يعرض الكونسول تقدما. يجب أن ترى الناتج التالي.

     Creating (or updating) search index
     Status: 201, Value: Azure.Search.Documents.Indexes.Models.SearchIndex
     Download data file
     Reading and parsing raw CSV data
     Uploading bulk book data
     Finished bulk inserting book data
    

راجع فهرس البحث الجديد

بمجرد اكتمال الرفع، يكون فهرس البحث جاهزا للاستخدام. راجع فهرسك الجديد في بوابة Azure.

  1. انتقل إلى خدمة البحث في مدخل Microsoft Azure.

  2. على اليسار، اختر فهارس إدارة > البحث، ثم اختر فهرس الكتب الجيدة.

    لقطة شاشة قابلة للتوسيع لبوابة Azure تظهر الفهرس.

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

    لقطة شاشة قابلة للتوسيع لبوابة Azure تظهر نتائج البحث

تغييرات استيراد الملفات بالجملة

استخدم أمر git التالي في الطرفية المدمجة لكود Visual Studio في bulk-insert المجلد لاسترجاع التغييرات على Program.cs الملف. ليست ضرورية لمتابعة الدرس ولا يجب عليك حفظ أو دفع مفاتيح API أو اسم خدمة البحث إلى مستودعك.

git checkout .

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

نشر تطبيق الويب الثابت الخاص بك