Étape 2 : créer et charger l’index de recherche

Effectuez les étapes suivantes pour continuer à créer votre site web prenant en charge les recherches :

  • Créer un index
  • Charger les données

Le programme utilise Azure.Search.Documents dans le kit de développement logiciel (SDK) Azure pour .NET :

Avant de commencer, assurez-vous que vous avez de l’espace sur votre service de recherche pour un nouvel index. La limite du niveau Gratuit est de trois index. La limite du niveau De base est de 15.

  1. Dans Visual Studio Code, ouvrez le fichier Program.cs dans le sous-répertoire azure-search-static-web-app/bulk-insert et remplacez les variables suivantes par vos propres valeurs pour vous authentifier auprès du kit de développement logiciel (SDK) Recherche Azure.

    • YOUR-SEARCH-SERVICE-NAME (et non l’URL complet)
    • YOUR-SEARCH-ADMIN-API-KEY (consultez Trouver les clés 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. Ouvrez un terminal intégré dans Visual Studio Code pour le sous-répertoire du répertoire de projet, azure-search-static-web-app/bulk-insert.

  3. Exécutez la commande suivante pour installer les dépendances.

    dotnet restore
    
  1. Toujours dans le même sous-répertoire (azure-search-static-web-app/bulk-insert), exécutez le programme :

    dotnet run
    
  2. À mesure que le code s’exécute, la console affiche la progression. Vous devez voir la sortie suivante.

     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
    

Examiner le nouvel index de recherche

Une fois le chargement effectué, l’index de recherche est prêt à être utilisé. Passez en revue votre nouvel index dans le portail Azure.

  1. Dans le portail Azure, recherchez votre service de recherche.

  2. Sur la gauche, sélectionnez Gestion de recherche > Index, puis l’index good-books.

    Capture d’écran extensible du portail Azure montrant l’index.

  3. Par défaut, l’index s’ouvre sous l’onglet Explorateur de recherche. Sélectionnez Rechercher pour retourner des documents à partir de l’index.

    Capture d’écran extensible du portail Azure montrant des résultats de recherche

Annuler les modifications apportées au fichier d'importation en bloc

Dans le terminal intégré Visual Studio Code, appliquez la commande Git suivante au répertoire bulk-insert pour restaurer les modifications dans le fichier Program.cs. Elles ne sont pas nécessaires pour poursuivre le didacticiel et vous ne devez pas enregistrer ou envoyer vos clés API ou le nom du service de recherche à votre référentiel.

git checkout .

Étapes suivantes

Déployer votre application web statique