2. lépés – A keresési index létrehozása és betöltése
Folytassa a kereséssel kompatibilis webhely összeállítását az alábbi lépések végrehajtásával:
- Új index létrehozása
- Adatok betöltése
A program az Azure.Search.Documents szolgáltatást használja a .NET-hez készült Azure SDK-ban:
Mielőtt hozzákezd, győződjön meg arról, hogy van helye a keresési szolgáltatásban egy új indexhez. Az ingyenes szint korlátja három index. Az alapszintű szint korlátja 15.
A tömeges importálási szkript előkészítése a Kereséshez
A Visual Studio Code-ban nyissa meg a
Program.cs
fájlt az alkönyvtárban,azure-search-static-web-app/bulk-insert
és cserélje le a következő változókat a saját értékeire az Azure Search SDK-val való hitelesítéshez.- YOUR-SEARCH-SERVICE-NAME (nem a teljes URL-cím)
- YOUR-SEARCH-ADMIN-API-KEY (lásd: API-kulcsok keresése)
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"); }
Nyisson meg egy integrált terminált a Visual Studio Code-ban a projektkönyvtár alkönyvtárához.
azure-search-static-web-app/bulk-insert
Futtassa a következő parancsot a függőségek telepítéséhez.
dotnet restore
A keresés tömeges importálási szkriptjének futtatása
Továbbra is ugyanabban az alkönyvtárban (
azure-search-static-web-app/bulk-insert
) futtassa a programot:dotnet run
A kód futtatásakor a konzol megjeleníti az előrehaladást. A következő kimenetnek kell megjelennie.
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
Az új keresési index áttekintése
A feltöltés befejezése után a keresési index készen áll a használatra. Tekintse át az új indexet az Azure Portalon.
Az Azure Portalon keresse meg a keresési szolgáltatást.
A bal oldalon válassza a Kereséskezelési > indexek lehetőséget, majd a jó könyvek indexét.
Alapértelmezés szerint az index megnyílik a Kereséskezelő lapon. A Keresés gombra kattintva dokumentumokat ad vissza az indexből.
Tömeges importálási fájlmódosítások visszaállítása
A fájl módosításainak visszaállításához használja az alábbi Git-parancsot a bulk-insert
Visual Studio Code integrált termináljában.Program.cs
Ezekre nincs szükség az oktatóanyag folytatásához, és nem szabad mentenie vagy leküldnie az API-kulcsokat vagy a keresési szolgáltatás nevét az adattárba.
git checkout .