Udostępnij za pośrednictwem


Krok 2. Tworzenie i ładowanie indeksu wyszukiwania

Kontynuuj tworzenie witryny internetowej obsługującej wyszukiwanie, wykonując następujące kroki:

  • Tworzenie nowego indeksu
  • Ładowanie danych

Program używa elementu Azure.Search.Documents w zestawie Azure SDK dla platformy .NET:

Przed rozpoczęciem upewnij się, że masz miejsce w usłudze wyszukiwania dla nowego indeksu. Limit warstwy Bezpłatna to trzy indeksy. Limit warstwy Podstawowa wynosi 15.

  1. W programie Visual Studio Code otwórz Program.cs plik w podkatalogu , azure-search-static-web-app/bulk-insertzastąp następujące zmienne własnymi wartościami, aby uwierzytelnić się przy użyciu zestawu SDK usługi Azure Search.

    • TWOJA-SEARCH-SERVICE-NAME (nie pełny adres URL)
    • YOUR-SEARCH-ADMIN-API-KEY (zobacz Znajdowanie kluczy interfejsu 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. Otwórz zintegrowany terminal w programie Visual Studio Code dla podkatalogu katalogu projektu. azure-search-static-web-app/bulk-insert

  3. Uruchom następujące polecenie, aby zainstalować zależności.

    dotnet restore
    
  1. Nadal w tym samym podkatalogu (azure-search-static-web-app/bulk-insert), uruchom program:

    dotnet run
    
  2. W miarę uruchamiania kodu w konsoli jest wyświetlany postęp. Powinny zostać wyświetlone następujące dane wyjściowe.

     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
    

Przeglądanie nowego indeksu wyszukiwania

Po zakończeniu przekazywania indeks wyszukiwania jest gotowy do użycia. Przejrzyj nowy indeks w witrynie Azure Portal.

  1. W witrynie Azure Portal znajdź usługę wyszukiwania.

  2. Po lewej stronie wybierz pozycję Indeksy zarządzania wyszukiwaniem>, a następnie wybierz indeks good-books.

    Rozwijany zrzut ekranu witryny Azure Portal przedstawiający indeks.

  3. Domyślnie indeks zostanie otwarty na karcie Eksplorator wyszukiwania. Wybierz pozycję Wyszukaj , aby zwrócić dokumenty z indeksu.

    Rozwijany zrzut ekranu witryny Azure Portal przedstawiający wyniki wyszukiwania

Wycofywanie zmian pliku importu zbiorczego

Użyj następującego polecenia git w zintegrowanym terminalu programu Visual Studio Code w bulk-insert katalogu, aby wycofać zmiany w Program.cs pliku. Nie są one potrzebne do kontynuowania samouczka i nie należy zapisywać ani wypychać kluczy interfejsu API ani nazwy usługi wyszukiwania do repozytorium.

git checkout .

Następne kroki

Wdrażanie statycznej aplikacji internetowej