Azure Blob Depolama içerik üzerinde arama

Azure Blob Depolama depolanan çeşitli içerik türlerini aramak zor bir sorun olabilir, ancak Azure AI Search içerik katmanında derin tümleştirme sağlar, metin bilgilerini ayıklar ve çıkarır ve daha sonra arama dizininde sorgulanabilir.

Bu makalede, bloblardan içerik ve meta verileri ayıklamak ve Azure AI Search'te bir arama dizinine göndermek için temel iş akışını gözden geçirin. Sonuçta elde edilen dizin, tam metin araması kullanılarak sorgulanabilir. İsteğe bağlı olarak, arama dışı senaryolar için bir bilgi deposuna işlenmiş blob içeriği gönderebilirsiniz.

Not

İş akışı ve oluşturma hakkında bilgi sahibi misiniz? Sonraki adımınız blob dizin oluşturucu yapılandırmadır.

Blob verilerine tam metin araması eklemek ne anlama gelir?

Azure AI Search, bulutta barındırılan özel aranabilir içeriğinizi içeren kullanıcı tanımlı dizinler üzerinden dizin oluşturmayı ve iş yüklerini sorgulamayı destekleyen tek başına bir arama hizmetidir. Arama yapılabilir içeriğinizi bulutta sorgu altyapısıyla birlikte bulmak, performans için gereklidir ve sonuçları kullanıcıların arama sorgularından beklediği hızda döndürür.

Azure AI Search, dizin katmanındaki Azure Blob Depolama ile tümleştirilir ve blob içeriğinizi ters dizinlere ve serbest biçimli metin sorgularını ve filtre ifadelerini destekleyen diğer sorgu yapılarına dizinlenmiş arama belgeleri olarak içeri aktarır. Blob içeriğiniz bir arama dizininde dizine alındığından, blob içeriğinizdeki bilgileri bulmak için Azure AI Search'teki tüm sorgu özelliklerini kullanabilirsiniz.

Girişler, tek bir kapsayıcıdaki Azure Blob Depolama bloblarınızdır. Bloblar neredeyse her tür metin verisi olabilir. Bloblarınız görüntü içeriyorsa, görüntülerden metin ve özellik oluşturmak ve ayıklamak için yapay zeka zenginleştirmesi ekleyebilirsiniz.

Çıktı her zaman istemci uygulamalarında hızlı metin araması, alma ve araştırma için kullanılan bir Azure AI Search dizinidir. arasında, dizin oluşturma işlem hattı mimarisinin kendisidir. İşlem hattı, bu makalede daha ayrıntılı olarak ele alınan dizin oluşturucu özelliğini temel alır.

Dizin oluşturulduktan ve doldurulduktan sonra blob kapsayıcınızdan bağımsız olarak bulunur, ancak değiştirilen belgelere göre dizininizi yenilemek için dizin oluşturma işlemlerini yeniden çalıştırabilirsiniz. Değişiklik algılama için tek tek bloblardaki zaman damgası bilgileri kullanılır. Yenileme mekanizması olarak zamanlanmış yürütmeyi veya isteğe bağlı dizin oluşturmayı tercih edebilirsiniz.

Blob arama çözümünde kullanılan kaynaklar

Azure AI Search, Azure Blob Depolama ve bir istemci gerekir. Azure AI Search genellikle uygulama kodunuzun sorgu API'sinin isteklerini verdiği ve yanıtı işlediği bir çözümdeki çeşitli bileşenlerden biridir. Dizin oluşturmayı işlemek için uygulama kodu da yazabilirsiniz, ancak kavram kanıtı testi ve hazırlıksız görevler için azure portalını arama istemcisi olarak kullanmak yaygın bir durum olsa da.

Blob Depolama içinde kaynak içerik sağlayan bir kapsayıcı gerekir. Dosya ekleme ve dışlama ölçütlerini ayarlayabilir ve Azure AI Search'te bir blobun hangi bölümlerinin dizine ekleneceğini belirtebilirsiniz.

Doğrudan Depolama Hesabı portalı sayfanızdan başlayabilirsiniz.

  1. Sol gezinti sayfasında Veri yönetimi'nin altında Azure AI Arama'yı seçerek bir arama hizmeti seçin veya oluşturun.

  2. Bloblarınızdan aranabilir içerik ayıklamak ve isteğe bağlı olarak oluşturmak için sihirbazdaki adımları izleyin. İş akışı, Verileri içeri aktarma sihirbazıdır. İş akışı, Azure AI Arama hizmeti üzerinde bir dizin oluşturucu, veri kaynağı, dizin ve seçenek beceri kümesi oluşturur.

    Azure Depolama portalı sayfasındaki Azure AI Arama sihirbazının ekran görüntüsü.

  3. İçeriğinizi sorgulamak için arama portalı sayfasındaki Arama gezginini kullanın.

Başlamak için en iyi yer sihirbazdır, ancak blob dizin oluşturucuyu kendiniz yapılandırırken daha esnek seçenekler keşfedeceksiniz. REST istemcisi kullanabilirsiniz. Öğretici: Yarı yapılandırılmış verileri (JSON blobları) dizine alma ve arama, REST API'yi çağırma adımlarında size yol gösterir.

Blobların dizini nasıl oluşturulur?

Varsayılan olarak çoğu blob, tek bir metin öbeği olarak dizine alınan JSON veya CSV gibi yapılandırılmış içeriğe sahip bloblar da dahil olmak üzere dizinde tek bir arama belgesi olarak dizine alınır. Ancak iç yapısı (sınırlayıcılar) olan JSON veya CSV belgeleri için ayrıştırma modları atayarak her satır veya öğe için ayrıştırma belgeleri oluşturabilirsiniz:

Bileşik veya eklenmiş belge (ZIP arşivi, ekleri içeren eklenmiş Outlook e-postası içeren bir Word belgesi veya gibi). Ekleri olan MSG dosyası) da tek bir belge olarak dizine alınır. Örneğin, eklerinden ayıklanan tüm görüntüler. MSG dosyası normalized_images alanında döndürülür. Resimleriniz varsa bu içerikten daha fazla arama yardımcı programı elde etmek için yapay zeka zenginleştirmesi eklemeyi göz önünde bulundurun.

Belgenin metin içeriği "content" adlı bir dize alanına ayıklanır. Standart ve kullanıcı tanımlı meta verileri de ayıklayabilirsiniz.

Not

Azure AI Search, fiyatlandırma katmanına bağlı olarak ayıklanan metin miktarına dizin oluşturucu sınırları uygular. Belgeler kesilirse dizin oluşturucu durum yanıtında bir uyarı görüntülenir.

İçerik ayıklama için blob dizin oluşturucu kullanma

Dizin oluşturucu, Azure AI Search'te veri örnekleme, verileri ve meta verileri okuma ve alma ve yerel biçimlerdeki verileri sonraki içeri aktarma için JSON belgelerine seri hale getirme için iç mantıkla donatılmış, veri kaynağına duyarlı bir alt hizmettir.

Azure Depolama'deki bloblar, blob dizin oluşturucu kullanılarak dizinlenir. Bu dizin oluşturucuyu, Azure Depolama'daki Azure AI Search komutunu, Verileri içeri aktarma sihirbazını, REST API'yi veya .NET SDK'sını kullanarak çağırabilirsiniz. Kodda bu dizin oluşturucuyu türü ayarlayarak ve bir Azure Depolama hesabının yanı sıra bir blob kapsayıcısı içeren bağlantı bilgileri sağlayarak kullanırsınız. Daha sonra parametre olarak geçirebileceğiniz bir sanal dizin oluşturarak veya dosya türü uzantısını filtreleyerek bloblarınızı alt kümeleyebilirsiniz.

Dizin oluşturucu içeriği incelemek için bir blob açarak "belgeyi kırıyor". Veri kaynağına bağlandıktan sonra işlem hattındaki ilk adımdır. Blob verileri için pdf, Office belgeleri ve diğer içerik türleri burada algılanır. Metin ayıklama ile belgenin kırılması ücretsizdir. Bloblarınız görüntü içeriği içeriyorsa, yapay zeka zenginleştirmesi eklemediğiniz sürece görüntüler yoksayılır. Standart dizin oluşturma yalnızca metin içeriği için geçerlidir.

Azure blob dizin oluşturucu yapılandırma parametreleriyle birlikte gelir ve temel alınan veriler yeterli bilgi sağlıyorsa değişiklik izlemeyi destekler. Azure Blob Depolama verileri dizine alma bölümünde temel işlevler hakkında daha fazla bilgi edinebilirsiniz.

Desteklenen erişim katmanları

Blob depolama erişim katmanları sık erişimli, seyrek erişimli ve arşivli katmanlardır. Dizin oluşturucular yalnızca sık erişimli ve seyrek erişimli erişim sağlayabilir.

Desteklenen içerik türleri

Kapsayıcı üzerinde blob dizin oluşturucu çalıştırarak, tek bir sorguyla aşağıdaki içerik türlerinden metin ve meta verileri ayıklayabilirsiniz:

  • CSV (bkz. CSV bloblarının dizinini oluşturma)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (bkz. JSON bloblarını dizinleme)
  • KML (coğrafi gösterimler için XML)
  • Microsoft Office biçimleri: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (Outlook e-postaları), XML (hem 2003 hem de 2006 WORD XML)
  • Belge biçimlerini açma: ODT, ODS, ODP
  • PDF
  • Düz metin dosyaları (ayrıca bkz. Düz metin dizini oluşturma)
  • RTF
  • XML
  • ZIP

Dizine alınan blobları denetleme

Hangi blobların dizine eklendiğini ve hangilerinin atlanabileceğini, blobun dosya türüne göre veya blobun kendisinde özellikleri ayarlayarak ve dizin oluşturucunun bunları atlayarak denetleyebilirsiniz.

Belirli dosya uzantılarını, virgülle ayrılmış dosya uzantıları listesine ayarlayarak "indexedFileNameExtensions" (baştaki noktayla) ekleyin. Atlanması gereken uzantıları ayarlayarak "excludedFileNameExtensions" belirli dosya uzantılarını hariç tutun. Her iki listede de aynı uzantı varsa, dizin oluşturmanın dışında tutulur.

PUT /indexers/[indexer name]?api-version=2023-11-01
{
    "parameters" : { 
        "configuration" : { 
            "indexedFileNameExtensions" : ".pdf, .docx",
            "excludedFileNameExtensions" : ".png, .jpeg" 
        } 
    }
}

Bloba "atla" meta verileri ekleme

Dizin oluşturucu yapılandırma parametreleri kapsayıcıdaki veya klasördeki tüm bloblara uygulanır. Bazen tek tek blobların nasıl dizine eklendiğini denetlemek istersiniz.

Blob Depolama bloblara aşağıdaki meta veri özelliklerini ve değerlerini ekleyin. Dizin oluşturucu bu özellikle karşılaştığında, dizin oluşturma çalıştırmasında blobu veya içeriğini atlar.

Özellik adı Özellik değeri Açıklama
"AzureSearch_Skip" "true" Blob dizin oluşturucusunun blobu tamamen atlamasını sağlar. Meta veriler veya içerik ayıklama denenemez. Bu, belirli bir blob tekrar tekrar başarısız olduğunda ve dizin oluşturma işlemini kestiğinde kullanışlıdır.
"AzureSearch_SkipContent" "true" Bu, kapsamı belirli bir blobla "dataToExtract" : "allMetadata" yukarıda açıklanan ayara eşdeğerdir.

Blob meta verilerini dizinleme

Herhangi bir içerik türünde bloblar arasında sıralamayı kolaylaştıran yaygın bir senaryo, her blob için hem özel meta verileri hem de sistem özelliklerini dizine almaktır. Bu şekilde, arama hizmetinizdeki bir dizinde depolanan belge türü ne olursa olsun tüm bloblar için bilgiler dizine eklenir. Yeni dizininizi kullanarak tüm Blob depolama içeriğinde sıralama, filtreleme ve model oluşturma işlemlerine devam edebilirsiniz.

Not

Blob Dizini etiketleri, Blob depolama hizmeti tarafından yerel olarak dizinlenir ve sorgulama için kullanıma sunulur. Bloblarınızın anahtar/değer öznitelikleri dizin oluşturma ve filtreleme özellikleri gerektiriyorsa, Blob Dizini etiketleri meta veriler yerine kullanılmalıdır.

Blob Dizini hakkında daha fazla bilgi edinmek için bkz. Blob Dizini ile Azure Blob Depolama verilerini yönetme ve bulma.

Arama dizininde blob içeriği arama

Dizin oluşturucunun çıktısı, istemci uygulamasında serbest metin ve filtrelenmiş sorgular kullanılarak etkileşimli araştırma için kullanılan bir arama dizinidir. İçeriğin ilk keşfi ve doğrulaması için, belge yapısını incelemek için portalda Arama Gezgini ile başlamanızı öneririz. Arama gezgini'nde şunları kullanabilirsiniz:

Daha kalıcı bir çözüm, sorgu girişlerini toplamak ve yanıtı bir istemci uygulamasında arama sonuçları olarak sunmaktır. Aşağıdaki C# öğreticisinde arama uygulamasının nasıl derleneceği açıklanmaktadır: ASP.NET Core (MVC) uygulamasına arama ekleme.

Sonraki adımlar