Sdílet prostřednictvím


Krok 2 : Vytvoření a načtení indexu vyhledávání

Pokračujte v vytváření webu s podporou vyhledávání pomocí následujícího postupu:

  • Vytvoření nového indexu
  • Načtení dat

Program používá Azure.Search.Documents v sadě Azure SDK pro .NET:

Než začnete, ujistěte se, že máte ve vyhledávací službě místo pro nový index. Limit úrovně Free je tři indexy. Limit úrovně Basic je 15.

  1. V editoru Program.cs Visual Studio Code otevřete soubor v podadresáři a azure-search-static-web-app/bulk-insertnahraďte následující proměnné vlastními hodnotami pro ověření pomocí sady Azure Search SDK.

    • YOUR-SEARCH-SERVICE-NAME (ne úplná adresa URL)
    • YOUR-SEARCH-ADMIN-API-KEY (viz Vyhledání klíčů rozhraní 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. Otevřete integrovaný terminál v editoru Visual Studio Code pro podadresář azure-search-static-web-app/bulk-insertadresáře projektu.

  3. Spuštěním následujícího příkazu nainstalujte závislosti.

    dotnet restore
    
  1. Stále ve stejném podadresáři (azure-search-static-web-app/bulk-insert), spusťte program:

    dotnet run
    
  2. Při spuštění kódu se zobrazí průběh konzoly. Měli byste vidět následující výstup.

     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
    

Kontrola nového indexu vyhledávání

Po dokončení nahrávání je index vyhledávání připravený k použití. Zkontrolujte nový index na webu Azure Portal.

  1. Na webu Azure Portal najděte svou vyhledávací službu.

  2. Na levé straně vyberte Indexy správy > vyhledávání a pak vyberte index dobrých knih.

    Rozbalitelný snímek obrazovky webu Azure Portal zobrazující index

  3. Ve výchozím nastavení se index otevře na kartě Průzkumník služby Search. Výběrem možnosti Hledat vrátíte dokumenty z indexu.

    Rozbalitelný snímek obrazovky webu Azure Portal zobrazující výsledky hledání

Vrácení změn souboru hromadného importu zpět

Pomocí následujícího příkazu Git v integrovaném terminálu editoru Visual Studio Code v bulk-insert adresáři vraťte změny do Program.cs souboru. Nejsou potřeba pokračovat v kurzu a neměli byste ukládat ani nasdílovat klíče rozhraní API nebo název vyhledávací služby do úložiště.

git checkout .

Další kroky

Nasazení statické webové aplikace