Krok 2 : Vytvoření a načtení indexu vyhledávání
Pokračujte v vytváření webu s podporou vyhledávání pomocí následujícího postupu:
- Vytvoření nového indexu
- Načtení dat
Program používá Azure.Search.Documents v sadě Azure SDK pro .NET:
Než začnete, ujistěte se, že máte ve vyhledávací službě místo pro nový index. Limit úrovně Free je tři indexy. Limit úrovně Basic je 15.
Příprava skriptu hromadného importu pro vyhledávání
V editoru
Program.cs
Visual Studio Code otevřete soubor v podadresáři aazure-search-static-web-app/bulk-insert
nahraďte následující proměnné vlastními hodnotami pro ověření pomocí sady Azure Search SDK.- YOUR-SEARCH-SERVICE-NAME (ne úplná adresa URL)
- YOUR-SEARCH-ADMIN-API-KEY (viz Vyhledání klíčů rozhraní 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"); }
Otevřete integrovaný terminál v editoru Visual Studio Code pro podadresář
azure-search-static-web-app/bulk-insert
adresáře projektu.Spuštěním následujícího příkazu nainstalujte závislosti.
dotnet restore
Spuštění skriptu hromadného importu pro vyhledávání
Stále ve stejném podadresáři (
azure-search-static-web-app/bulk-insert
), spusťte program:dotnet run
Při spuštění kódu se zobrazí průběh konzoly. Měli byste vidět následující výstup.
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
Kontrola nového indexu vyhledávání
Po dokončení nahrávání je index vyhledávání připravený k použití. Zkontrolujte nový index na webu Azure Portal.
Na webu Azure Portal najděte svou vyhledávací službu.
Na levé straně vyberte Indexy správy > vyhledávání a pak vyberte index dobrých knih.
Ve výchozím nastavení se index otevře na kartě Průzkumník služby Search. Výběrem možnosti Hledat vrátíte dokumenty z indexu.
Vrácení změn souboru hromadného importu zpět
Pomocí následujícího příkazu Git v integrovaném terminálu editoru Visual Studio Code v bulk-insert
adresáři vraťte změny do Program.cs
souboru. Nejsou potřeba pokračovat v kurzu a neměli byste ukládat ani nasdílovat klíče rozhraní API nebo název vyhledávací služby do úložiště.
git checkout .