2. Adım - Arama dizinini oluşturma ve yükleme
Şu adımları izleyerek arama özellikli web sitenizi oluşturmaya devam edin:
- Yeni dizin oluşturma
- Verileri yükleme
Program, .NET için Azure SDK'sında Azure.Search.Documents kullanır:
Başlamadan önce arama hizmetinizde yeni bir dizin için yer olduğundan emin olun. Ücretsiz katman sınırı üç dizindir. Temel katman sınırı 15'tir.
Toplu içeri aktarma betiğini Arama için hazırlama
Visual Studio Code'da dosyasını alt dizininde açın
Program.cs
veazure-search-static-web-app/bulk-insert
Azure Search SDK'sı ile kimlik doğrulaması yapmak için aşağıdaki değişkenleri kendi değerlerinizle değiştirin.- ADINIZ-ARAMA-HİzMETİ-ADI (tam URL değil)
- YOUR-SEARCH-ADMIN-API-KEY (bkz . API anahtarlarını bulma)
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"); }
Proje dizininin alt dizini
azure-search-static-web-app/bulk-insert
için Visual Studio Code'da tümleşik bir terminal açın.Bağımlılıkları yüklemek için aşağıdaki komutu çalıştırın.
dotnet restore
Arama için toplu içeri aktarma betiğini çalıştırma
Yine aynı alt dizinde ()
azure-search-static-web-app/bulk-insert
programı çalıştırın:dotnet run
Kod çalışırken konsol ilerleme durumunu görüntüler. Aşağıdaki çıkışı görmelisiniz.
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
Yeni arama dizinini gözden geçirme
Karşıya yükleme tamamlandıktan sonra arama dizini kullanıma hazır olur. Azure portalında yeni dizininizi gözden geçirin.
Azure portalında arama hizmetinizi bulun.
Sol tarafta Arama Yönetimi > Dizinleri'ni ve ardından good-books dizinini seçin.
Varsayılan olarak, dizin Arama Gezgini sekmesinde açılır. Dizinden belge döndürmek için Ara'yı seçin.
Toplu içeri aktarma dosyası değişikliklerini geri alma
Değişiklikleri Program.cs
dosyaya geri almak için dizindeki Visual Studio Code tümleşik terminalinde bulk-insert
aşağıdaki git komutunu kullanın. Öğreticiye devam etmek için gerekli değildir ve API anahtarlarınızı veya arama hizmeti adınızı deponuza kaydetmemeniz veya göndermemeniz gerekir.
git checkout .