Azure AI Search'te veri içeri aktarma
Azure AI Search'te sorgular, bir arama dizinine yüklenen kullanıcıya ait içerik üzerinde yürütülür. Bu makalede, dizini doldurmaya yönelik iki temel iş akışı açıklanmaktadır: verilerinizi program aracılığıyla dizine gönderme veya arama dizin oluşturucu kullanarak verileri çekme.
Her iki yaklaşım da dış veri kaynağından belge yükler. Boş bir dizin oluşturabilmenize rağmen, içeriği ekleyene kadar bu sorgulanamaz.
Not
Yapay zeka zenginleştirme veya tümleşik vektörleştirme çözüm gereksinimleriyse, bir dizini yüklemek için çekme modelini (dizin oluşturucular) kullanmanız gerekir. Beceri kümeleri dizin oluşturuculara bağlıdır ve bağımsız olarak çalışmaz.
Verileri dizine gönderme
Gönderme modeli, mevcut bir arama dizinine belge yüklemek için API'leri kullanan bir yaklaşımdır. Belgeleri tek tek veya toplu iş başına 1000'e kadar veya toplu iş başına 16 MB'a kadar (hangisi önce gelirse) karşıya yükleyebilirsiniz.
Başlıca yararları şunlardır:
Veri kaynağı türüyle ilgili bir kısıtlama yoktur. Yük, dizin şemanızla eşlenen JSON belgelerinden oluşmalıdır, ancak veriler her yerden kaynaklanabilir.
Yürütme sıklığıyla ilgili bir kısıtlama yoktur. Değişiklikleri istediğiniz sıklıkta dizine gönderebilirsiniz. Düşük gecikme süresi gereksinimlerine sahip uygulamalar için (örneğin, dizinin ürün envanteri dalgalanmalarıyla eşitlenmesi gerektiğinde), tek seçeneğiniz gönderim modelidir.
Bağlantı ve belgelerin güvenli bir şekilde alınması tamamen sizin denetiminizdedir. Buna karşılık, dizin oluşturucu bağlantılarının kimliği Azure AI Search'te sağlanan güvenlik özellikleri kullanılarak doğrulanır.
Azure AI Search dizinine veri gönderme
Dizine tek veya birden çok belge yüklemek için aşağıdaki API'leri kullanın:
- Dizin Belgeleri (REST API)
- IndexDocumentsAsync (.NET için Azure SDK) veya SearchIndexingBufferedSender
- IndexDocumentsBatch (Python için Azure SDK) veya SearchIndexingBufferedSender
- IndexDocumentsBatch (Java için Azure SDK) veya SearchIndexingBufferedSender
- IndexDocumentsBatch (JavaScript veya SearchIndexingBufferedSender için Azure SDK'sı
Azure portalı üzerinden veri gönderme desteği yoktur.
Anında iletme API'lerine giriş için bkz:
- Hızlı Başlangıç: Azure SDK'larını kullanarak tam metin araması
- C# Öğreticisi: Gönderme API'si ile dizin oluşturmayı iyileştirme
- REST Hızlı Başlangıç: PowerShell kullanarak Azure AI Search dizini oluşturma
Dizin oluşturma eylemleri: karşıya yükleme, birleştirme, birleştirmeYükleme, silme
Dizin oluşturma eyleminin türünü, belgenin tam olarak yüklenmesini, var olan belge içeriğiyle birleştirilmesini veya silinmesini belirterek, belge temelinde denetleyebilirsiniz.
REST API'yi veya Azure SDK'sını kullansanız da, veri içeri aktarma için aşağıdaki belge işlemleri desteklenir:
Belge yeniyse eklendiği ve varsa güncelleştirildiği veya değiştirildiği bir "upsert" örneğine benzer şekilde karşıya yükleyin. Belgede dizinin gerektirdiği değerler eksikse, belge alanının değeri null olarak ayarlanır.
merge zaten var olan bir belgeyi güncelleştirir ve bulunamıyor bir belgeyi başarısız olur. Birleştirme, mevcut değerlerin yerini alır. Bu nedenle, türünde
Collection(Edm.String)
alanlar gibi birden çok değer içeren koleksiyon alanlarını denetlemeyi unutmayın. Örneğin, birtags
alan değeriyle["budget"]
başlıyorsa ve ile["economy", "pool"]
bir birleştirme yürütürseniz, alanın son değeritags
olur["economy", "pool"]
. Bu["budget", "economy", "pool"]
olmayacak.mergeOrUpload, belge varsa birleştirme ve belge yeniyse karşıya yükleme gibi davranır.
delete , belgenin tamamını dizinden kaldırır. Tek bir alanı kaldırmak istiyorsanız, bunun yerine birleştirmeyi kullanın ve söz konusu alanı null olarak ayarlayın.
Verileri dizine çekme
Çekme modeli, desteklenen bir veri kaynağına bağlanan dizin oluşturucuları kullanır ve verileri otomatik olarak dizininize yükler. Microsoft'un dizin oluşturucuları şu platformlar için kullanılabilir:
- Azure Blob Depolama
- Azure Tablo Depolama
- Azure Data Lake Storage 2. Nesil
- Azure Dosyalar (önizleme)
- Azure Cosmos DB
- Azure VM'lerinde Azure SQL Veritabanı, SQL Yönetilen Örneği ve SQL Server
- OneLake dosyaları ve kısayolları
- SharePoint Online (önizleme)
Microsoft iş ortakları tarafından geliştirilen ve bakımı yapılan üçüncü taraf bağlayıcıları kullanabilirsiniz. Daha fazla bilgi ve bağlantı için bkz . Veri kaynağı galerisi.
Dizin oluşturucular bir dizini bir veri kaynağına (genelde tablo, görünüm veya eşdeğer bir yapı) bağlar ve kaynak alanları dizindeki eşdeğer alanlara eşler. Yürütme sırasında satır kümesi otomatik olarak JSON'a dönüştürülür ve belirtilen dizine yüklenir. Tüm dizin oluşturucular, verilerin ne sıklıkta yenileneceğini belirtebilmeniz için zamanlamaları destekler. Çoğu dizin oluşturucular veri kaynağının desteklemesi durumunda değişiklik izleme özelliği sunar. Dizin oluşturucular, var olan belgelerdeki değişiklikleri ve silmeleri takip etmenin yanı sıra yeni belgeleri tanıyarak, dizininizdeki verileri aktif şekilde yönetme ihtiyacını ortadan kaldırır.
Azure AI Search dizinine veri çekme
Dizin oluşturucu tabanlı dizin oluşturma için aşağıdaki araçları ve API'leri kullanın:
- Verileri içeri aktarma sihirbazı veya Verileri içeri aktarma ve vektörleştirme sihirbazı
- REST API'leri: Dizin Oluşturucu (REST), Veri Kaynağı Oluştur (REST), Dizin Oluştur (REST)
- .NET için Azure SDK: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Python için Azure SDK: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Java için Azure SDK: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- JavaScript için Azure SDK: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
Dizin oluşturucu işlevselliği [Azure portalı], REST API ve .NET SDK'sında kullanıma sunulur.
Portalı kullanmanın bir avantajı, Azure AI Search'ün genellikle kaynak veri kümesinin meta verilerini okuyarak varsayılan bir dizin şeması oluşturabilmesidir.
Arama gezgini ile veri içeri aktarmayı doğrulama
Belge yüklemesinde ön denetim gerçekleştirmenin hızlı bir yolu, portalda Arama gezginini kullanmaktır.
Bu gezgin, bir dizini kod yazmadan sorgulamanızı sağlar. Arama deneyimi basit söz dizimi ve varsayılan searchMode sorgu parametresi gibi varsayılan ayarlara bağlıdır. Belgenin tamamını inceleyebilmeniz için sonuçlar JSON biçiminde döndürülür.
JSON görünümünde Arama Gezgini'nde çalıştırabileceğiniz örnek bir sorgu aşağıda verilmiştır. "HotelId", hotels-sample-index belge anahtarıdır. Filtre, belirli bir belgenin belge kimliğini sağlar:
{
"search": "*",
"filter": "HotelId eq '50'"
}
REST kullanıyorsanız, bu Arama sorgusu aynı amaca ulaşır.