Bagikan melalui


Langkah 2 - Membuat dan memuat indeks pencarian

Lanjutkan membangun situs web yang mendukung pencarian Anda dengan mengikuti langkah-langkah berikut:

  • Membuat indeks baru
  • Memuat Data

Program ini menggunakan Azure.Search.Documents di Azure SDK untuk .NET:

Sebelum memulai, pastikan Anda memiliki ruang di layanan pencarian Anda untuk indeks baru. Batas tingkat gratis adalah tiga indeks. Batas tingkat Dasar adalah 15.

  1. Di Visual Studio Code, buka Program.cs file di subdirektori, azure-search-static-web-app/bulk-insert, ganti variabel berikut dengan nilai Anda sendiri untuk mengautentikasi dengan Azure Search SDK.

    • YOUR-SEARCH-SERVICE-NAME (bukan URL lengkap)
    • YOUR-SEARCH-ADMIN-API-KEY (lihat Menemukan kunci API)
    
    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. Buka terminal terintegrasi di Visual Studio Code untuk subdirektori direktori proyek, azure-search-static-web-app/bulk-insert.

  3. Jalankan perintah berikut untuk menginstal dependensi.

    dotnet restore
    
  1. Masih dalam subdirektori yang sama (azure-search-static-web-app/bulk-insert), jalankan program:

    dotnet run
    
  2. Saat kode berjalan, konsol menampilkan kemajuan. Anda akan menemukan keluaran berikut.

     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
    

Meninjau indeks pencarian baru

Setelah unggahan selesai, indeks pencarian siap digunakan. Tinjau indeks baru Anda di portal Azure.

  1. Di portal Azure, temukan layanan pencarian Anda.

  2. Di sebelah kiri, pilih Indeks Manajemen > Pencarian, lalu pilih indeks buku bagus.

    Cuplikan layar portal Azure yang dapat diperluas memperlihatkan indeks.

  3. Secara default, indeks terbuka di tab Penjelajah Pencarian. Pilih Cari untuk mengembalikan dokumen dari indeks.

    Cuplikan layar portal Azure yang dapat diperluas memperlihatkan hasil pencarian

Mengembalikan perubahan file impor massal

Gunakan perintah git berikut di terminal terintegrasi Visual Studio Code di bulk-insert direktori untuk mengembalikan perubahan pada Program.cs file. Mereka tidak diperlukan untuk melanjutkan tutorial dan Anda tidak boleh menyimpan atau mendorong kunci API atau nama layanan pencarian ke repositori Anda.

git checkout .

Langkah berikutnya

Sebarkan situs web statis Anda