Azure Yapay Zeka Arama'de Markdown bloblarını ve dosyalarını dizine alma

Not

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Important

Bu özellikler ve işlevler, diğer Microsoft hizmetleri ve üçüncü taraf hizmetlerle bağlantıları destekler. Bu hizmetlerin kullanımı ilgili koşullara tabidir ve Azure uyumluluk sınırının dışında veri işleme veya depolamanın yanı sıra Azure uyumluluk sınırına akan verilere neden olabilir.

Verilerinizin kuruluşunuzun uyumluluk ve coğrafi sınırları dışında akıp akmayacağını ve ilgili etkileri ve uygun izinlerin, sınırların ve onayların sağlanıp sağlanmayacağını yönetmek sizin sorumluluğunuzdadır.

Özel kullanım örnekleriniz bağlamında oluşturduğunuz uygulamaları dikkatle gözden geçirmek ve test etmek ve tüm uygun kararları ve özelleştirmeleri yapmak sizin sorumluluğunuzdadır. Bu, metapromptlar, içerik filtreleri veya diğer güvenlik sistemleri gibi sorumlu yapay zeka risk azaltmalarınızı uygulamayı ve uygulamalarınızın uygun kalite, güvenilirlik, güvenlik ve güvenilirlik standartlarını karşılamasını sağlamayı içerir. Daha fazla bilgi için bkz. Azure Yapay Zeka Arama Saydamlık Notu.

Azure Yapay Zeka Arama'da Azure Blob Depolama, Azure Dosyalar ve Microsoft OneLake için dizin oluşturucular Markdown dosyaları için markdown ayrıştırma modunu destekler. Markdown dosyaları iki şekilde dizine eklenebilir:

  • Markdown dosyası başına birden çok arama belgesi oluşturan bire çok ayrıştırma modu.
  • Markdown dosyası başına bir arama belgesi oluşturan bire bir ayrıştırma modu.

Ipucu

Bu makaleyi gözden geçirdikten sonra Tutorial: Azure Blob Depolama'dan Markdown verilerini ara bölümüne geçin.

Önkoşullar

Markdown ayrıştırma modu parametreleri

Ayrıştırma modu parametreleri, dizin oluşturucu oluşturduğunuzda veya güncelleştirdiğinizde dizin oluşturucu tanımında belirtilir.

POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]

{
  "name": "my-markdown-indexer",
  "dataSourceName": "my-blob-datasource",
  "targetIndexName": "my-target-index",
  "parameters": {
    "configuration": {
      "parsingMode": "markdown",
      "markdownParsingSubmode": "oneToMany",
      "markdownHeaderDepth": "h6"
    }
  },
}

Blob dizin oluşturucu, arama belgelerinin çıkış yapısını belirlemek için bir submode parametre sağlar. Markdown ayrıştırma modu aşağıdaki alt mod seçeneklerini sağlar:

ayrıştırmaModu altmode Belge arama Açıklama
markdown oneToMany Blob başına birden fazla (varsayılan) Markdown'ı, her biri Markdown dosyasının içerik (başlıksız) bölümünü temsil eden birden çok arama belgesine böler. Bire bir ayrıştırma istemiyorsanız submode'u atlayabilirsiniz.
markdown oneToOne Blob başına bir tane Markdown'ı, dosyadaki belirli üst başlıklara eşlenen bölümlerle tek bir arama belgesine ayrıştırır.

oneToMany alt mod için, blob dizin oluşturucunun aynı blobtan oluşturulan birden çok arama belgesi için belge anahtarının anlam ayrımını nasıl yaptığını anlamak amacıyla Tek bir blobu dizinlemek suretiyle birçok arama belgesi oluşturmak makalesini incelemelisiniz.

Sonraki bölümlerde her altmod daha ayrıntılı olarak açıklanmaktadır. Dizin oluşturucu istemcilerini ve kavramlarını bilmiyorsanız bkz. Arama dizin oluşturucu oluşturma. Burada yinelenmeyen temel blob dizin oluşturucu yapılandırmasının ayrıntılarını da biliyor olmalısınız.

İsteğe bağlı Markdown ayrıştırma parametreleri

Parametreler büyük veya küçük harfe duyarlıdır.

Parametre adı İzin Verilen Değerler Açıklama
markdownHeaderDepth h1, h2, h3, , h4, h5, h6 (default) Bu parametre, ayrıştırma sırasında dikkate alınan en derin üst bilgi düzeyini belirler ve belge yapısının esnek bir şekilde işlenmesine olanak tanır (örneğin, markdownHeaderDepth olarak ayarlandığında h1, ayrıştırıcı yalnızca "#" ile başlayan üst düzey üst bilgileri tanır ve tüm alt düzey üst bilgiler düz metin olarak kabul edilir). Belirtilmezse, varsayılan olarak olur h6.

Dizin oluşturucu oluşturulduktan sonra bu ayar değiştirilebilir. Ancak sonuçta elde edilen arama belgelerinin yapısı Markdown içeriğine bağlı olarak değişebilir.

Desteklenen Markdown öğeleri

Markdown ayrıştırma yalnızca üst bilgilere göre içeriği böler. Listeler, kod blokları ve tablolar gibi diğer tüm öğeler düz metin olarak kabul edilir ve bir içerik alanına geçirilir.

Örnek Markdown içeriği

Bu sayfadaki örnekler için aşağıdaki Markdown içeriği kullanılır:

# Section 1
Content for section 1.

## Subsection 1.1
Content for subsection 1.1.

# Section 2
Content for section 2.

Bire çok ayrıştırma modunu kullanma

Bire çok ayrıştırma modu, Markdown dosyalarını birden çok arama belgesine ayrıştırıyor. Burada her belge, belgenin o noktasındaki üst bilgi meta verilerine göre Markdown dosyasının belirli bir içerik bölümüne karşılık geliyor. Markdown, aşağıdaki içeriği içeren arama belgelerine başlıklar esas alınarak ayrıştırılır.

  • content: Belgenin o noktasındaki üst bilgi meta verilerini temel alarak belirli bir konumda bulunan ham Markdown'ı içeren dize.

  • sections: üst bilgi meta verileri için istenen üst bilgi düzeyine kadar alt alanları içeren bir nesne. Örneğin, markdownHeaderDepth olarak ayarlandığında h3, h1, h2 ve h3 dize alanlarını içerir. Bu alanlar, dizindeki bu yapıyı yansıtarak veya /sections/h1, /sections/h2 biçiminde alan eşlemeleri aracılığıyla dizinlenir. Bağlam içi örnekler için aşağıdaki örneklerde yer alan dizin ve dizin oluşturucu yapılandırmalarına bakın. İçeren alt alanları şunlardır:

    • h1 - h1 üst bilgi değerini içeren bir dize. Belgenin bu noktasında ayarlanmamışsa boş stringdir.
    • (İsteğe bağlı) h2- h2 üst bilgi değerini içeren bir dize. Belgenin bu noktasında ayarlanmamışsa boş stringdir.
    • (İsteğe bağlı) h3- h3 üst bilgi değerini içeren bir dize. Belgenin bu noktasında ayarlanmamışsa boş stringdir.
    • (İsteğe bağlı) h4- h4 üst bilgi değerini içeren bir dize. Belgenin bu noktasında ayarlanmamışsa boş stringdir.
    • (İsteğe bağlı) h5- h5 üst bilgi değerini içeren bir dize. Belgenin bu noktasında ayarlanmamışsa boş stringdir.
    • (İsteğe bağlı) h6- h6 üst bilgi değerini içeren bir dize. Belgenin bu noktasında ayarlanmamışsa boş stringdir.
  • ordinal_position: Bölümün belge hiyerarşisi içindeki konumunu gösteren bir tamsayı değeri. Bu alan, bölümleri belgede göründükleri şekilde, birinci sıradan başlayarak ve her başlık için ardışık olarak artırılarak orijinal sıralarıyla yerleştirmek için kullanılır.

Bire çok ayrıştırma için dizin şeması

Örnek dizin yapılandırması şuna benzer olabilir:

{
  "name": "my-markdown-index",
  "fields": [
  {
    "name": "id",
    "type": "Edm.String",
    "key": true
  },
  {
    "name": "content",
    "type": "Edm.String",
  },
  {
    "name": "ordinal_position",
    "type": "Edm.Int32"
  },
  {
    "name": "sections",
    "type": "Edm.ComplexType",
    "fields": [
    {
      "name": "h1",
      "type": "Edm.String"
    },
    {
      "name": "h2",
      "type": "Edm.String"
    }]
  }]
}

Bire çok ayrıştırma için dizin oluşturucu tanımı

Alan adları ve veri türleri hizalanırsa, blob dizin oluşturucu istekte açık bir alan eşlemesi olmadan eşlemeyi çıkarabileceğinden, sağlanan dizin yapılandırmasına karşılık gelen bir dizin oluşturucu yapılandırması şöyle görünebilir:

POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]

{
  "name": "my-markdown-indexer",
  "dataSourceName": "my-blob-datasource",
  "targetIndexName": "my-target-index",
  "parameters": {
    "configuration": { "parsingMode": "markdown" }
  },
}

Not

submode varsayılan olduğundan burada oneToMany açıkça ayarlanması gerekmez.

Bire çok ayrıştırma için dizin oluşturucu çıktısı

Bu Markdown dosyası, dizinlemeden sonra üç içerik bölümü nedeniyle üç arama belgesiyle sonuçlanır. Markdown belgesinin ilk içerik bölümünden elde edilen arama belgesi, content, sections, h1 ve h2 için aşağıdaki değerleri içerir:

{
  {
    "content": "Content for section 1.\r\n",
    "sections": {
      "h1": "Section 1",
      "h2": ""
    },
    "ordinal_position": 1
  },
  {
    "content": "Content for subsection 1.1.\r\n",
    "sections": {
      "h1": "Section 1",
      "h2": "Subsection 1.1"
    },
    "ordinal_position": 2
  },
  {
    "content": "Content for section 2.\r\n",
    "sections": {
      "h1": "Section 2",
      "h2": ""
    },
    "ordinal_position": 3
  }
}

Arama dizinindeki bire çok alanları eşleme

Alan eşlemeleri, alan adlarının ve türlerinin aynı olmadığı durumlarda bir kaynak alanı hedef alanla ilişkilendirir. Ancak alan eşlemeleri, Markdown belgesinin bölümlerini eşleştirmek ve bunları arama belgesinin en üst düzey alanlarına "kaldırmak" için de kullanılabilir.

Aşağıdaki örnekte bu senaryo gösterilmektedir. Genel olarak alan eşlemeleri hakkında daha fazla bilgi için bkz. alan eşlemeleri.

Aşağıdaki alanlara sahip bir arama dizini varsayın: raw_content türünde Edm.String, h1_headerEdm.Stringve h2_header türünde Edm.String. Markdown'ınızı istenen şekle eşlemek için aşağıdaki alan eşlemelerini kullanın:

"fieldMappings" : [
    { "sourceFieldName" : "/content", "targetFieldName" : "raw_content" },
    { "sourceFieldName" : "/sections/h1", "targetFieldName" : "h1_header" },
    { "sourceFieldName" : "/sections/h2", "targetFieldName" : "h2_header" },
  ]

Dizinde elde edilen arama belgesi aşağıdaki gibi görünür:

{
  {
    "raw_content": "Content for section 1.\r\n",
    "h1_header": "Section 1",
    "h2_header": "",
  },
  {
    "raw_content": "Content for section 1.1.\r\n",
    "h1_header": "Section 1",
    "h2_header": "Subsection 1.1",
  },
  {
    "raw_content": "Content for section 2.\r\n",
    "h1_header": "Section 2",
    "h2_header": "",
  }
}

Bire bir ayrıştırma modunu kullanma

Bire bir ayrıştırma modunda Markdown belgesinin tamamı, özgün içeriğin hiyerarşisi ve yapısı korunarak tek bir arama belgesi olarak dizine eklenir. Bu mod en çok dizine alınacak dosyalar ortak bir yapı paylaştığında kullanışlıdır, böylece ilgili alanları aranabilir hale getirmek için dizinde bu ortak yapıyı kullanabilirsiniz.

Dizin oluşturucu tanımında öğesini parsingMode'e "markdown" olarak ayarlayın ve isteğe bağlı markdownHeaderDepth parametresini kullanarak parçalama için maksimum başlık derinliğini tanımlayın. Belirtilmezse, varsayılan olarak h6 değeri atanır ve tüm olası başlık derinliklerini yakalar.

Markdown, aşağıdaki içeriği içeren arama belgelerine başlıklar esas alınarak ayrıştırılır.

  • document_content: Tam Markdown metnini tek bir dize olarak içerir. Bu alan, giriş belgesinin ham bir gösterimi olarak görev görür.

  • sections: Markdown belgesinde bölümlerin hiyerarşik gösterimini içeren bir nesne dizisi. Her bölüm bu dizi içinde bir nesne olarak temsil edilir ve belgenin yapısını başlıklar ve kendi içeriğiyle uyumlu bir şekilde iç içe geçmiş olarak oluşturur. Alanlar, alan eşlemeleri aracılığıyla, örneğin /sections/content yoluna başvurarak erişilebilir. Bu dizideki nesneler aşağıdaki özelliklere sahiptir:

    • header_level: Markdown söz diziminde üst bilgi düzeyini (h1, h2, h3vb.) gösteren dize. Bu alan, içeriğin hiyerarşisini ve yapısını anlamanıza yardımcı olur.

    • header_name: Markdown belgesinde göründüğü gibi üst bilgi metnini içeren bir dize. Bu alan, bölüm için bir etiket veya başlık sağlar.

    • content: Üst bilgiden hemen sonra gelen ve bir sonraki üst bilgiye kadar metin içeriği içeren bir dize. Bu alan, üst bilgiyle ilişkili ayrıntılı bilgileri veya açıklamayı yakalar. Başlığın hemen altında içerik yoksa, değer boş bir dizedir.

    • ordinal_position: Bölümün belge hiyerarşisi içindeki konumunu gösteren bir tamsayı değeri. Bu alan, 1 sıralı bir konumdan başlayarak ve her içerik bloğu için sıralı olarak artırılarak, bölümleri belgede göründükleri şekilde özgün sıralarında sıralamak için kullanılır.

    • sections: Geçerli bölümün altında iç içe yerleştirilmiş alt bölümleri temsil eden nesneleri içeren bir dizi. Bu dizi, üst düzey sections diziyle aynı yapıyı izler ve birden çok iç içe içerik düzeyinin temsilini sağlar. Her alt bölüm nesnesi, Markdown içeriğinin hiyerarşisini temsil eden özyinelemeli bir yapıyı etkinleştiren header_level, header_name, content ve ordinal_position özelliklerini de içerir.

Her ayrıştırma modu etrafında tasarlanan dizin şemalarını açıklamak için kullandığımız örnek Markdown aşağıda verilmiştir.

# Section 1
Content for section 1.

## Subsection 1.1
Content for subsection 1.1.

# Section 2
Content for section 2.

Bire bir ayrıştırma için dizin şeması

Alan eşlemeleri kullanmıyorsanız, dizinin şekli Markdown içeriğinin şeklini yansıtmalıdır. Örnek Markdown'ın iki bölümü ve tek alt bölümüyle yapısı göz önünde bulundurulduğunda, dizin aşağıdaki örneğe benzer görünmelidir:

{
  "name": "my-markdown-index",
  "fields": [
  {
    "name": "id",
    "type": "Edm.String",
    "key": true
  },
  {
    "name": "document_content",
    "type": "Edm.String"
  },
  {
    "name": "sections",
    "type": "Collection(Edm.ComplexType)",
    "fields": [
    {
      "name": "header_level",
      "type": "Edm.String"
    },
    {
      "name": "header_name",
      "type": "Edm.String"
    },
    {
      "name": "content",
      "type": "Edm.String"
    },
    {
      "name": "ordinal_position",
      "type": "Edm.Int32"
    },
    {
      "name": "sections",
      "type": "Collection(Edm.ComplexType)",
      "fields": [
      {
        "name": "header_level",
        "type": "Edm.String"
      },
      {
        "name": "header_name",
        "type": "Edm.String"
      },
      {
        "name": "content",
        "type": "Edm.String"
      },
      {
        "name": "ordinal_position",
        "type": "Edm.Int32"
      }]
    }]
  }]
}

Bire bir ayrıştırma için dizin oluşturucu tanımı

POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]

{
  "name": "my-markdown-indexer",
  "dataSourceName": "my-blob-datasource",
  "targetIndexName": "my-target-index",
  "parameters": {
    "configuration": {
      "parsingMode": "markdown",
      "markdownParsingSubmode": "oneToOne",
    }
  }
}

Bire bir ayrıştırma için dizinleyici çıktısı

Dizine eklemek istediğimiz Markdown yalnızca h2 ("##") derinliğine gittiği için, bunu uygun hale getirmek için 2 derinliğinde iç içe geçmiş alanlara sections ihtiyacımız vardır. Bu yapılandırma dizinde aşağıdaki verilere neden olur:

  "document_content": "# Section 1\r\nContent for section 1.\r\n## Subsection 1.1\r\nContent for subsection 1.1.\r\n# Section 2\r\nContent for section 2.\r\n",
  "sections": [
    {
      "header_level": "h1",
      "header_name": "Section 1",
      "content": "Content for section 1.",
      "ordinal_position": 1,
      "sections": [
        {
          "header_level": "h2",
          "header_name": "Subsection 1.1",
          "content": "Content for subsection 1.1.",
          "ordinal_position": 2,
        }]
    }],
    {
      "header_level": "h1",
      "header_name": "Section 2",
      "content": "Content for section 2.",
      "ordinal_position": 3,
      "sections": []
    }]
  }

Gördüğünüz gibi sıralı konum, belgedeki içeriğin konumuna göre artar.

İçerikte üst bilgi düzeyleri atlanırsa, sonuçta elde edilen belgenin yapısı Markdown içeriğinde bulunan üst bilgileri yansıtır ve h1 ile h6 arasında iç içe ardışık bölümler içermesi gerekmez. Örneğin, belge h2 konumunda başladığında, en üst düzey bölümler dizisinin ilk öğesi h2 olur.

Arama dizininde bire bir alanları eşleme

Belgeden özel adlara sahip alanları ayıklamak için alan eşlemelerini kullanabilirsiniz. Öncekiyle aynı Markdown örneğini kullanarak aşağıdaki dizin yapılandırmasını göz önünde bulundurun:

{
  "name": "my-markdown-index",
  "fields": [
    {
      "name": "document_content",
      "type": "Edm.String",
    },
    {
      "name": "document_title",
      "type": "Edm.String",
    },
    {
      "name": "opening_subsection_title",
      "type": "Edm.String"
    },
    {
      "name": "summary_content",
      "type": "Edm.String",
    }
  ]
}

Ayrıştırılan Markdown'dan belirli alanların ayıklanması, belge yollarının outputFieldMappings içindeki işleyişine benzer şekilde yapılır, ancak yol /sections yerine /document ile başlar. Bu nedenle, örneğin /sections/0/content, sections dizisindeki 0 konumundaki öğenin altındaki içeriğe eşleşir.

Güçlü bir kullanım örneği şuna benzer olabilir: tüm Markdown dosyalarının ilkinde bir belge başlığı, ilkinde h1h2bir alt bölüm başlığı ve son h1paragrafın altındaki son paragrafın içeriğinde bir özeti vardır. Yalnızca bu içeriğin dizinini oluşturmak için aşağıdaki alan eşlemelerini kullanabilirsiniz:

"fieldMappings" : [
  { "sourceFieldName" : "/content", "targetFieldName" : "raw_content" },
  { "sourceFieldName" : "/sections/0/header_name", "targetFieldName" : "document_title" },
  { "sourceFieldName" : "/sections/0/sections/header_name", "targetFieldName" : "opening_subsection_title" },
  { "sourceFieldName" : "/sections/1/content", "targetFieldName" : "summary_content" },
]

Burada, bu belgeden yalnızca ilgili parçaları ayıklayabilirsiniz. Bu işlevi en etkili şekilde kullanmak için dizine almayı planladığınız belgelerin aynı hiyerarşik üst bilgi yapısını paylaşması gerekir.

Dizinde elde edilen arama belgesi aşağıdaki gibi görünür:

{
  "content": "Content for section 1.\r\n",
  "document_title": "Section 1",
  "opening_subsection_title": "Subsection 1.1",
  "summary_content": "Content for section 2."
}

Not

Bu örnekler, bu ayrıştırma modlarının alan eşlemeleriyle veya alan eşlemeleri olmadan nasıl kullanılacağını belirtir, ancak gereksinimlerinize uygunsa her ikisini de tek bir senaryoda uygulayabilirsiniz.

Markdown yeniden dizinlemesinden eski belgeleri yönetme

Bire çok ayrıştırma modunu kullanırken, değiştirilmiş bir Markdown dosyasının yeniden dizine alınması bölümler kaldırılırsa eski veya yinelenen belgelere neden olabilir. Bu davranış bire çok moduna özgüdür ve bire bir ayrıştırma için geçerli değildir.

Davranışa genel bakış

Bire çok ayrıştırma modu

Modda oneToMany , her Markdown bölümü (üst bilgilere göre) ayrı bir arama belgesi olarak dizine alınır. Dosya yeniden dizine eklendiğinde:

  • Otomatik silme yok: Dizin oluşturucu var olan belgelerin üzerine yenilerini yazar, ancak güncelleştirilmiş dosyadaki hiçbir içeriğe karşılık gelen belgeleri silmez.
  • Yineleme olasılığı: Bu sorun özellikle yalnızca dizin oluşturma çalıştırmaları arasına eklenenden daha fazla bölüm silindiğinde ortaya çıkar. Bu gibi durumlarda, önceki sürümden kalan belgeler dizinde kalır ve artık kaynak dosyanın geçerli durumunu yansıtmayan eski girdilere yol açar.

Bire bir ayrıştırma modu

Modunda oneToOne , Markdown dosyasının tamamı tek bir arama belgesi olarak dizine eklenir. Dosya yeniden dizine eklendiğinde:

  • Üzerine yazma davranışı: Varolan belge tamamen yeni sürümle değiştirilir.
  • Eski bölümler yok: Dosya yeniden dizine eklendiğinde, var olan belge güncelleştirilmiş sürümle değiştirilir ve kaldırılan içerik artık eklenmez. Tek özel durum, dosya yolunun veya blob URI'sinin değişmesidir ve bu da eski belgeyle birlikte yeni bir belge oluşturulmasına neden olabilir.

Geçici çözüm seçenekleri

Dizinin Markdown dosyalarınızın geçerli durumunu yansıtmasını sağlamak için aşağıdaki yaklaşımlardan birini göz önünde bulundurun:

Seçenek 1. Meta verilerle geçici silme

Bu yöntem, belirli bir blobla ilişkili belgeleri silmek için geçici silme kullanır. Daha fazla bilgi için bkz. Azure Yapay Zeka Arama'te Azure Depolama için dizin oluşturucuları kullanarak değişiklik ve silme algılama.

Adım -ları:

  1. Meta veri alanı ayarlayarak blobu silinmiş olarak işaretleyin.
  2. Dizin oluşturucunun çalışmasına izin verin. Bu blobla ilişkili dizindeki tüm belgeleri siler.
  3. Geçici silme işaretçisini kaldırın ve dosyayı yeniden dizine alın.

Seçenek 2. Silme API'sini kullanma

Değiştirilmiş bir Markdown dosyasını yeniden dizine almadan önce, silme API'sini kullanarak bu dosyayla ilişkili mevcut belgeleri açıkça silin. Aşağıdakilerden birini yapabilirsiniz:

  • İndekste silinecek olan yinelenenleri tanımlayarak her bir eski belgeyi manuel olarak tek tek belirleyin. Bu küçük, iyi anlaşılmış değişiklikler için uygun olabilir, ancak zaman alabilir.
  • (Önerilen) Yeniden dizin oluşturmadan önce aynı üst dosyadan oluşturulan tüm belgeleri kaldırın ve tutarsızlıkların önlenmesini sağlayın.

Adım -ları:

  1. Dosyayla ilişkili belgelerin kimliğini belirleyin. Belirli bir dosyaya bağlı tüm belgelerin belge anahtarı kimliklerini (örneğin, id veya chunk_id) almak için aşağıdaki örneğe benzer bir sorgu kullanın. metadata_storage_path dizininizde dosya yoluna veya blob URI'sine eşlenen uygun alanla değiştirin. Bu alan bir anahtar olmalıdır.

    GET https://[service name].search.windows.net/indexes/[index name]/docs?api-version=2026-04-01
    Content-Type: application/json
    api-key: [admin key]
    
    
      {
          "filter": "metadata_storage_path eq 'https://<storage-account>.blob.core.windows.net/<container-name>/<file-name>.md'",
          "select": "id"
      }
    
  2. Tanımlanan anahtarlarla belgeler için bir silme isteği oluşturun.

    POST https://[service name].search.windows.net/indexes/[index name]/docs/index?api-version=2026-04-01
    Content-Type: application/json
    api-key: [admin key]
    
    {
      "value": [
        {
          "@search.action": "delete",
          "id": "aHR0c...jI1"
        },
        {
          "@search.action": "delete",
          "id": "aHR0...MQ2"
        }
      ]
    }
    
  3. Güncelleştirilmiş dosyayı yeniden dizine ekleyin.

Sonraki adımlar