Azure AI Search'te dizin oluşturucular

Azure AI Search'teki dizin oluşturucu, bulut veri kaynaklarından metin verilerini ayıklayan ve kaynak verilerle arama dizini arasındaki alandan alana eşlemeleri kullanarak arama dizinini dolduran bir gezgindir. Arama hizmeti, dizine veri ekleyen herhangi bir kod yazmanıza gerek kalmadan verileri içeri çektiğinden bu yaklaşım bazen 'çekme modeli' olarak adlandırılır.

Dizin oluşturucular ayrıca beceri kümesi yürütme ve yapay zeka zenginleştirmesi sağlar. Burada, dizine yönlendiren içeriğin ek işlenmesini tümleştirmek için becerileri yapılandırabilirsiniz. Görüntü dosyaları üzerinde OCR, veri öbekleme için metin bölme becerisi, birden çok dil için metin çevirisi birkaç örnektir.

Dizin oluşturucular desteklenen veri kaynaklarını hedefler. Dizin oluşturucu yapılandırması bir veri kaynağı (kaynak) ve bir arama dizini (hedef) belirtir. Azure Blob Depolama gibi çeşitli kaynaklar, söz konusu içerik türüne özgü daha fazla yapılandırma özelliğine sahiptir.

Dizin oluşturucuları isteğe bağlı olarak veya beş dakikada bir çalışan yinelenen bir veri yenileme zamanlaması üzerinde çalıştırabilirsiniz. Daha sık yapılan güncelleştirmeler, hem Azure AI Search'teki hem de dış veri kaynağınızdaki verileri aynı anda güncelleştiren bir "anında iletme modeli" gerektirir.

Arama hizmeti, arama birimi başına bir dizin oluşturucu işi çalıştırır. Eşzamanlı işlemeye ihtiyacınız varsa, yeterli çoğaltmaya sahip olduğunuzdan emin olun. Dizin oluşturucular arka planda çalışmaz, bu nedenle hizmet baskı altındaysa normalden daha fazla sorgu azaltması algılayabilirsiniz.

Dizin oluşturucu senaryoları ve kullanım örnekleri

Veri alımı için tek araç olarak veya diğer tekniklerle birlikte bir dizin oluşturucu kullanabilirsiniz. Aşağıdaki tabloda ana senaryolar özetlemektedir.

Senaryo Strateji
Tek veri kaynağı Bu düzen en basit olanıdır: bir veri kaynağı, arama dizini için tek içerik sağlayıcısıdır. Desteklenen veri kaynaklarının çoğu, sonraki dizin oluşturucu çalıştırmalarının kaynağa içerik eklendiğinde veya güncelleştirildiğinde farkı alması için bir tür değişiklik algılaması sağlar.
Birden çok veri kaynağı Dizin oluşturucu belirtiminin tek bir veri kaynağı olabilir, ancak arama dizininin kendisi birden çok kaynaktan içerik kabul edebilir ve burada her dizin oluşturucu çalıştırması farklı bir veri sağlayıcısından yeni içerik getirir. Her kaynak, tam belge paylaşımına katkıda bulunabilir veya her belgedeki seçili alanları doldurabilir. Bu senaryoya daha yakından bakmak için bkz . Öğretici: Birden çok veri kaynağından dizin oluşturma.
Birden çok dizin oluşturucu Çalışma zamanı parametrelerini, zamanlamayı veya alan eşlemelerini değiştirmeniz gerekiyorsa genellikle birden çok veri kaynağı birden çok dizin oluşturucuyla eşleştirilir.

Azure AI Search'ün bölgeler arası ölçeğini genişletme başka bir senaryodur. Farklı bölgelerde aynı arama dizininin kopyaları olabilir. Arama dizini içeriğini eşitlemek için, her dizin oluşturucunun her bölgede farklı bir arama dizinini hedeflediği aynı veri kaynağından çeken birden çok dizin oluşturucunuz olabilir.

Çok büyük veri kümelerinin paralel dizinlenmesi , her dizin oluşturucunun verilerin bir alt kümesini hedeflediği çok dizinli bir strateji de gerektirir.
İçerik dönüştürme Dizin oluşturucular beceri kümesi yürütme ve yapay zeka zenginleştirmesi sağlar. İçerik dönüştürmeleri, dizin oluşturucuya eklediğiniz beceri kümesinde tanımlanır. Veri öbeklemesi ve vektörleştirmeyi birleştirmek için becerileri kullanabilirsiniz.

Her hedef dizin ve veri kaynağı bileşimi için bir dizin oluşturucu oluşturmayı planlamanız gerekir. Aynı dizine birden çok dizin oluşturucu yazabilir ve aynı veri kaynağını birden çok dizin oluşturucu için yeniden kullanabilirsiniz. Ancak, bir dizin oluşturucu aynı anda yalnızca bir veri kaynağı kullanabilir ve yalnızca tek bir dizine yazabilir. Aşağıdaki grafikte gösterildiği gibi, bir veri kaynağı tek bir dizin oluşturucuya giriş sağlar ve ardından tek bir dizini doldurur:

Diagram of indexer workflow.

Aynı anda yalnızca bir dizin oluşturucu kullanabilirsiniz, ancak kaynaklar farklı birleşimlerde kullanılabilir. Bir sonraki çizimde dikkat edilmesi gereken nokta, bir veri kaynağının birden fazla dizin oluşturucuyla eşleştirilebileceği ve birden çok dizin oluşturucunun aynı dizine yazabileceğidir.

Diagram of multiple combinations of data sources, indexers, and indexes.

Desteklenen veri kaynakları

Dizin oluşturucular, Azure'da ve Azure dışındaki veri depolarında gezinmektedir.

Cassandra için Azure Cosmos DB desteklenmez.

Dizin oluşturucular tablo veya görünüm gibi düzleştirilmiş satır kümelerini ya da kapsayıcı veya klasördeki öğeleri kabul etmektedir. Çoğu durumda satır, kayıt veya öğe başına bir arama belgesi oluşturur.

Uzak veri kaynaklarına dizin oluşturucu bağlantıları, paylaşılan bir özel bağlantı kullandığınızda standart İnternet bağlantıları (genel) veya şifrelenmiş özel bağlantılar kullanılarak yapılabilir. Yönetilen kimlik kullanarak kimlik doğrulaması yapmak için bağlantılar da ayarlayabilirsiniz. Güvenli bağlantılar hakkında daha fazla bilgi için bkz. Azure ağ güvenlik özellikleri tarafından korunan içeriğe dizin oluşturucu erişimi ve yönetilen kimlik kullanarak veri kaynağına Bağlan.

Dizin oluşturma aşamaları

İlk çalıştırmada, dizin boş olduğunda, bir dizin oluşturucu tablo veya kapsayıcıda sağlanan tüm verilerde okur. Sonraki çalıştırmalarda, dizin oluşturucu genellikle yalnızca değiştirilen verileri algılayabilir ve alabilir. Blob verileri için değişiklik algılama otomatiktir. Azure SQL veya Azure Cosmos DB gibi diğer veri kaynakları için değişiklik algılama etkinleştirilmelidir.

Bir dizin oluşturucu, aldığı her belge için, belge alımından dizin oluşturma için son arama altyapısı "iletim" aşamasına kadar birden çok adımı uygular veya koordine eder. İsteğe bağlı olarak, bir beceri kümesinin tanımlandığı varsayılarak dizin oluşturucu beceri kümesi yürütme ve çıkışlarını da yönlendirir.

Diagram of indexer stages.

1. Aşama: Belge çatlama

Belgeyi çatlatma, dosyaları açma ve içerik ayıklama işlemidir. Metin tabanlı içerik bir hizmetteki dosyalardan, tablodaki satırlardan veya kapsayıcı veya koleksiyondaki öğelerden ayıklanabilir. Beceri kümesi ve görüntü becerileri eklerseniz, belge çatlama görüntüleri ayıklayabilir ve görüntü işleme için kuyruğa alabilir.

Dizin oluşturucu, veri kaynağına bağlı olarak, dizinlenebilir olabilecek içeriği ayıklamak için farklı işlemler dener:

  • Belge PDF gibi ekli görüntüler içeren bir dosya olduğunda, dizin oluşturucu metin, görüntü ve meta verileri ayıklar. Dizin oluşturucular dosyaları Azure Blob Depolama, Azure Data Lake Storage 2. Nesil ve SharePoint'ten açabilir.

  • Belge Azure SQL'de bir kayıt olduğunda, dizin oluşturucu her kayıttaki her alandan ikili olmayan içeriği ayıklar.

  • Belge Azure Cosmos DB'de bir kayıt olduğunda, dizin oluşturucu Azure Cosmos DB belgesindeki alanlardan ve alt alanlardan ikili olmayan içeriği ayıklar.

2. Aşama: Alan eşlemeleri

Dizin oluşturucu bir kaynak alandan metin ayıklar ve bunu bir dizin veya bilgi deposundaki hedef alana gönderir. Alan adları ve veri türleri çakıştığında yol temizdir. Ancak çıkışta farklı adlar veya türler olmasını isteyebilirsiniz. Bu durumda, dizin oluşturucuya alanı nasıl eşleyebileceğini bildirmeniz gerekir.

Alan eşlemelerini belirtmek için dizin oluşturucu tanımına kaynak ve hedef alanları girin.

Alan eşlemesi, belgenin kırılmasından sonra, ancak dönüştürmelerden önce, dizin oluşturucu kaynak belgelerden okurken gerçekleşir. Bir alan eşlemesi tanımladığınızda, kaynak alanın değeri olduğu gibi hedef alana hiçbir değişiklik yapılmadan gönderilir.

3. Aşama: Beceri kümesi yürütme

Beceri kümesi yürütme, yerleşik veya özel yapay zeka işlemeyi çağıran isteğe bağlı bir adımdır. Beceri kümeleri, içerik ikiliyse optik karakter tanıma (OCR) veya diğer görüntü analizi biçimlerini ekleyebilir. Beceri kümeleri doğal dil işleme de ekleyebilir. Örneğin, metin çevirisi veya anahtar tümcecik ayıklaması ekleyebilirsiniz.

Dönüştürme ne olursa olsun, beceri kümesi yürütmesi zenginleştirmenin gerçekleştiği yerdir. Dizin oluşturucu bir işlem hattıysa, beceri kümesini "işlem hattı içinde işlem hattı" olarak düşünebilirsiniz.

4. Aşama: Çıkış alanı eşlemeleri

Beceri kümesi eklerseniz, dizin oluşturucu tanımında çıkış alanı eşlemeleri belirtmeniz gerekir. Beceri kümesinin çıkışı, dahili olarak zenginleştirilmiş belge olarak adlandırılan bir ağaç yapısı olarak gösterilir. Çıkış alanı eşlemeleri, bu ağacın hangi bölümlerinin dizininizdeki alanlara eşleyebileceğinizi seçmenize olanak sağlar.

Adlardaki benzerliğe rağmen, çıkış alanı eşlemeleri ve alan eşlemeleri farklı kaynaklardan ilişkilendirmeler oluşturur. Alan eşlemeleri, kaynak alanın içeriğini arama dizinindeki bir hedef alanla ilişkilendirir. Çıktı alanı eşlemeleri, iç zenginleştirilmiş belgenin (beceri çıkışları) içeriğini dizindeki hedef alanlarla ilişkilendirir. İsteğe bağlı olarak kabul edilen alan eşlemelerinden farklı olarak, dizinde olması gereken dönüştürülen içerikler için çıkış alanı eşlemesi gerekir.

Sonraki görüntüde, dizin oluşturucu aşamalarının örnek dizin oluşturucu hata ayıklama oturumu gösterimi gösterilmektedir: belge çatlaması, alan eşlemeleri, beceri kümesi yürütme ve çıktı alanı eşlemeleri.

Screenshot of a sample debug session.

Temel iş akışı

Dizin oluşturucular veri kaynağına özgü özellikler sunabilir. Bu bakımdan, dizin oluşturucu veya veri kaynağı yapılandırmasının bazı boyutları dizin oluşturucu türüne göre farklılık gösterir. Bununla birlikte, tüm dizin oluşturucuların temel birleşimi ve gereksinimleri aynıdır. Tüm dizin oluşturucularda ortak olan adımlar aşağıda ele alınmıştır.

1. Adım: Veri kaynağı oluşturma

Dizin oluşturucular, bir bağlantı dizesi ve muhtemelen kimlik bilgileri sağlayan bir veri kaynağı nesnesi gerektirir. Veri kaynakları bağımsız nesnelerdir. Birden çok dizin oluşturucu aynı veri kaynağı nesnesini kullanarak aynı anda birden fazla dizin yükleyebilir.

Aşağıdaki yaklaşımlardan herhangi birini kullanarak bir veri kaynağı oluşturabilirsiniz:

  • Azure portalını kullanarak, arama hizmeti sayfalarınızın Veri kaynakları sekmesinde Veri kaynağı ekle'yi seçerek veri kaynağı tanımını belirtin.
  • Azure portalını kullanarak Verileri içeri aktarma sihirbazı bir veri kaynağı oluşturur.
  • REST API'lerini kullanarak Veri Kaynağı Oluştur'u çağırın.
  • .NET için Azure SDK'yı kullanarak SearchIndexerDataSource Bağlan ion sınıfını çağırın

2. Adım: Dizin oluşturma

Dizin oluşturucu veri alımıyla ilgili bazı görevleri otomatikleştirir, ancak dizin oluşturma genellikle bu görevlerden biri değildir. Önkoşul olarak, dış veri kaynağınızdaki herhangi bir kaynak alan için karşılık gelen hedef alanları içeren önceden tanımlanmış bir dizininiz olmalıdır. Alanların ada ve veri türüne göre eşleşmesi gerekir. Aksi takdirde, ilişkilendirmeyi oluşturmak için alan eşlemeleri tanımlayabilirsiniz.

Daha fazla bilgi için bkz . Dizin oluşturma.

3. Adım: Dizin oluşturucuyu oluşturma ve çalıştırma (veya zamanlama)

Dizin oluşturucu tanımı, dizin oluşturucuyu benzersiz olarak tanımlayan, hangi veri kaynağının ve dizinin kullanılacağını belirten ve dizin oluşturucunun isteğe bağlı veya bir zamanlamaya göre çalışıp çalışmadığı dahil olmak üzere çalışma zamanı davranışlarını etkileyen diğer yapılandırma seçeneklerini sağlayan özelliklerden oluşur.

Dizin oluşturucu yürütmesi sırasında veri erişimi veya beceri kümesi doğrulamasıyla ilgili hatalar veya uyarılar oluşur. Dizin oluşturucu yürütmesi başlayana kadar veri kaynakları, dizinler ve beceri kümeleri gibi bağımlı nesneler arama hizmetinde pasiftir.

Daha fazla bilgi için bkz. Dizin oluşturucu oluşturma

İlk dizin oluşturucu çalıştırıldıktan sonra isteğe bağlı olarak yeniden çalıştırabilir veya bir zamanlama ayarlayabilirsiniz.

Dizin oluşturucu durumunu portalda veya Dizin Oluşturucu Durum API'sini Al aracılığıyla izleyebilirsiniz. Sonucun beklediğiniz gibi olduğunu doğrulamak için dizinde sorgular da çalıştırmanız gerekir.

Dizin oluşturucuların ayrılmış işleme kaynakları yoktur. Buna bağlı olarak, dizin oluşturucuların durumu çalışmadan önce boşta olarak görünebilir (kuyruktaki diğer işlere bağlı olarak) ve çalışma süreleri tahmin edilebilir olmayabilir. Belge boyutu, belge karmaşıklığı, görüntü analizi gibi diğer faktörler de dizin oluşturucu performansını tanımlar.

Sonraki adımlar

Dizin oluşturucularla tanıştırıldığınıza göre, bir sonraki adım dizin oluşturucu özelliklerini ve parametrelerini, zamanlamayı ve dizin oluşturucu izlemeyi gözden geçirmektir. Alternatif olarak, belirli bir kaynak hakkında daha fazla bilgi için desteklenen veri kaynakları listesine dönebilirsiniz.