Erstellen oder Aktualisieren des Indexers (Vorschau-REST-API)

Gilt für: 2023-07-01-Preview, 2021-04-30-Preview, 2020-06-30-Preview

Wichtig

2023-07-01-Preview (keine Änderungen).

2021-04-30-Preview fügt Unterstützung für verwaltete Identitäten für Anreicherungscache und Verschlüsselungsschlüssel hinzu:

  • "storageConnectionString" akzeptiert eine Ressourcen-ID für eine systemseitig zugewiesene Verbindung mit verwalteten Identitäten mit Azure Storage. Diese Eigenschaft befindet sich unter "cache". Die benutzerseitig zugewiesene verwaltete Identität wird nicht unterstützt.
  • "Identität" akzeptiert eine benutzerseitig zugewiesene verwaltete Identität.

2020-06-30-Preview fügt Folgendes hinzu:

Ein Indexer automatisiert die Indizierung aus unterstützten Datenquellen, indem er eine Verbindung mit einer vordefinierten Datenquelle herstellt, Daten abruft und serialisiert und zur Datenerfassung an einen Suchdienst übergibt. Für die KI-Anreicherung von Bildern und unstrukturiertem Text können Indexer auch ein Skillset akzeptieren, das bild- und natürliche Sprachverarbeitung hinzufügt.

Sie können entweder POST oder PUT für eine Erstellungsanforderung verwenden. Für beide stellt der Anforderungstext die Objektdefinition bereit.

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

Verwenden Sie für Updateanforderungen PUT, und geben Sie den Indexernamen für den URI an.

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]    

HTTPS ist für alle Dienstanforderungen erforderlich. Wenn der Indexer nicht vorhanden ist, wird er erstellt. Wenn sie bereits vorhanden ist, wird sie auf die neue Definition aktualisiert, aber Sie müssen eine Run Indexer-Anforderung ausstellen, wenn Sie die Indexerausführung wünschen.

Beim Erstellen eines Indexers wird dieser Ihrem Suchdienst hinzugefügt und ausgeführt. Wenn die Anforderung erfolgreich ist, wird der Index mit durchsuchbaren Inhalten aus der Datenquelle aufgefüllt.

Beim Aktualisieren eines Indexers wird er nicht automatisch ausgeführt, aber abhängig von Ihren Änderungen und der zugeordneten Datenquelle ist möglicherweise ein Zurücksetzen und eine erneute Ausführung erforderlich. Wenn Sie einen vorhandenen Indexer aktualisieren, wird die gesamte Definition durch den Inhalt des Anforderungstexts ersetzt. Im Allgemeinen besteht das beste Muster für Updates darin, die Indexerdefinition mit einem GET abzurufen, sie zu ändern und sie dann mit PUT zu aktualisieren.

Die Indexerkonfiguration variiert je nach Typ der Datenquelle. Um Informationen zum Erstellen von Indexern für verschiedene Datenplattformen zu erhalten, lesen Sie die Übersicht über Indexer, die eine vollständige Liste verwandter Artikel enthält.

Hinweis

Die maximale Anzahl von Indexern, die Sie erstellen können, variiert je nach Tarif. Weitere Informationen finden Sie unter Dienstgrenzwerte für Azure AI Search.

URI-Parameter

Parameter BESCHREIBUNG
Dienstname Erforderlich. Legen Sie dies auf den eindeutigen, benutzerdefinierten Namen Ihres Suchdiensts fest.
Indexername Erforderlich für den URI, wenn PUT verwendet wird. Der Name muss klein geschrieben sein, mit einem Buchstaben oder einer Zahl beginnen, keine Schrägstriche oder Punkte aufweisen und weniger 128 Zeichen lang sein. Nachdem Sie den Namen mit einem Buchstaben oder einer Zahl gestartet haben, kann der Rest des Namens beliebige Buchstaben, Zahlen und Bindestriche enthalten, solange die Bindestriche nicht aufeinander folgen.
api-version Erforderlich. Die aktuelle Vorschauversion ist 2023-07-01-Preview. Weitere Versionen finden Sie unter API-Versionen .

Anforderungsheader

Die folgende Tabelle beschreibt die erforderlichen und optionalen Anforderungsheader.

Felder BESCHREIBUNG
Content-Type Erforderlich. Auf application/json
api-key Optional, wenn Sie Azure-Rollen verwenden und ein Bearertoken für die Anforderung bereitgestellt wird, andernfalls ist ein Schlüssel erforderlich. Ein API-Schlüssel ist eine eindeutige, vom System generierte Zeichenfolge, die die Anforderung bei Ihrem Suchdienst authentifiziert. Erstellen von Anforderungen muss einen api-key Header enthalten, der auf Ihren Administratorschlüssel (im Gegensatz zu einem Abfrageschlüssel) festgelegt ist. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Azure AI Search mithilfe der Schlüsselauthentifizierung .

Anforderungstext

Eine Datenquelle, ein Index und ein Skillset sind Teil der Definition eines Indexers. Es handelt sich aber jeweils um eine unabhängige Komponente, die in unterschiedlichen Kombinationen verwendet werden kann. Beispielsweise können Sie dieselbe Datenquelle mit mehreren Indexern, denselben Index mit mehreren Indexern oder mehrere Indexer verwenden, die in einen gemeinsamen Index schreiben.

Der folgende JSON-Code ist eine allgemeine Darstellung des Standard Teile der Definition.

{   
    "name" : (optional on PUT; required on POST) "Name of the indexer",  
    "description" : (optional) "Anything you want, or nothing at all", 
    "dataSourceName" : (required) "Name of an existing data source",  
    "targetIndexName" : (required) "Name of an existing index",  
    "skillsetName" : (required for AI enrichment) "Name of an existing skillset",
    "cache":  { ... },
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters" : (optional) {
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration": { }
    },
    "fieldMappings" : (optional) { ... },
    "outputFieldMappings" : (required for AI enrichment) { ... },
    "encryptionKey":(optional) { },
    "disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}  

Die Anforderung enthält die folgenden Eigenschaften:

Eigenschaft BESCHREIBUNG
name Erforderlich. Der Name muss klein geschrieben sein, mit einem Buchstaben oder einer Zahl beginnen, keine Schrägstriche oder Punkte aufweisen und weniger 128 Zeichen lang sein. Nachdem Sie den Namen mit einem Buchstaben oder einer Zahl gestartet haben, kann der Rest des Namens beliebige Buchstaben, Zahlen und Bindestriche enthalten, solange die Bindestriche nicht aufeinander folgen.
description Optional. Beschreibung des Indexers.
dataSourceName Erforderlich. Name einer vorhandenen Datenquelle, die Verbindungsinformationen und andere Eigenschaften bereitstellt.
targetIndexName Erforderlich. Name eines vorhandenen Indexes.
skillsetName Erforderlich für KI-Anreicherung. Name eines vorhandenen Skillsets.
cache Optional für KI-Anreicherung ermöglicht die Wiederverwendung unveränderter Dokumente.
schedule Optional, wird aber sofort ausgeführt, wenn nicht angegeben.
parameters Optional. Eigenschaften zum Ändern des Laufzeitverhaltens.
fieldMappings Optional. Wird verwendet, wenn Quell- und Zielfelder unterschiedliche Namen haben.
outputFieldMappings Erforderlich für KI-Anreicherung. Ordnet die Ausgabe eines Skillsets einem Index oder einer Projektion zu.
encryptionKey Optional. Wird verwendet, um ruhende Indexerdaten mit Ihren eigenen Schlüsseln zu verschlüsseln, die in Ihrem Azure-Key Vault verwaltet werden. Weitere Informationen finden Sie unter Azure AI Search-Verschlüsselung mithilfe von kundenseitig verwalteten Schlüsseln in Azure Key Vault.
deaktiviert Optional. Boolescher Wert, der angibt, ob der Indexer deaktiviert ist. Der Standardwert ist gleich „False“.

Antwort

Bei erfolgreicher Anforderung: "201 Erstellt".

Beispiele

Beispiel: Textbasierter Indexer mit Zeitplan und Parameter

In diesem Beispiel wird ein Indexer erstellt, der Daten aus der Tabelle kopiert, auf die von der order-sds Datenquelle verwiesen wird, nach einem Zeitplan, der orders-idx am 1. Januar 2022 UTC beginnt und stündlich ausgeführt wird. Die Aufrufe des Indexers sind erfolgreich, wenn nicht mehr als fünf zu indizierende Elemente in jedem Batch fehlschlagen und insgesamt nicht mehr als zehn zu indizierende Elemente fehlschlagen. Feldzuordnungen stellen einen Datenpfad bereit, wenn Feldnamen und Typen nicht übereinstimmen.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "orders-ds",  
    "targetIndexName" : "orders-idx", 
    "fieldMappings" : [
      {
          "sourceFieldName" : "content",
          "targetFieldName" : "sourceContent"
      }
    ], 
    "schedule" : { "interval" : "PT1H", "startTime" : "2022-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

Beispiel: Skillset-Indexer

In diesem Beispiel wird eine KI-Anreicherung veranschaulicht, die durch den Verweis auf ein Skillset und outputFieldMappings angegeben wird, die Skillausgaben Feldern in einem Suchindex zuordnen. Skillsets sind allgemeine Ressourcen, die separat definiert werden.

Neu in dieser Vorschau und nur für Skillsets anwendbar, können Sie die Cacheeigenschaft angeben, um Dokumente wiederzuverwenden, die von Änderungen in Ihrer Skillsetdefinition nicht betroffen sind.

{
  "name":"demo-indexer",	
  "dataSourceName" : "demo-data",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "DefaultEndpointsProtocol=https;AccountName=<storage-account-name>;AccountKey=<storage-account-key>;EndpointSuffix=core.windows.net",
      "enableReprocessing": true
    },
  "fieldMappings" : [ ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
  	"maxFailedItems":-1,
  	"configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

Beispiel: Anreicherungscache mit einer Verbindung mit einer verwalteten Identität

In diesem Beispiel wird das Verbindungszeichenfolge-Format veranschaulicht, wenn Azure Active Directory für die Authentifizierung verwendet wird. Der Suchdienst muss für die Verwendung einer verwalteten Identität konfiguriert werden. Die Identität muss über die Berechtigungen "Mitwirkender an Speicherblobdaten" verfügen, damit sie in den Cache schreiben kann. Die Verbindungszeichenfolge ist die eindeutige Ressourcen-ID Ihres Speicherkontos und muss den Container enthalten, der zum Speichern der zwischengespeicherten Anreicherung verwendet wird.

{
  "name":"demo-indexer",
  "dataSourceName" : "demodata-ds",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "ResourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/<container-name>;",
      "enableReprocessing": true
    },
  "fieldMappings" : [  ],
  "outputFieldMappings" :  [  ],
  "parameters": {  }
}

Definitionen

Link BESCHREIBUNG
cache Konfiguriert die Zwischenspeicherung für die KI-Anreicherung und die Ausführung von Skillsets.
encryptionKey Konfiguriert eine Verbindung mit Azure Key Vault für die kundenseitig verwaltete Verschlüsselung.
fieldMappings Quell-zu-Ziel-Feldzuordnungen für Felder, die nicht nach Name und Typ übereinstimmen.
outputFieldMappings Ordnet Knoten in einem angereicherten Dokument Feldern in einem Index zu. Erforderlich, wenn Sie Skillsets verwenden.
parameters Konfiguriert einen Indexer. Parameter umfassen allgemeine Parameter und quellspezifische Parameter.
schedule Gibt das Intervall und die Häufigkeit der geplanten Indexerausführung an.

Cache (Vorschau)

Die inkrementelle Indizierung ist die Möglichkeit, angereicherte Dokumente im Cache wiederzuverwenden, wenn ein Skillset verarbeitet wird. Das häufigste Szenario ist die Wiederverwendung von OCR oder die Bildanalyse von Bilddateien, was teuer und zeitaufwendig sein kann.

"cache" : 
  {
    "storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
    "enableReprocessing": true
  }

Das Cacheobjekt verfügt über erforderliche und optionale Eigenschaften.

Eigenschaft BESCHREIBUNG
storageConnectionString Erforderlich. Gibt das Speicherkonto an, das zum Zwischenspeichern der Zwischenergebnisse verwendet wird. Mithilfe des von Ihnen angegebenen Kontos erstellt der Suchdienst einen Blobcontainer mit ms-az-search-indexercache dem Präfix und ergänzt mit einer GUID, die für den Indexer eindeutig ist. Es muss entweder auf einen Vollzugriff Verbindungszeichenfolge festgelegt werden, der einen Schlüssel enthält, oder auf die eindeutige Ressourcen-ID Ihres Speicherkontos für Anforderungen, die mit Azure AD authentifiziert werden.

Für die Authentifizierung über Azure AD muss der Suchdienst für die Verwendung einer verwalteten Identität konfiguriert sein, und diese Identität muss über die Berechtigung "Mitwirkender an Speicherblobdaten" verfügen.
enableReprocessing Optional. Boolesche Eigenschaft (true standardmäßig), um die Verarbeitung eingehender Dokumente zu steuern, die bereits im Cache dargestellt werden. Wenn true (Standardeinstellung) werden Dokumente, die sich bereits im Cache befinden, erneut verarbeitet, wenn Sie den Indexer erneut ausführen, vorausgesetzt, ihre Qualifikationsaktualisierung wirkt sich auf dieses Dokument aus. Wenn false, werden vorhandene Dokumente nicht erneut verarbeitet, wodurch neue eingehende Inhalte gegenüber vorhandenen Inhalten priorisiert werden. Sie sollten enableReprocessing nur temporär auf false festlegen. Um die Konsistenz im Korpus sicherzustellen, sollte enableReprocessing in den meisten Fällen auf true festgelegt werden, um sicherzustellen, dass alle Dokumente, sowohl neue als auch vorhandene, gemäß der aktuellen Skillsetdefinition gültig sind.
ID Schreibgeschützt. Wird generiert, sobald der Cache erstellt wurde. ist ID der Bezeichner des Containers innerhalb des Speicherkontos, der als Cache für diesen Indexer verwendet wird. Hierbei handelt es sich um einen eindeutigen Cache für den Indexer. Wird der Indexer gelöscht und dann mit dem gleichen Namen erneut erstellt, wird auch ID erneut generiert. Die ID kann nicht festgelegt werden, sie wird immer vom Dienst generiert.

schedule

Ein Indexer kann optional einen Zeitplan angeben. Ohne Zeitplan wird der Indexer sofort ausgeführt, wenn Sie die Anforderung senden: Es wird eine Verbindung hergestellt, der Crawlvorgang durchgeführt und die Datenquelle indiziert. Für einige Szenarien, z.B. Indizierungsaufträge mit langer Ausführungsdauer, werden Zeitpläne genutzt, um das Verarbeitungsfenster zu erweitern (über das Maximum von 24 Stunden hinaus). Wenn ein Zeitplan vorliegt, wird der Indexer regelmäßig nach diesem Zeitplan ausgeführt. Der Planer ist eingebaut; Sie können keinen externen Scheduler verwenden. Ein Zeitplan besitzt die folgenden Attribute:

  • Intervall: Erforderlich. Ein Zeitdauerwert, der ein Intervall oder den Zeitraum für Indexer-Ausführungen angibt. Das kleinste zulässige Intervall beträgt fünf Minuten. Die längste Dauer ist ein Tag. Es muss als XSD-Wert „dayTimeDuration“ formatiert sein (eine eingeschränkte Teilmenge eines ISO 8601-Zeitwerts). Das Muster hierfür lautet: "P[nD][T[nH][nM]]". Beispiele: PT15M für alle 15 Minuten, PT2H für alle 2 Stunden.

  • startTime: Optional. Ein UTC-datetime-Wert, der angibt, wann die Ausführung des Indexers beginnen soll.

Hinweis

Wenn ein Indexer auf einen bestimmten Zeitplan festgelegt ist, im gleichen Dokument bei erneuter Ausführung aber immer wieder ein Fehler auftritt, wird der Indexer in selteneren Intervallen ausgeführt (bis hin zum Maximum von mindestens einmal in 24 Stunden), bis die Ausführung fehlerfrei verläuft. Wenn Sie der Meinung sind, dass Sie das Problem behoben haben, das dafür gesorgt hat, dass der Indexer an einem bestimmten Punkt hängengeblieben ist, können Sie eine bedarfsgesteuerte Ausführung des Indexers veranlassen. Wenn diese Ausführung erfolgreich verläuft, wird der Indexer wieder im festgelegten Zeitplanintervall ausgeführt.

parameters

Ein Indexer kann optional Konfigurationsparameter verwenden, mit denen das Laufzeitverhalten geändert wird. Konfigurationsparameter werden in der Indexeranforderung durch Kommas getrennt.

{
  "name" : "my-blob-indexer-for-cognitive-search",
  ... other indexer properties
  "parameters" : { 
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration" : { 
            "parsingMode" : "json", 
            "indexedFileNameExtensions" : ".json, .jpg, .png", 
            "imageAction" : "generateNormalizedImages", 
            "dataToExtract" : "contentAndMetadata" } }
}

Allgemeine Parameter für alle Indexer

Parameter Typ und zulässige Werte Verbrauch
"batchSize" Integer
Ist standardmäßig quellenspezifisch (1.000 für Azure SQL-Datenbank und Azure Cosmos DB, 10 für Azure Blob Storage)
Gibt die Anzahl von Elementen an, die aus einer Datenquelle gelesen und als einzelner Batch indiziert werden, um die Leistung zu verbessern.
"maxFailedItems" Integer
Der Standardwert ist 0.
Anzahl von Fehlern, die toleriert werden, bevor eine Indexerausführung als Fehler angesehen wird. Legen Sie diese Option auf -1 fest, wenn Sie nicht möchten, dass der Indizierungsprozess durch Fehler beendet wird. Sie können Informationen zu fehlgeschlagenen Elementen abrufen, indem Sie den Vorgang zum Abrufen des Indexerstatus verwenden.
"maxFailedItemsPerBatch" Integer
Der Standardwert ist 0.
Anzahl von Fehlern, die pro Batch toleriert werden, bevor eine Indexerausführung als Fehler angesehen wird. Legen Sie diese Option auf -1 fest, wenn Sie nicht möchten, dass der Indizierungsprozess durch Fehler beendet wird.
"base64EncodeKeys" Boolean
Die Standardeinstellung ist „true“.
Gültige Werte sind NULL, true oder false. Wenn dieser Wert auf false festgelegt ist, codiert der Indexer die Werte des Felds, das als Dokumentschlüssel festgelegt ist, nicht automatisch base64. Durch das Festlegen dieser Eigenschaft entfällt die Notwendigkeit, eine Zuordnungsfunktion anzugeben, die base64 Schlüsselwerte codiert (z. B. Bindestriche), die in einem Dokumentschlüssel ansonsten nicht gültig sind.

Blobkonfigurationsparameter

Mehrere Parameter gelten exklusiv für einen bestimmten Indexer, z.B. Azure-Blobindizierung.

Parameter Typ und zulässige Werte Verwendung
"parsingMode" String
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Legen Sie diesen Parameter für Azure-Blobs auf text fest, um die Indizierungsleistung für Klartextdateien in Blobspeicher zu verbessern.
Legen Sie diesen Parameter für CSV-Blobs auf delimitedText fest, wenn es sich bei Blobs um reine CSV-Dateien handelt.
Legen Sie für JSON-Blobs auf fest json , um strukturierte Inhalte zu extrahieren oder jsonArray einzelne Elemente eines Arrays als separate Dokumente in Azure AI Search zu extrahieren. Dient jsonLines zum Extrahieren einzelner JSON-Entitäten, getrennt durch eine neue Zeile, als separate Dokumente in Azure AI Search.
"excludedFileNameExtensions" String
Liste mit Kommas als Trennzeichen
Benutzerdefiniert
Ignorieren Sie für Azure-Blobs alle Dateitypen in der Liste. Beispielsweise können Sie „.png, .png, .mp4“ ausschließen, damit diese Dateien bei der Indizierung übersprungen werden.
"indexedFileNameExtensions" String
Liste mit Kommas als Trennzeichen
Benutzerdefiniert
Wählen Sie für Azure-Blobs Blobs aus, wenn die Dateierweiterung in der Liste enthalten ist. Beispielsweise können Sie die Indizierung auf spezifische Anwendungsdateien wie „.docx, .pptx, .msg“ beschränken, um diese Dateitypen explizit einzubeziehen.
"failOnUnsupportedContentType" Boolean
true
false (Standard)
Legen Sie diesen Parameter für Azure-Blobs auf false fest, falls Sie die Indizierung fortsetzen möchten, wenn ein nicht unterstützter Inhaltstyp erkannt wird und Ihnen nicht alle Inhaltstypen (Dateierweiterungen) vorher bekannt sind.
"failOnUnprocessableDocument" Boolean
true
false (Standard)
Legen Sie diesen Parameter für Azure-Blobs auf false fest, falls Sie die Indizierung fortsetzen möchten, wenn die Indizierung für ein Dokument fehlschlägt.
"indexStorageMetadataOnly
ForOversizedDocuments"
Boolescher Wert true
false (Standard)
Legen Sie diese Eigenschaft für Azure-Blobs auf true fest, um Speichermetadaten für Blobinhalt, der zu groß zum Verarbeiten ist, trotzdem zu indizieren. Zu große Blobs werden standardmäßig als Fehler behandelt. Informationen zu Grenzwerten für die Blobgröße finden Sie unter Dienstgrenzwerte.
"delimitedTextHeaders" String
Liste mit Kommas als Trennzeichen
Benutzerdefiniert
Gibt für CSV-Blobs eine durch Trennzeichen getrennte Liste von Spaltenüberschriften an, die zum Zuordnen von Quellfeldern zu Zielfeldern in einem Index nützlich ist.
"delimitedTextDelimiter" String
einzelnes Zeichen
Benutzerdefiniert
Gibt für CSV-Blobs das Zeilenendetrennzeichen für CSV-Dateien an, bei denen jede Zeile ein neues Dokument beginnt (z. B "|". ).
"firstLineContainsHeaders" Boolean
true (Standardwert)
false
Gibt für CSV-Blobs an, dass die erste (nicht leere) Zeile jedes Blobs Header enthält.
"documentRoot" String
Benutzerdefinierter Pfad
Bei JSON-Arrays können Sie bei einem strukturierten oder teilweise strukturierten Dokument mithilfe dieser Eigenschaft einen Pfad zum Array angeben.
"dataToExtract" String
"storageMetadata"
"allMetadata"
"contentAndMetadata" (Standard)
Für Azure-Blobs:
Legen Sie diesen Parameter auf "storageMetadata" fest, um nur die Standardblobeigenschaften und vom Benutzer angegebenen Metadaten zu indizieren.
Legen Sie diesen Parameter auf "allMetadata" fest, um Metadaten zu extrahieren, die vom Azure-Blobspeichersystem bereitgestellt werden, und die für den Inhaltstyp spezifischen Metadaten (z.B. Metadaten, die nur für PNG-Dateien eindeutig sind) zu indizieren.
Legen Sie diesen Parameter auf "contentAndMetadata" fest, um alle Metadaten und Textinhalte aus jedem Blob zu extrahieren.

Wenn bei der Bildanalyse in der KI-Anreicherung"imageAction" auf einen anderen Wert als "none"festgelegt ist, teilt die "dataToExtract" Einstellung dem Indexer mit, welche Daten aus Bildinhalten extrahiert werden sollen. Dies gilt für eingebetteten Bildinhalt in einer PDF-Datei oder eine andere Anwendung oder für Bilddateien, z.B. .jpg und .png, in Azure-Blobs.
"imageAction" String
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Legen Sie diesen Parameter für Azure-Blobs auf "none" fest, um eingebettete Bilder oder Bilddateien im Dataset zu ignorieren. Dies ist die Standardoption.

Legen Sie für die Bildanalyse in der KI-Anreicherung auf"generateNormalizedImages" fest, um Text aus Bildern zu extrahieren (z. B. das Wort "Stop" aus einem Verkehrsstoppzeichen), und betten Sie es als Teil des Inhaltsfelds ein. Während der Bildanalyse erstellt der Indexer ein Array mit normalisierten Bildern als Teil des Vorgangs, mit dem Dokumente aufgebrochen werden, und bettet die generierten Informationen in das Inhaltsfeld ein. Für diese Aktion ist es erforderlich, "dataToExtract" auf "contentAndMetadata" festzulegen. Ein normalisiertes Bild bezieht sich auf eine zusätzliche Verarbeitung, die zu einer einheitlichen Bildausgabe führt. Für die Ausgabe wird die Größe angepasst, und sie wird gedreht, um das einheitliche Rendern zu fördern, wenn Sie Bilder in visuelle Suchergebnisse einbinden (z.B. Fotos gleicher Größe für ein Graphsteuerelement wie in der JFK-Demo). Diese Informationen werden bei Verwendung dieser Option für jedes Bild generiert.

Wenn Sie diesen Parameter auf "generateNormalizedImagePerPage" festlegen, werden PDF-Dateien anders behandelt. Anstatt eingebettete Bilder zu extrahieren, wird jede Seite als Bild gerendert und entsprechend normalisiert. Nicht-PDF-Dateitypen werden genauso behandelt, als ob der Parameter auf "generateNormalizedImages" festgelegt worden wäre.

Das Festlegen der "imageAction" Konfiguration auf einen anderen Wert als "none" erfordert, dass auch ein Skillset an diesen Indexer angefügt wird.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Eine beliebige ganze Zahl zwischen 50-10000 Die maximale Breite bzw. Höhe (in Pixel) für normalisierte Bilder, die generiert werden, wenn festgelegt "imageAction" wird. Der Standardwert ist „2000“.

Der Standardwert von 2.000 Pixeln für die maximale Breite und Höhe der normalisierten Bilder basiert auf der maximal unterstützten Größe der OCR-Qualifikation und der Bildanalysequalifikation. Die OCR-Qualifikation unterstützt eine maximale Breite und Höhe von 4.200 für nicht englische Sprachen und 10.000 für Englisch. Wenn Sie die maximalen Grenzwerte erhöhen, können bei größeren Images je nach Skillsetdefinition und Sprache der Dokumente Fehler bei der Verarbeitung auftreten.
"allowSkillsetToReadFileData" Boolean
true
false (Standard)
Wenn Sie den "allowSkillsetToReadFileData" Parameter auf festlegen, wird ein Pfad /document/file_data erstellt, bei dem es sich um true ein Objekt handelt, das die ursprünglichen Dateidaten darstellt, die aus Der Blobdatenquelle heruntergeladen wurden. Dadurch können Sie die ursprünglichen Dateidaten an einen benutzerdefinierten Skill zur Verarbeitung innerhalb der Anreicherungspipeline oder an den Skill Dokumentextraktion übergeben. Das generierte Objekt wird wie folgt definiert: { "$type": "file", "data": "BASE64 encoded string of the file" }

Das Festlegen des "allowSkillsetToReadFileData" Parameters auf true erfordert, dass ein Skillset an diesen Indexer angefügt wird, dass der "parsingMode" Parameter auf "default", "text" oder "json"festgelegt ist und der "dataToExtract" Parameter auf "contentAndMetadata" oder "allMetadata"festgelegt ist.
"pdfTextRotationAlgorithm" String
"none" (Standard)
"detectAngles"
Das Festlegen des "pdfTextRotationAlgorithm" Parameters auf "detectAngles" kann dazu beitragen, eine bessere und lesbarere Textextraktion aus PDF-Dateien zu erzeugen, die gedrehten Text enthalten. Beachten Sie, dass die Verwendung dieses Parameters möglicherweise geringfügige Auswirkungen auf die Leistungsgeschwindigkeit hat. Dieser Parameter gilt nur für PDF-Dateien und nur für PDF-Dateien mit eingebettetem Text. Wenn der gedrehte Text in einem eingebetteten Bild in der PDF angezeigt wird, gilt dieser Parameter nicht.

Das Festlegen des "pdfTextRotationAlgorithm" Parameters auf "detectAngles" erfordert, dass der "parsingMode" Parameter auf "default"festgelegt ist.

Azure Cosmos DB-Konfigurationsparameter

Die folgenden Parameter sind spezifisch für Cosmos DB-Indexer.

Parameter Typ und zulässige Werte Verbrauch
"assumeOrderByHighWaterMarkColumn" Boolean Legen Sie für Cosmos DB-Indexer mit SQL-API diesen Parameter fest, um Cosmos DB einen Hinweis zu geben, dass die Abfrage, die zum Zurückgeben von Dokumenten für die Indizierung verwendet wird, tatsächlich nach der _ts Spalte sortiert ist. Wenn Sie diesen Parameter festlegen, erhalten Sie bessere Ergebnisse für Inkrementelle Indizierungsszenarien.

Azure SQL Konfigurationsparameter

Die folgenden Parameter gelten spezifisch für Azure SQL-Datenbank.

Parameter Typ und zulässige Werte Verwendung
"queryTimeout" String
"hh:mm:ss"
"00:05:00"
Legen Sie diesen Parameter fest, um die 5-Minuten-Standardeinstellung außer Kraft zu setzen.
"convertHighWaterMarkToRowVersion" Boolean Legen Sie diesen Parameter auf "true" fest, um den rowversion-Datentyp für die Spalte mit hohem Wasserzeichen zu verwenden. Wenn diese Eigenschaft auf true festgelegt ist, subtrahiert der Indexer einen wert aus dem rowversion-Wert, bevor der Indexer ausgeführt wird. Dies geschieht, da Ansichten mit 1:n-Joins möglicherweise Zeilen mit doppelten Zeilenversionswerten aufweisen. Durch Subtraktion von eins wird sichergestellt, dass die Indexerabfrage diese Zeilen nicht übergeht.
"disableOrderByHighWaterMarkColumn" Boolean Legen Sie diesen Parameter auf "true" fest, wenn Sie das ORDER BY-Verhalten in der für die Änderungserkennung verwendeten Abfrage deaktivieren möchten. Wenn Sie die Änderungserkennungsrichtlinie für hohe Wasserzeichen verwenden, verwendet der Indexer WHERE- und ORDER BY-Klauseln, um nachzuverfolgen, welche Zeilen indiziert werden müssen (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Dieser Parameter deaktiviert das ORDER BY-Verhalten. Die Indizierung wird schneller abgeschlossen, aber der Kompromiss besteht darin, dass der gesamte Indexerauftrag vollständig wiederholt werden muss, wenn der Indexer aus irgendeinem Grund unterbrochen wird.

fieldMappings

Erstellen Sie diese, wenn Quell-Zielfeldnamen oder -typen nicht übereinstimmen oder wenn Sie eine Funktion angeben möchten. Bei Feldzuordnungen wird die Groß-/Kleinschreibung nicht beachtet. Siehe Definieren von Feldzuordnungen.

attribute BESCHREIBUNG
sourceFieldName Erforderlich. Name der Quellspalte.
targetFieldName Erforderlich. Name des entsprechenden Felds im Suchindex.
mappingFunction Optional. Fügt die Verarbeitung zu Quellwerten hinzu, die an die Suchmaschine weitergeleitet werden. Ein beliebiger Zeichenfolgenwert kann beispielsweise Base64-codiert sein, damit er zum Auffüllen eines Dokumentschlüsselfelds verwendet werden kann. Eine Zuordnungsfunktion verfügt über einen Namen und Parameter. Gültige Werte sind:

base64Encode
base64Decode
extractTokenAtPosition
jsonArrayToStringCollection
urlEncode
urlDecode

outputFieldMappings

Gibt Skillausgaben (oder Knoten in einer Anreicherungsstruktur) für Felder in einem Suchindex an.

  "outputFieldMappings" : [
        {
          "sourceFieldName" : "/document/organizations", 
          "targetFieldName" : "organizations"
        },
        {
          "sourceFieldName" : "/document/pages/*/keyPhrases/*", 
          "targetFieldName" : "keyphrases"
        },
        {
            "sourceFieldName": "/document/languageCode",
            "targetFieldName": "language",
            "mappingFunction": null
        }      
   ],

encryptionKey

Konfiguriert eine Verbindung mit Azure Key Vault für zusätzliche kundenseitig verwaltete Verschlüsselungsschlüssel (CMK). Die Verschlüsselung mit kundenseitig verwalteten Schlüsseln ist für kostenlose Dienste nicht verfügbar. Für abrechenbare Dienste ist sie nur für Suchdienste verfügbar, die am oder nach dem 01.01.2019 erstellt wurden.

Eine Verbindung mit dem Schlüsseltresor muss authentifiziert werden. Sie können zu diesem Zweck entweder "accessCredentials" oder eine verwaltete Identität verwenden.

Verwaltete Identitäten können systemseitig oder benutzerseitig (Vorschau) sein. Wenn der Suchdienst sowohl über eine systemseitig zugewiesene verwaltete Identität als auch über eine Rollenzuweisung verfügt, die Lesezugriff auf den Schlüsseltresor gewährt, können Sie sowohl "identität" als auch "accessCredentials" weglassen, und die Anforderung authentifiziert sich mithilfe der verwalteten Systemidentität. Wenn der Suchdienst über eine benutzerseitig zugewiesene Identität und Rollenzuweisung verfügt, legen Sie die Eigenschaft "identity" auf die Ressourcen-ID dieser Identität fest.

attribute BESCHREIBUNG
keyVaultKeyName Erforderlich. Name des Azure Key Vault Schlüssels, der für die Verschlüsselung verwendet wird.
keyVaultKeyVersion Erforderlich. Version des Azure Key Vault-Schlüssels.
keyVaultUri Erforderlich. URI von Azure Key Vault (auch als DNS-Name bezeichnet), der den Schlüssel bereitstellt. Ein Beispiel-URI kann sein. https://my-keyvault-name.vault.azure.net
accessCredentials Lassen Sie weg, wenn Sie eine verwaltete Identität verwenden. Andernfalls die Eigenschaften von accessCredentials include applicationId (eine Azure Active Directory-Anwendungs-ID mit Zugriffsberechtigungen für Ihre angegebene Azure Key Vault) und applicationSecret (der Authentifizierungsschlüssel der angegebenen Azure AD-Anwendung).
Identität Optional, es sei denn, Sie verwenden eine benutzerseitig zugewiesene verwaltete Identität für die Suchdienstverbindung mit Azure Key Vault. Das Format ist "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]".

Weitere Informationen