Compartir vía


Paso 2: Crear y cargar el índice de búsqueda

Siga estos pasos para crear el sitio web habilitado para la búsqueda:

  • Creación de un nuevo índice
  • Carga de datos

El programa usa Azure.Search.Documents en el SDK de Azure para .NET:

Antes de empezar, asegúrese de que tiene espacio en el servicio de búsqueda para un nuevo índice. El límite de niveles gratis es de tres índices. El límite de nivel Básico es 15.

  1. En Visual Studio Code, abra el archivo Program.cs del subdirectorio, azure-search-static-web-app/bulk-insert, y reemplace las siguientes variables por sus propios valores para autenticarse con el SDK de Azure Search.

    • SU-NOMBRE-DE-SERVICIO-DE-BÚSQUEDA (no la dirección URL completa)
    • SU-CLAVE-API-DE-ADMINISTRADOR-DE-BÚSQUEDA (consulte Buscar claves 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 un terminal integrado en Visual Studio Code para el subdirectorio del directorio del proyecto, azure-search-static-web-app/bulk-insert.

  3. Ejecute el siguiente comando para instalar las dependencias.

    dotnet restore
    
  1. Todavía en el mismo subdirectorio (azure-search-static-web-app/bulk-insert), ejecute el programa:

    dotnet run
    
  2. A medida que se va ejecutando el código, la consola muestra el progreso. Debería ver la siguiente salida.

     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
    

Revisión del nuevo índice de búsqueda

Una vez que la carga se completa, el índice de búsqueda está preparado para su uso. Examine el índice nuevo en Azure Portal.

  1. Busque el servicio de búsqueda en Azure Portal.

  2. A la izquierda, seleccione Administración de búsqueda > Índices y, a continuación, seleccione el índice de libros correctos.

    Captura de pantalla ampliable de Azure Portal que muestra el índice.

  3. De forma predeterminada, el índice se abre en la pestaña Explorador de búsqueda. Seleccione Buscar para devolver documentos del índice.

    Captura de pantalla ampliable de Azure Portal en la que se muestran los resultados de la búsqueda

Reversión de cambios de archivos de importación masiva

Use el siguiente comando git en el terminal de Visual Studio Code integrado en el directorio bulk-insert para revertir los cambios en el archivo Program.cs. No son necesarios para continuar con el tutorial y no debe guardar ni insertar las claves de API ni el nombre del servicio de búsqueda en el repositorio.

git checkout .

Pasos siguientes

Implementación de la aplicación web estática