Langkah 2 - Membuat dan memuat indeks pencarian
Lanjutkan membangun situs web yang mendukung pencarian Anda dengan mengikuti langkah-langkah berikut:
- Membuat indeks baru
- Memuat Data
Program ini menggunakan Azure.Search.Documents di Azure SDK untuk .NET:
Sebelum memulai, pastikan Anda memiliki ruang di layanan pencarian Anda untuk indeks baru. Batas tingkat gratis adalah tiga indeks. Batas tingkat Dasar adalah 15.
Menyiapkan skrip impor massal untuk Pencarian
Di Visual Studio Code, buka
Program.cs
file di subdirektori,azure-search-static-web-app/bulk-insert
, ganti variabel berikut dengan nilai Anda sendiri untuk mengautentikasi dengan Azure Search SDK.- YOUR-SEARCH-SERVICE-NAME (bukan URL lengkap)
- YOUR-SEARCH-ADMIN-API-KEY (lihat Menemukan kunci 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"); }
Buka terminal terintegrasi di Visual Studio Code untuk subdirektori direktori proyek,
azure-search-static-web-app/bulk-insert
.Jalankan perintah berikut untuk menginstal dependensi.
dotnet restore
Menjalankan skrip impor massal untuk Pencarian
Masih dalam subdirektori yang sama (
azure-search-static-web-app/bulk-insert
), jalankan program:dotnet run
Saat kode berjalan, konsol menampilkan kemajuan. Anda akan menemukan keluaran berikut.
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
Meninjau indeks pencarian baru
Setelah unggahan selesai, indeks pencarian siap digunakan. Tinjau indeks baru Anda di portal Azure.
Di portal Azure, temukan layanan pencarian Anda.
Di sebelah kiri, pilih Indeks Manajemen > Pencarian, lalu pilih indeks buku bagus.
Secara default, indeks terbuka di tab Penjelajah Pencarian. Pilih Cari untuk mengembalikan dokumen dari indeks.
Mengembalikan perubahan file impor massal
Gunakan perintah git berikut di terminal terintegrasi Visual Studio Code di bulk-insert
direktori untuk mengembalikan perubahan pada Program.cs
file. Mereka tidak diperlukan untuk melanjutkan tutorial dan Anda tidak boleh menyimpan atau mendorong kunci API atau nama layanan pencarian ke repositori Anda.
git checkout .