Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.
Azure KI-Suche können Markdown-Dokumente und -Arrays in Azure Blob Storage mithilfe eines indexer indizieren, der weiß, wie Markdown-Daten gelesen werden.
In diesem Lernprogramm erfahren Sie, wie Sie Markdown-Dateien mithilfe des oneToMany Markdown-Analysemodus und der REST-APIs des Suchdiensts indizieren.
In diesem Tutorial:
- Einrichten von Beispieldaten und Konfigurieren einer
azureblobDatenquelle - Erstellen eines Azure KI-Suche Index, der durchsuchbare Inhalte enthalten soll
- Erstellen und Ausführen eines Indexers zum Lesen des Containers und Extrahieren durchsuchbarer Inhalte
- Durchsuchen des soeben erstellten Indexes
Voraussetzungen
Ein Azure Konto mit einem aktiven Abonnement. Erstellen Sie kostenlos ein Konto.
Ein Azure Storage-Konto.
Visual Studio Code mit der REST-Clienterweiterung.
Hinweis
Sie können einen kostenlosen Suchdienst für dieses Lernprogramm verwenden. Die Stufe "Frei" beschränkt Sie auf drei Indizes, drei Indexer und drei Datenquellen. In diesem Tutorial wird eins von jedem erstellt. Bevor Sie beginnen, stellen Sie sicher, dass Ihr Dienst Platz zum Akzeptieren der neuen Ressourcen hat.
Vorbereiten von Beispieldaten
Erstellen einer Markdown-Datei
Kopieren Sie den folgenden Markdown, und fügen Sie ihn in eine Datei mit dem Namen sample_markdown.mdein. Die Beispieldaten sind eine einzelne Markdown-Datei mit verschiedenen Markdown-Elementen. Wir haben eine Markdown-Datei ausgewählt, um unter den Speichergrenzwerten der Stufe "Kostenlos" zu bleiben.
# Project Documentation
## Introduction
This document provides a complete overview of the **Markdown Features** used within this project. The following sections demonstrate the richness of Markdown formatting, with examples of lists, tables, links, images, blockquotes, inline styles, and more.
---
## Table of Contents
1. [Headers](#headers)
2. [Introduction](#introduction)
3. [Basic Text Formatting](#basic-text-formatting)
4. [Lists](#lists)
5. [Blockquotes](#blockquotes)
6. [Images](#images)
7. [Links](#links)
8. [Tables](#tables)
9. [Code Blocks and Inline Code](#code-blocks-and-inline-code)
10. [Horizontal Rules](#horizontal-rules)
11. [Inline Elements](#inline-elements)
12. [Escaping Characters](#escaping-characters)
13. [HTML Elements](#html-elements)
14. [Emojis](#emojis)
15. [Footnotes](#footnotes)
16. [Task Lists](#task-lists)
17. [Conclusion](#conclusion)
---
## Headers
Markdown supports six levels of headers. Use `#` to create headers:
"# Project Documentation" at the top of the document is an example of an h1 header.
"## Headers" above is an example of an h2 header.
### h3 example
#### h4 example
##### h5 example
###### h6 example
This is an example of content underneath a header.
## Basic Text Formatting
You can apply various styles to your text:
- **Bold**: Use double asterisks or underscores: `**bold**` or `__bold__`.
- *Italic*: Use single asterisks or underscores: `*italic*` or `_italic_`.
- ~~Strikethrough~~: Use double tildes: `~~strikethrough~~`.
## Lists
### Ordered List
1. First item
2. Second item
3. Third item
### Unordered List
- Item A
- Item B
- Item C
### Nested List
1. Parent item
- Child item
- Child item
## Blockquotes
> This is a blockquote.
> Blockquotes are great for emphasizing important information.
>> Nested blockquotes are also possible!
## Images

## Links
[Visit Markdown Guide](https://www.markdownguide.org)
## Tables
| Syntax | Description | Example |
|-------------|-------------|---------------|
| Header | Title | Header Cell |
| Paragraph | Text block | Row Content |
## Code Blocks and Inline Code
### Inline Code
Use backticks to create `inline code`.
### Code Block
```javascript
// JavaScript example
function greet(name) {
console.log(`Hello, ${name}!`);
}
greet('World');
```
## Horizontal Rules
Use three or more dashes or underscores to create a horizontal rule.
---
___
## Inline Elements
Sometimes, it’s useful to include `inline code` to highlight code-like content.
You can also emphasize text like *this* or make it **bold**.
## Escaping Characters
To render special Markdown characters, use backslashes:
- \*Asterisks\*
- \#Hashes\#
- \[Brackets\]
## HTML Elements
You can mix HTML tags with Markdown:
<table>
<tr>
<th>HTML Table</th>
<th>With Markdown</th>
</tr>
<tr>
<td>Row 1</td>
<td>Data 1</td>
</tr>
</table>
## Emojis
Markdown supports some basic emojis:
- :smile: 😄
- :rocket: 🚀
- :checkered_flag: 🏁
## Footnotes
This is an example of a footnote[^1]. Footnotes allow you to add notes without cluttering the main text.
[^1]: This is the content of the footnote.
## Task Lists
- [x] Complete the introduction
- [ ] Add more examples
- [ ] Review the document
## Conclusion
Markdown is a lightweight yet powerful tool for writing documentation. It supports a variety of formatting options while maintaining simplicity and readability.
Thank you for reviewing this example!
Laden Sie die Datei hoch, und erhalten Sie die Verbindungszeichenfolge.
Folgen Sie diese Anweisungen zum Hochladen der sample_markdown.md Datei in einen Container in Ihrem Azure Storage-Konto. Sie müssen auch die Speicherkonto-Verbindungszeichenfolge abrufen. Notieren Sie sich die Verbindungszeichenfolge und den Containernamen für die spätere Verwendung.
Kopieren einer Suchdienst-URL und eines API-Schlüssels
Für dieses Lernprogramm erfordern Verbindungen mit Azure KI-Suche einen Endpunkt und einen API-Schlüssel. Sie können diese Werte aus dem Azure Portal abrufen. Alternative Verbindungsmethoden finden Sie unter verwaltete Identitäten.
Wechseln Sie zum Suchdienst im Azure-Portal.
Wählen Sie im linken Bereich die Option "Übersicht" aus.
Notieren Sie sich die URL, die wie
https://my-service.search.windows.netfolgt aussehen soll.Wählen Sie im linken Bereich Einstellungen>Keys aus.
Notieren Sie sich einen Administratorschlüssel für vollständige Rechte für den Dienst. Es gibt zwei austauschbare Administratorschlüssel, die für die Geschäftskontinuität bereitgestellt werden, falls Sie ein Rollover ausführen müssen. Sie können einen der Schlüssel für Anforderungen zum Hinzufügen, Ändern und Löschen von Objekten verwenden.
Einrichten der REST-Datei
Erstellen Sie eine Datei in Visual Studio Code.
Geben Sie Werte für Variablen an, die in der Anforderung verwendet werden.
@baseUrl = PUT-YOUR-SEARCH-SERVICE-ENDPOINT-HERE @apiKey = PUT-YOUR-ADMIN-API-KEY-HERE @storageConnectionString = PUT-YOUR-STORAGE-CONNECTION-STRING-HERE @blobContainer = PUT-YOUR-CONTAINER-NAME-HERESpeichern Sie die Datei mit einer
.restOder.httpDateierweiterung.
Hilfe zum REST-Client finden Sie in der Schnellstartanleitung: Volltextsuche mit REST.
Erstellen einer Datenquelle
Datenquellen – Erstellen (REST-API) erstellt eine Datenquellenverbindung, die angibt, welche Daten indiziert werden sollen.
### Create a data source
POST {{baseUrl}}/datasources?api-version=2026-04-01 HTTP/1.1
Content-Type: application/json
api-key: {{apiKey}}
{
"name" : "sample-markdown-ds",
"description": null,
"type": "azureblob",
"subtype": null,
"credentials": {
"connectionString": "{{storageConnectionString}}"
},
"container": {
"name": "{{blobContainer}}",
"query": null
},
"dataChangeDetectionPolicy": null,
"dataDeletionDetectionPolicy": null
}
Senden Sie die Anforderung. Die Antwort sollte wie folgt aussehen:
HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
ETag: "0x8DCF52E926A3C76"
Location: https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net:443/datasources('sample-markdown-ds')?api-version=2026-04-01
Server: Microsoft-IIS/10.0
Strict-Transport-Security: max-age=2592000, max-age=15724800; includeSubDomains
Preference-Applied: odata.include-annotations="*"
OData-Version: 4.0
request-id: 0714c187-217e-4d35-928a-5069251e5cba
elapsed-time: 204
Date: Fri, 25 Oct 2024 19:52:35 GMT
Connection: close
{
"@odata.context": "https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net/$metadata#datasources/$entity",
"@odata.etag": "\"0x8DCF52E926A3C76\"",
"name": "sample-markdown-ds",
"description": null,
"type": "azureblob",
"subtype": null,
"credentials": {
"connectionString": null
},
"container": {
"name": "markdown-container",
"query": null
},
"dataChangeDetectionPolicy": null,
"dataDeletionDetectionPolicy": null,
"encryptionKey": null,
"identity": null
}
Erstellen eines Indexes
Indizes – Erstellen (REST-API) erstellt einen Suchindex für Ihren Suchdienst. Ein Index gibt alle Felder und deren Attribute an.
In der 1:n-Analyse definiert das Suchdokument die n-Seite der Beziehung. Die im Index angegebenen Felder bestimmen die Struktur des Suchdokuments.
Sie benötigen nur Felder für die Markdown-Elemente, die der Parser unterstützt. Diese Felder sind:
content: Eine Zeichenfolge, die den unformatierten Markdown enthält, der an einer bestimmten Stelle gefunden wurde, basierend auf den Headermetadaten an diesem Punkt im Dokument.sections: Ein Objekt, das Unterfelder für die Headermetadaten bis zur gewünschten Kopfzeilenebene enthält. Wenn beispielsweisemarkdownHeaderDepthaufh3gesetzt ist, enthält es die Zeichenfolgenfelderh1,h2undh3. Diese Felder werden durch Spiegelung dieser Struktur im Index oder durch Feldzuordnungen im Format/sections/h1,/sections/h2usw. indiziert. Kontextbezogene Beispiele finden Sie in den Index- und Indexerkonfigurationen in den folgenden Beispielen. Die enthaltenen Unterfelder sind:-
h1- Eine Zeichenfolge, die den h1-Headerwert enthält. Leere Zeichenfolge, wenn sie an diesem Punkt im Dokument nicht festgelegt ist. - (Optional)
h2- Eine Zeichenfolge, die den h2-Headerwert enthält. Leere Zeichenfolge, wenn sie an diesem Punkt im Dokument nicht festgelegt ist. - (Optional)
h3- Eine Zeichenfolge, die den h3-Headerwert enthält. Leere Zeichenfolge, wenn sie an diesem Punkt im Dokument nicht festgelegt ist. - (Optional)
h4- Eine Zeichenfolge, die den h4-Headerwert enthält. Leere Zeichenfolge, wenn sie an diesem Punkt im Dokument nicht festgelegt ist. - (Optional)
h5- Eine Zeichenfolge, die den h5-Headerwert enthält. Leere Zeichenfolge, wenn sie an diesem Punkt im Dokument nicht festgelegt ist. - (Optional)
h6- Eine Zeichenfolge, die den h6-Headerwert enthält. Leere Zeichenfolge, wenn sie an diesem Punkt im Dokument nicht festgelegt ist.
-
ordinal_position: Ein ganzzahliger Wert, der die Position des Abschnitts innerhalb der Dokumenthierarchie angibt. Dieses Feld wird verwendet, um die Abschnitte in der ursprünglichen, im Dokument angezeigten Reihenfolge zu sortieren, beginnend mit einer Ordnungsposition von 1 und einer sequenziellen Erhöhung für jeden Inhaltsblock.
In dieser Implementierung werden Feldzuordnungen im Indexer verwendet, um den angereicherten Inhalt dem Index zuzuordnen. Weitere Informationen zur analysierten One-to-Many-Dokumentstruktur finden Sie unter Index Markdown-Blobs.
Dieses Beispiel enthält Beispiele zum Indizieren von Daten mit und ohne Feldzuordnungen. In diesem Fall enthält h1 den Titel des Dokuments und ist einem Feld mit dem Namen title zugeordnet. Die Felder h2 und h3 werden jeweils h2_subheader und h3_subheader zugeordnet. Die content- und ordinal_position-Felder erfordern keine Zuordnung, da sie direkt aus dem Markdown in Felder mit diesen Namen extrahiert werden. Ein Beispiel für ein vollständiges Indexschema, das keine Feldzuordnungen erfordert, finden Sie am Ende dieses Abschnitts.
### Create an index
POST {{baseUrl}}/indexes?api-version=2026-04-01 HTTP/1.1
Content-Type: application/json
api-key: {{apiKey}}
{
"name": "sample-markdown-index",
"fields": [
{"name": "id", "type": "Edm.String", "key": true, "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "content", "type": "Edm.String", "key": false, "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "title", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "h2_subheader", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "h3_subheader", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "ordinal_position", "type": "Edm.Int32", "searchable": false, "retrievable": true, "filterable": true, "facetable": true, "sortable": true}
]
}
Indexschema in einer Konfiguration ohne Feldzuordnungen
Mit Feldzuordnungen können Sie angereicherte Inhalte bearbeiten und filtern, damit sie in die gewünschte Index-Struktur passen. Möglicherweise möchten Sie jedoch nur den erweiterten Inhalt direkt nutzen. In diesem Fall würde das Schema wie folgt aussehen:
{
"name": "sample-markdown-index",
"fields": [
{"name": "id", "type": "Edm.String", "key": true, "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "content", "type": "Edm.String", "key": false, "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "sections",
"type": "Edm.ComplexType",
"fields": [
{"name": "h1", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "h2", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true},
{"name": "h3", "type": "Edm.String", "searchable": true, "retrievable": true, "filterable": true, "facetable": true, "sortable": true}
]
},
{"name": "ordinal_position", "type": "Edm.Int32", "searchable": false, "retrievable": true, "filterable": true, "facetable": true, "sortable": true}
]
}
Um es zu wiederholen, haben wir Unterfelder innerhalb des Abschnittsobjekts bis h3, weil markdownHeaderDepth auf h3 gesetzt ist.
Wenn Sie dieses Schema verwenden, stellen Sie sicher, dass Sie spätere Anforderungen entsprechend anpassen. Dazu müssen die Feldzuordnungen aus der Indexerkonfiguration entfernt und Suchabfragen so aktualisiert werden, dass die entsprechenden Feldnamen verwendet werden.
Erstellen und Ausführen eines Indexers
Indexer – Create (REST API) erstellt einen Indexer für Ihren Suchdienst. Ein Indexer stellt eine Verbindung mit der Datenquelle, lädt und indiziert Daten und bietet optional einen Zeitplan zum Automatisieren der Datenaktualisierung.
### Create and run an indexer
POST {{baseUrl}}/indexers?api-version=2026-04-01 HTTP/1.1
Content-Type: application/json
api-key: {{apiKey}}
{
"name": "sample-markdown-indexer",
"dataSourceName": "sample-markdown-ds",
"targetIndexName": "sample-markdown-index",
"parameters" : {
"configuration": {
"parsingMode": "markdown",
"markdownParsingSubmode": "oneToMany",
"markdownHeaderDepth": "h3"
}
},
"fieldMappings" : [
{
"sourceFieldName": "/sections/h1",
"targetFieldName": "title",
"mappingFunction": null
}
]
}
Wichtige Punkte:
Der Indexer analysiert nur Kopfzeilen bis zu
h3. Alle Kopfzeilen der unteren Ebene (h4,h5,h6) werden als Nur-Text behandelt und imcontentFeld angezeigt. Aus diesem Grund existieren die Index- und Feldzuordnungen nur bis zu einer Tiefe vonh3.Für die Felder
contentundordinal_positionist keine Feldzuordnung erforderlich, da sie mit diesen Namen im erweiterten Inhalt vorhanden sind.
Ausführen von Abfragen
Sie können mit der Suche beginnen, sobald das erste Dokument geladen wird.
### Query the index
POST {{baseUrl}}/indexes/sample-markdown-index/docs/search?api-version=2026-04-01 HTTP/1.1
Content-Type: application/json
api-key: {{apiKey}}
{
"search": "*",
"count": true
}
Senden Sie die Anforderung. Dies ist eine nicht angegebene Volltext-Suchabfrage, die alle felder zurückgibt, die im Index als abrufbar gekennzeichnet sind, zusammen mit einer Dokumentanzahl. Die Antwort sollte wie folgt aussehen:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
Strict-Transport-Security: max-age=2592000, max-age=15724800; includeSubDomains
Preference-Applied: odata.include-annotations="*"
OData-Version: 4.0
request-id: 6b94e605-55e8-47a5-ae15-834f926ddd14
elapsed-time: 77
Date: Fri, 25 Oct 2024 20:22:58 GMT
Connection: close
{
"@odata.context": "https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net/indexes('sample-markdown-index')/$metadata#docs(*)",
"@odata.count": 22,
"value": [
<22 search documents here>
]
}
Fügen Sie einen search Parameter hinzu, um nach einer Zeichenfolge zu suchen.
### Query the index
POST {{baseUrl}}/indexes/sample-markdown-index/docs/search?api-version=2026-04-01 HTTP/1.1
Content-Type: application/json
api-key: {{apiKey}}
{
"search": "h4",
"count": true
}
Senden Sie die Anforderung. Die Antwort sollte wie folgt aussehen:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
Strict-Transport-Security: max-age=2592000, max-age=15724800; includeSubDomains
Preference-Applied: odata.include-annotations="*"
OData-Version: 4.0
request-id: ec5d03f1-e3e7-472f-9396-7ff8e3782105
elapsed-time: 52
Date: Fri, 25 Oct 2024 20:26:29 GMT
Connection: close
{
"@odata.context": "https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net/indexes('sample-markdown-index')/$metadata#docs(*)",
"@odata.count": 1,
"value": [
{
"@search.score": 0.8744742,
"section_id": "aHR0cHM6Ly9hcmphZ2Fubmpma2ZpbGVzLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tYXJrZG93bi10dXRvcmlhbC9zYW1wbGVfbWFya2Rvd24ubWQ7NA2",
"content": "#### h4 example\r\n##### h5 example\r\n###### h6 example\r\nThis is an example of content underneath a header.\r\n",
"title": "Project Documentation",
"h2_subheader": "Headers",
"h3_subheader": "h3 example",
"ordinal_position": 4
}
]
}
Wichtige Punkte:
Da die
markdownHeaderDepthaufh3eingestellt ist, werden die Kopfzeilenh4,h5undh6als Klartext behandelt und imcontent-Feld angezeigt.Hier ist die Ordnungsposition
4. Dieser Inhalt erscheint als vierter von insgesamt 22 Inhaltsabschnitten.
Fügen Sie einen select Parameter hinzu, um die Ergebnisse auf weniger Felder zu beschränken. Fügen Sie eine filter hinzu, um die Suche weiter einzugrenzen.
### Query the index
POST {{baseUrl}}/indexes/sample-markdown-index/docs/search?api-version=2026-04-01 HTTP/1.1
Content-Type: application/json
api-key: {{apiKey}}
{
"search": "Markdown",
"count": true,
"select": "title, content, h2_subheader",
"filter": "h2_subheader eq 'Conclusion'"
}
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
Strict-Transport-Security: max-age=2592000, max-age=15724800; includeSubDomains
Preference-Applied: odata.include-annotations="*"
OData-Version: 4.0
request-id: a6f9bd46-a064-4e28-818f-ea077618014b
elapsed-time: 35
Date: Fri, 25 Oct 2024 20:36:10 GMT
Connection: close
{
"@odata.context": "https://<YOUR-SEARCH-SERVICE-NAME>.search.windows.net/indexes('sample-markdown-index')/$metadata#docs(*)",
"@odata.count": 1,
"value": [
{
"@search.score": 1.1029507,
"content": "Markdown is a lightweight yet powerful tool for writing documentation. It supports a variety of formatting options while maintaining simplicity and readability.\r\n\r\nThank you for reviewing this example!",
"title": "Project Documentation",
"h2_subheader": "Conclusion"
}
]
}
Für Filter können Sie auch logische Operatoren (und oder nicht) und Vergleichsoperatoren (eq, ne, gt, lt, ge, le) verwenden. Bei Zeichenfolgenvergleichen wird die Groß-/Kleinschreibung beachtet. Weitere Informationen und Beispiele finden Sie unter Erstellen einer Abfrage.
Hinweis
Der $filter Parameter funktioniert nur für Felder, die beim Erstellen des Indexes als filterbar gekennzeichnet wurden.
Zurücksetzen und erneut ausführen
Indexer können zurückgesetzt werden, um den Ausführungsverlauf zu löschen, wodurch eine vollständige Erneute Ausführung möglich ist. Die folgenden Anforderungen setzen den Indexer zurück und führen ihn erneut aus.
### Reset the indexer
POST {{baseUrl}}/indexers/sample-markdown-indexer/reset?api-version=2026-04-01 HTTP/1.1
api-key: {{apiKey}}
### Run the indexer
POST {{baseUrl}}/indexers/sample-markdown-indexer/run?api-version=2026-04-01 HTTP/1.1
api-key: {{apiKey}}
### Check indexer status
GET {{baseUrl}}/indexers/sample-markdown-indexer/status?api-version=2026-04-01 HTTP/1.1
api-key: {{apiKey}}
Bereinigen von Ressourcen
Wenn Sie in Ihrem eigenen Abonnement arbeiten, empfiehlt es sich, die nicht mehr benötigten Ressourcen am Ende eines Projekts zu entfernen. Ressourcen, die weiterhin ausgeführt werden, können Sie Geld kosten. Sie können Ressourcen einzeln löschen oder die Ressourcengruppe löschen, um den gesamten Satz von Ressourcen zu löschen.
Sie können das Azure Portal verwenden, um Indizes, Indexer und Datenquellen zu löschen.
Nächste Schritte
Nachdem Sie nun mit den Grundlagen der Azure Blob-Indizierung vertraut sind, werfen Sie einen genaueren Blick auf die Indexerkonfiguration für Markdown-Blobs in Azure Storage: