Etapa 2 - Criar e carregar o índice de pesquisa

Continue a criar seu site habilitado para pesquisa seguindo estas etapas:

  • Criar um novo índice
  • Carregar dados

O programa usa Azure.Search.Documents no SDK do Azure para .NET:

Antes de começar, certifique-se de que tem espaço no seu serviço de pesquisa para um novo índice. O limite de nível livre é de três índices. O limite do nível básico é 15.

  1. No Visual Studio Code, abra o Program.cs arquivo no subdiretório, azure-search-static-web-app/bulk-insert, substitua as seguintes variáveis por seus próprios valores para autenticar com o SDK de Pesquisa do Azure.

    • YOUR-SEARCH-SERVICE-NAME (não o URL completo)
    • YOUR-SEARCH-ADMIN-API-KEY (consulte Localizar chaves de 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. Abra um terminal integrado no Visual Studio Code para o subdiretório do diretório do projeto, azure-search-static-web-app/bulk-insert.

  3. Execute o seguinte comando para instalar as dependências.

    dotnet restore
    
  1. Ainda no mesmo subdiretório (azure-search-static-web-app/bulk-insert), execute o programa:

    dotnet run
    
  2. À medida que o código é executado, o console exibe o progresso. Deverá ver o seguinte resultado.

     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
    

Rever o novo índice de pesquisa

Quando o carregamento for concluído, o índice de pesquisa estará pronto para ser usado. Reveja o seu novo índice no portal do Azure.

  1. No portal do Azure, localize o seu serviço de pesquisa.

  2. À esquerda, selecione Índices de Gerenciamento de > Pesquisa e, em seguida, selecione o índice de bons livros.

    Captura de ecrã expansível do portal do Azure a mostrar o índice.

  3. Por padrão, o índice é aberto na guia Search Explorer . Selecione Pesquisar para retornar documentos do índice.

    Captura de ecrã expansível do portal do Azure a mostrar os resultados da pesquisa

Reversão de alterações de arquivos de importação em massa

Use o seguinte comando git no terminal integrado do Visual Studio Code no bulk-insert diretório para reverter as alterações no Program.cs arquivo. Eles não são necessários para continuar o tutorial e você não deve salvar ou enviar suas chaves de API ou nome do serviço de pesquisa para o seu repositório.

git checkout .

Próximos passos

Implante seu aplicativo Web estático