Steg 2 – Skapa och läsa in sökindexet
Fortsätt att skapa din sökaktiverade webbplats genom att följa dessa steg:
- Skapa ett nytt index
- Läsa in data
Programmet använder Azure.Search.Documents i Azure SDK för .NET:
Innan du börjar måste du se till att du har plats i söktjänsten för ett nytt index. Gränsen för den kostnadsfria nivån är tre index. Nivån Basic är 15.
Förbereda massimportskriptet för sökning
Öppna filen i underkatalogen
Program.cs
i Visual Studio Code ochazure-search-static-web-app/bulk-insert
ersätt följande variabler med dina egna värden för att autentisera med Azure Search SDK.- YOUR-SEARCH-SERVICE-NAME (inte den fullständiga URL:en)
- YOUR-SEARCH-ADMIN-API-KEY (se Hitta API-nycklar)
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"); }
Öppna en integrerad terminal i Visual Studio Code för projektkatalogens underkatalog,
azure-search-static-web-app/bulk-insert
.Kör följande kommando för att installera beroendena.
dotnet restore
Kör massimportskriptet för sökning
Kör fortfarande programmet i samma underkatalog (
azure-search-static-web-app/bulk-insert
):dotnet run
När koden körs visar konsolen förlopp. Du bör se följande utdata.
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
Granska det nya sökindexet
När uppladdningen är klar är sökindexet redo att användas. Granska ditt nya index i Azure Portal.
Leta upp söktjänsten i Azure Portal.
Till vänster väljer du Sökhanteringsindex >och sedan indexet good-books.
Som standard öppnas indexet på fliken Sökutforskaren . Välj Sök om du vill returnera dokument från indexet.
Återställning av massimportfiländringar
Använd följande git-kommando i visual studiokodens integrerade terminal i bulk-insert
katalogen för att återställa ändringarna i Program.cs
filen. De behövs inte för att fortsätta självstudien och du bör inte spara eller push-överföra dina API-nycklar eller söktjänstnamn till lagringsplatsen.
git checkout .