Azure Dosyalar verileri dizine alın

Önemli

Azure Dosyalar dizin oluşturucu şu anda Ek Kullanım Koşulları. Dizin oluşturucu veri kaynağını oluşturmak için önizleme REST API'sini (2020-06-30-preview veya üzeri) kullanın.

Bu makalede, Azure Dosyalar içeriği içeri aktaran ve Azure AI Search'te aranabilir hale getiren bir dizin oluşturucu yapılandırmayı öğrenin. Dizin oluşturucuya girişler, tek bir paylaşımdaki dosyalarınızdır. Çıktı, aranabilir içerik ve meta verilerin tek tek alanlarda depolandığı bir arama dizinidir.

Bu makale, Azure Depolama'da dizin oluşturma dosyalarına özgü bilgilerle dizin oluşturucu oluşturma işlemini tamamlar. Rest API'lerini kullanarak tüm dizin oluşturucular için ortak olan üç parçalı bir iş akışını gösterir: veri kaynağı oluşturma, dizin oluşturma, dizin oluşturucu oluşturma. Dizin Oluşturucu Oluştur isteğini gönderdiğinizde veri ayıklama gerçekleşir.

Önkoşullar

Desteklenen belge biçimleri

Azure Dosyalar dizin oluşturucu aşağıdaki belge biçimlerinden metin ayıklayabilir:

  • 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

Azure Dosyalar nasıl dizinlenir?

Varsayılan olarak çoğu dosya, tek bir metin öbeği olarak dizine alınan JSON veya CSV gibi yapılandırılmış içeriğe sahip dosyalar da dahil olmak üzere dizinde tek bir arama belgesi olarak dizinlenir.

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.

Veri kaynağını tanımlama

Veri kaynağı tanımı, verilerdeki değişiklikleri tanımlamak için dizine eklenecek verileri, kimlik bilgilerini ve ilkeleri belirtir. Veri kaynağı, birden çok dizin oluşturucu tarafından kullanılabilmesi için bağımsız bir kaynak olarak tanımlanır.

  1. "type" için önizleme API'sinin 2020-06-30-Preview veya sonraki bir sürümünü kullanarak tanımını ayarlamak üzere veri kaynağı oluşturun veya güncelleştirin: "azurefile".

    {
        "name" : "my-file-datasource",
        "type" : "azurefile",
        "credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" },
        "container" : { "name" : "my-file-share", "query" : "<optional-directory-name>" }
    }
    
  2. "type" değerini (gerekli) olarak "azurefile" ayarlayın.

  3. "Kimlik bilgilerini" bir Azure Depolama bağlantı dizesi olarak ayarlayın. Sonraki bölümde desteklenen biçimler açıklanmaktadır.

  4. "Kapsayıcı"yı kök dosya paylaşımına ayarlayın ve alt klasörleri belirtmek için "query" kullanın.

Kaynak belge silinmek üzere işaretlendiğinde dizin oluşturucunun bir arama belgesini silmesini istiyorsanız, veri kaynağı tanımı geçici silme ilkeleri de içerebilir.

Desteklenen kimlik bilgileri ve bağlantı dizesi

Dizin oluşturucular aşağıdaki bağlantıları kullanarak bir dosya paylaşımına bağlanabilir.

Tam erişimli depolama hesabı bağlantı dizesi
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" }
Sol gezinti bölmesinde Erişim anahtarları'nı seçerek Azure portalındaki Depolama hesabı sayfasından bağlantı dizesi alabilirsiniz. Yalnızca bir anahtar değil tam bir bağlantı dizesi seçtiğinizden emin olun.

Dizine arama alanları ekleme

Arama dizininde, Azure dosyalarınızın içeriğini ve meta verilerini kabul etmek için alanlar ekleyin.

  1. Dosya içeriğini ve meta verileri depolayacak arama alanlarını tanımlamak için bir dizin oluşturun veya güncelleştirin:

    POST /indexes?api-version=2020-06-30
    {
      "name" : "my-search-index",
      "fields": [
          { "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
          { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false },
          { "name": "metadata_storage_name", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_path", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
          { "name": "metadata_storage_size", "type": "Edm.Int64", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_content_type", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true }        
      ]
    }
    
  2. Belge anahtarı alanı oluşturma ("anahtar": true). Blob içeriği için en iyi adaylar meta veri özellikleridir. Meta veri özellikleri genellikle ve -gibi / belge anahtarları için geçersiz karakterler içerir. Dizin oluşturucunun "base64EncodeKeys" özelliği (varsayılan olarak true) olduğundan, meta veri özelliğini otomatik olarak kodlar; yapılandırma veya alan eşlemesi gerekmez.

    • metadata_storage_path (varsayılan) nesnenin veya dosyanın tam yolu

    • metadata_storage_name yalnızca adlar benzersizse kullanılabilir

    • Bloblara eklediğiniz özel meta veri özelliği. Bu seçenek, blob karşıya yükleme işleminizin bu meta veri özelliğini tüm bloblara eklemesini gerektirir. Anahtar gerekli bir özellik olduğundan, değeri eksik olan tüm bloblar dizine alınamaz. Anahtar olarak özel meta veri özelliği kullanıyorsanız, bu özellikte değişiklik yapmaktan kaçının. Anahtar özelliği değişirse dizin oluşturucular aynı blob için yinelenen belgeler ekler.

  3. Blob'un "content" özelliği aracılığıyla her dosyadan ayıklanan metni depolamak için bir "içerik" alanı ekleyin. Bu adı kullanmanız gerekmez, ancak bunu yaptığınızda örtük alan eşlemelerinden yararlanabilirsiniz.

  4. Standart meta veri özellikleri için alanlar ekleyin. Dosya dizin oluşturmada, standart meta veri özellikleri blob meta veri özellikleriyle aynıdır. Azure Dosyalar dizin oluşturucu, kısa çizgili özellik adlarını alt çizgili özellik adlarına dönüştüren bu özellikler için otomatik olarak iç alan eşlemeleri oluşturur. Yine de dizin tanımını kullanmak istediğiniz alanları eklemeniz gerekir, ancak veri kaynağında alan eşlemeleri oluşturmayı atlayabilirsiniz.

    • metadata_storage_name (Edm.String) - dosya adı. Örneğin, /my-share/my-folder/subfolder/resume.pdf bir dosyanız varsa, bu alanın değeri olur resume.pdf.
    • metadata_storage_path (Edm.String) - depolama hesabı da dahil olmak üzere dosyanın tam URI'si. Örneğin https://myaccount.file.core.windows.net/my-share/my-folder/subfolder/resume.pdf
    • metadata_storage_content_type (Edm.String) - dosyayı karşıya yüklemek için kullandığınız kod tarafından belirtilen içerik türü. Örneğin, application/octet-stream.
    • metadata_storage_last_modified (Edm.DateTimeOffset) - dosyanın son değiştirilen zaman damgası. Azure AI Search, ilk dizin oluşturma işleminden sonra her şeyin yeniden dizine alınmasını önlemek için değiştirilen dosyaları tanımlamak için bu zaman damgasını kullanır.
    • metadata_storage_size (Edm.Int64) - bayt cinsinden dosya boyutu.
    • metadata_storage_content_md5 (Edm.String) - Varsa, dosya içeriğinin MD5 karması.
    • metadata_storage_sas_token (Edm.String) - Dosyaya erişmek için özel beceriler tarafından kullanılabilecek geçici bir SAS belirteci. Bu belirtecin süresi dolabileceği için daha sonra kullanılmak üzere depolanmaması gerekir.

Azure Dosyalar dizin oluşturucusunu yapılandırma ve çalıştırma

Dizin ve veri kaynağı oluşturulduktan sonra dizin oluşturucuyu oluşturmaya hazır olursunuz. Dizin oluşturucu yapılandırması, çalışma zamanı davranışlarını denetleen girişleri, parametreleri ve özellikleri belirtir.

  1. Dizin oluşturucuya bir ad verip veri kaynağına ve hedef dizine başvurarak dizin oluşturucu oluşturun veya güncelleştirin:

    POST https://[service name].search.windows.net/indexers?api-version=2020-06-30
    {
      "name" : "my-file-indexer",
      "dataSourceName" : "my-file-datasource",
      "targetIndexName" : "my-search-index",
      "parameters": {
         "batchSize": null,
         "maxFailedItems": null,
         "maxFailedItemsPerBatch": null,
         "base64EncodeKeys": null,
         "configuration": {
            "indexedFileNameExtensions" : ".pdf,.docx",
            "excludedFileNameExtensions" : ".png,.jpeg" 
        }
      },
      "schedule" : { },
      "fieldMappings" : [ ]
    }
    
  2. İsteğe bağlı "yapılandırma" bölümünde, tüm ekleme veya dışlama ölçütlerini sağlayın. Belirtilmezse, dosya paylaşımındaki tüm dosyalar alınır.

    Hem hem de excludedFileNameExtensionsindexedFileNameExtensions parametreleri mevcutsa, Azure AI Search önce öğesine, ardından adresine excludedFileNameExtensionsbakarindexedFileNameExtensions. Her iki listede de aynı dosya uzantısı varsa, dizin oluşturmanın dışında tutulur.

  3. Alan adında veya türünde farklılıklar varsa veya arama dizininde bir kaynak alanın birden çok sürümüne ihtiyacınız varsa alan eşlemelerini belirtin.

    Dizin oluşturucunun "içerik" ve meta veri özelliklerini dizindeki benzer adlandırılmış ve yazılan alanlarla eşlemeye yönelik yerleşik desteği olduğundan, dosya dizin oluşturmada alan eşlemelerini atlayabilirsiniz. Meta veri özellikleri için dizin oluşturucu, kısa çizgileri - arama dizinindeki alt çizgilerle otomatik olarak değiştirir.

  4. Diğer özellikler hakkında daha fazla bilgi için bkz . Dizin oluşturucu oluşturma.

Dizin oluşturucu oluşturulduğunda otomatik olarak çalışır. "Devre dışı" ayarını true olarak ayarlayarak bunu önleyebilirsiniz. Dizin oluşturucu yürütmesini denetlemek için isteğe bağlı olarak bir dizin oluşturucu çalıştırın veya zamanlamaya yerleştirin.

Dizin oluşturucu durumunu denetleme

Dizin oluşturucu durumunu ve yürütme geçmişini izlemek için Dizin Oluşturucu Durumunu Al isteği gönderin:

GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2020-06-30
  Content-Type: application/json  
  api-key: [admin key]

Yanıt, durumu ve işlenen öğe sayısını içerir. Aşağıdaki örneğe benzer görünmelidir:

    {
        "status":"running",
        "lastResult": {
            "status":"success",
            "errorMessage":null,
            "startTime":"2022-02-21T00:23:24.957Z",
            "endTime":"2022-02-21T00:36:47.752Z",
            "errors":[],
            "itemsProcessed":1599501,
            "itemsFailed":0,
            "initialTrackingState":null,
            "finalTrackingState":null
        },
        "executionHistory":
        [
            {
                "status":"success",
                "errorMessage":null,
                "startTime":"2022-02-21T00:23:24.957Z",
                "endTime":"2022-02-21T00:36:47.752Z",
                "errors":[],
                "itemsProcessed":1599501,
                "itemsFailed":0,
                "initialTrackingState":null,
                "finalTrackingState":null
            },
            ... earlier history items
        ]
    }

Yürütme geçmişi, en son tamamlanan yürütmelerin en son 50'sini içerir ve en son yürütme önce gelecek şekilde ters kronolojik sırada sıralanır.

Sonraki adımlar

Artık dizin oluşturucuyu çalıştırabilir, durumu izleyebilir veya dizin oluşturucu yürütmesini zamanlayabilirsiniz. Aşağıdaki makaleler Azure Depolama'dan içerik çeken dizin oluşturucular için geçerlidir: