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.
Preparar o script de importação em massa para Pesquisa
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"); }
Abra um terminal integrado no Visual Studio Code para o subdiretório do diretório do projeto,
azure-search-static-web-app/bulk-insert
.Execute o seguinte comando para instalar as dependências.
dotnet restore
Executar o script de importação em massa para Pesquisa
Ainda no mesmo subdiretório (
azure-search-static-web-app/bulk-insert
), execute o programa:dotnet run
À 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.
No portal do Azure, localize o seu serviço de pesquisa.
À esquerda, selecione Índices de Gerenciamento de > Pesquisa e, em seguida, selecione o índice de bons livros.
Por padrão, o índice é aberto na guia Search Explorer . Selecione Pesquisar para retornar documentos do índice.
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 .