Partager via


Indexers - Create Or Update

Crée un indexeur ou met à jour un indexeur s’il existe déjà.

PUT {endpoint}/indexers('{indexerName}')?api-version=2024-05-01-preview
PUT {endpoint}/indexers('{indexerName}')?api-version=2024-05-01-preview&ignoreResetRequirements={ignoreResetRequirements}&disableCacheReprocessingChangeDetection={disableCacheReprocessingChangeDetection}

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string

URL du point de terminaison du service de recherche.

indexerName
path True

string

Nom de l’indexeur à créer ou à mettre à jour.

api-version
query True

string

Version de l’API cliente.

disableCacheReprocessingChangeDetection
query

boolean

Désactive la détection des modifications de retraitement du cache.

ignoreResetRequirements
query

boolean

Ignore les exigences de réinitialisation du cache.

En-tête de la demande

Nom Obligatoire Type Description
x-ms-client-request-id

string

uuid

ID de suivi envoyé avec la demande d’aide pour le débogage.

If-Match

string

Définit la condition If-Match. L’opération n’est effectuée que si l’ETag sur le serveur correspond à cette valeur.

If-None-Match

string

Définit la condition If-None-Match. L’opération n’est effectuée que si l’ETag sur le serveur ne correspond pas à cette valeur.

Prefer True

string

Pour les requêtes HTTP PUT, indique au service de retourner la ressource créée/mise à jour en cas de réussite.

Corps de la demande

Nom Obligatoire Type Description
dataSourceName True

string

Nom de la source de données à partir de laquelle cet indexeur lit les données.

name True

string

Nom de l'indexeur.

targetIndexName True

string

Nom de l’index dans lequel cet indexeur écrit des données.

@odata.etag

string

ETag de l’indexeur.

cache

SearchIndexerCache

Ajoute la mise en cache à un pipeline d’enrichissement pour permettre des étapes de modification incrémentielles sans avoir à reconstruire l’index à chaque fois.

description

string

Description de l’indexeur.

disabled

boolean

Valeur indiquant si l’indexeur est désactivé. La valeur par défaut est false.

encryptionKey

SearchResourceEncryptionKey

Description d’une clé de chiffrement que vous créez dans Azure Key Vault. Cette clé est utilisée pour fournir un niveau supplémentaire de chiffrement au repos pour la définition de votre indexeur (ainsi que l’exécution de l’indexeur status) lorsque vous souhaitez avoir l’assurance complète que personne, pas même Microsoft, ne peut les déchiffrer. Une fois que vous avez chiffré la définition de votre indexeur, elle reste toujours chiffrée. Le service de recherche ignore les tentatives de définition de cette propriété sur null. Vous pouvez modifier cette propriété si nécessaire si vous souhaitez faire pivoter votre clé de chiffrement ; La définition de votre indexeur (et l’exécution de l’indexeur status) ne seront pas affectées. Le chiffrement avec des clés gérées par le client n’est pas disponible pour les services de recherche gratuits et n’est disponible que pour les services payants créés à partir du 1er janvier 2019.

fieldMappings

FieldMapping[]

Définit les mappages entre les champs de la source de données et les champs cibles correspondants dans l’index.

outputFieldMappings

FieldMapping[]

Les mappages de champs de sortie sont appliqués après l’enrichissement et immédiatement avant l’indexation.

parameters

IndexingParameters

Paramètres pour l’exécution de l’indexeur.

schedule

IndexingSchedule

Planification de cet indexeur.

skillsetName

string

Nom de l’ensemble de compétences qui s’exécute avec cet indexeur.

Réponses

Nom Type Description
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

ErrorResponse

Réponse d’erreur.

Exemples

SearchServiceCreateOrUpdateIndexer

Exemple de requête

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2024-05-01-preview


{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

Exemple de réponse

{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}
{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

Définitions

Nom Description
AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisées pour l’accès authentifié aux clés de chiffrement stockées dans Azure Key Vault.

BlobIndexerDataToExtract

Spécifie les données à extraire du stockage Blob Azure et indique à l’indexeur les données à extraire du contenu de l’image lorsque « imageAction » est défini sur une valeur autre que « none ». Cela s’applique au contenu d’image incorporé dans une .PDF ou une autre application, ou aux fichiers image tels que les .jpg et les .png, dans les objets blob Azure.

BlobIndexerImageAction

Détermine comment traiter des images incorporées et des fichiers image dans stockage blob Azure. Pour définir la configuration « imageAction » sur une valeur autre que « none », un ensemble de compétences doit également être attaché à cet indexeur.

BlobIndexerParsingMode

Représente le mode d’analyse pour l’indexation à partir d’une source de données blob Azure.

BlobIndexerPDFTextRotationAlgorithm

Détermine l’algorithme d’extraction de texte à partir de fichiers PDF dans stockage blob Azure.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

ErrorDetail

Détail de l’erreur.

ErrorResponse

Réponse d’erreur

FieldMapping

Définit un mappage entre un champ dans une source de données et un champ cible dans un index.

FieldMappingFunction

Représente une fonction qui transforme une valeur à partir d’une source de données avant l’indexation.

IndexerExecutionEnvironment

Spécifie l’environnement dans lequel l’indexeur doit s’exécuter.

IndexingParameters

Représente les paramètres pour l'exécution d'indexeur.

IndexingParametersConfiguration

Dictionnaire de propriétés de configuration spécifiques à l’indexeur. Chaque nom est le nom d’une propriété spécifique. Chaque valeur doit être d’un type primitif.

IndexingSchedule

Représente une planification pour l'exécution d'indexeur.

SearchIndexer

Représente un indexeur.

SearchIndexerCache
SearchIndexerDataNoneIdentity

Efface la propriété d’identité d’une source de données.

SearchIndexerDataUserAssignedIdentity

Spécifie l’identité d’une source de données à utiliser.

SearchResourceEncryptionKey

Une clé de chiffrement gérée par le client dans Azure Key Vault. Les clés que vous créez et gérez peuvent être utilisées pour chiffrer ou déchiffrer les données au repos, telles que les index et les mappages de synonymes.

AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisées pour l’accès authentifié aux clés de chiffrement stockées dans Azure Key Vault.

Nom Type Description
applicationId

string

ID d’application AAD disposant des autorisations d’accès requises à l’Key Vault Azure à utiliser lors du chiffrement de vos données au repos. L’ID d’application ne doit pas être confondu avec l’ID d’objet de votre application AAD.

applicationSecret

string

Clé d’authentification de l’application AAD spécifiée.

BlobIndexerDataToExtract

Spécifie les données à extraire du stockage Blob Azure et indique à l’indexeur les données à extraire du contenu de l’image lorsque « imageAction » est défini sur une valeur autre que « none ». Cela s’applique au contenu d’image incorporé dans une .PDF ou une autre application, ou aux fichiers image tels que les .jpg et les .png, dans les objets blob Azure.

Nom Type Description
allMetadata

string

Extrait les métadonnées fournies par le sous-système stockage d’objets blob Azure et les métadonnées spécifiques au type de contenu (par exemple, les métadonnées propres à .png fichiers sont indexés).

contentAndMetadata

string

Extrait toutes les métadonnées et le contenu textuel de chaque objet blob.

storageMetadata

string

Indexe uniquement les propriétés d’objet blob standard et les métadonnées spécifiées par l’utilisateur.

BlobIndexerImageAction

Détermine comment traiter des images incorporées et des fichiers image dans stockage blob Azure. Pour définir la configuration « imageAction » sur une valeur autre que « none », un ensemble de compétences doit également être attaché à cet indexeur.

Nom Type Description
generateNormalizedImagePerPage

string

Extrait le texte des images (par exemple, le mot « STOP » d’un panneau d’arrêt de trafic) et l’incorpore dans le champ de contenu, mais traite les fichiers PDF différemment dans la mesure où chaque page sera rendue sous forme d’image et normalisée en conséquence, au lieu d’extraire les images incorporées. Les types de fichiers non PDF seront traités de la même façon que si « generateNormalizedImages » était défini.

generateNormalizedImages

string

Extrait le texte des images (par exemple, le mot « STOP » d’un signe d’arrêt de trafic) et l’incorpore dans le champ de contenu. Cette action nécessite que « dataToExtract » soit défini sur « contentAndMetadata ». Une image normalisée fait référence à un traitement supplémentaire résultant en une sortie d’image uniforme, dimensionnée et pivotée pour promouvoir un rendu cohérent lorsque vous incluez des images dans les résultats de recherche visuelle. Ces informations sont générées pour chaque image lorsque vous utilisez cette option.

none

string

Ignore les images incorporées ou les fichiers image dans le jeu de données. Il s’agit de la valeur par défaut.

BlobIndexerParsingMode

Représente le mode d’analyse pour l’indexation à partir d’une source de données blob Azure.

Nom Type Description
default

string

Définissez la valeur par défaut pour le traitement normal des fichiers.

delimitedText

string

Définissez sur delimitedText lorsque les objets blob sont des fichiers CSV bruts.

json

string

Définissez sur json pour extraire du contenu structuré à partir de fichiers JSON.

jsonArray

string

Définissez sur jsonArray pour extraire des éléments individuels d’un tableau JSON sous forme de documents distincts.

jsonLines

string

Définissez sur jsonLines pour extraire des entités JSON individuelles, séparées par une nouvelle ligne, en tant que documents distincts.

text

string

Définissez sur texte pour améliorer les performances d’indexation sur les fichiers de texte brut dans le stockage d’objets blob.

BlobIndexerPDFTextRotationAlgorithm

Détermine l’algorithme d’extraction de texte à partir de fichiers PDF dans stockage blob Azure.

Nom Type Description
detectAngles

string

Peut produire une extraction de texte meilleure et plus lisible à partir de fichiers PDF qui ont fait pivoter le texte. Notez qu’il peut y avoir un petit impact sur la vitesse des performances lorsque ce paramètre est utilisé. Ce paramètre s’applique uniquement aux fichiers PDF et uniquement aux fichiers PDF avec du texte incorporé. Si le texte pivoté apparaît dans une image incorporée dans le fichier PDF, ce paramètre ne s’applique pas.

none

string

Tire parti de l’extraction de texte normale. Il s’agit de la valeur par défaut.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

Nom Type Description
info

object

Informations supplémentaires

type

string

Type d’informations supplémentaires.

ErrorDetail

Détail de l’erreur.

Nom Type Description
additionalInfo

ErrorAdditionalInfo[]

Informations supplémentaires sur l’erreur.

code

string

Code d'erreur.

details

ErrorDetail[]

Détails de l’erreur.

message

string

Message d’erreur.

target

string

Cible d’erreur.

ErrorResponse

Réponse d’erreur

Nom Type Description
error

ErrorDetail

Objet error.

FieldMapping

Définit un mappage entre un champ dans une source de données et un champ cible dans un index.

Nom Type Description
mappingFunction

FieldMappingFunction

Fonction à appliquer à chaque valeur de champ source avant l’indexation.

sourceFieldName

string

Nom du champ dans la source de données.

targetFieldName

string

Nom du champ cible dans l’index. Identique au nom du champ source par défaut.

FieldMappingFunction

Représente une fonction qui transforme une valeur à partir d’une source de données avant l’indexation.

Nom Type Description
name

string

Nom de la fonction de mappage de champs.

parameters

object

Dictionnaire de paires nom/valeur de paramètre à passer à la fonction. Chaque valeur doit être d’un type primitif.

IndexerExecutionEnvironment

Spécifie l’environnement dans lequel l’indexeur doit s’exécuter.

Nom Type Description
private

string

Indique que l’indexeur doit s’exécuter avec l’environnement provisionné spécifiquement pour le service de recherche. Cela doit uniquement être spécifié en tant qu’environnement d’exécution si l’indexeur doit accéder aux ressources de manière sécurisée via des ressources de liaison privée partagées.

standard

string

Indique que le service de recherche peut déterminer où l’indexeur doit s’exécuter. Il s’agit de l’environnement par défaut lorsque rien n’est spécifié et qu’il s’agit de la valeur recommandée.

IndexingParameters

Représente les paramètres pour l'exécution d'indexeur.

Nom Type Valeur par défaut Description
batchSize

integer

Nombre d’éléments lus à partir de la source de données et indexés sous la forme d’un lot unique afin d’améliorer les performances. La valeur par défaut dépend du type de source de données.

configuration

IndexingParametersConfiguration

Dictionnaire de propriétés de configuration spécifiques à l’indexeur. Chaque nom est le nom d’une propriété spécifique. Chaque valeur doit être d’un type primitif.

maxFailedItems

integer

0

Nombre maximal d’éléments pouvant échouer l’indexation pour que l’exécution de l’indexeur soit toujours considérée comme réussie. -1 signifie illimité. La valeur par défaut est 0.

maxFailedItemsPerBatch

integer

0

Nombre maximal d’éléments dans un même lot qui peuvent échouer l’indexation pour que le lot soit toujours considéré comme réussi. -1 signifie illimité. La valeur par défaut est 0.

IndexingParametersConfiguration

Dictionnaire de propriétés de configuration spécifiques à l’indexeur. Chaque nom est le nom d’une propriété spécifique. Chaque valeur doit être d’un type primitif.

Nom Type Valeur par défaut Description
allowSkillsetToReadFileData

boolean

False

Si la valeur est true, crée un chemin d’accès //document//file_data qui est un objet représentant les données de fichier d’origine téléchargées à partir de votre source de données blob. Cela vous permet de transmettre les données de fichier d’origine à une compétence personnalisée pour traitement dans le pipeline d’enrichissement ou à la compétence Extraction de documents.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Spécifie les données à extraire du stockage Blob Azure et indique à l’indexeur les données à extraire du contenu de l’image lorsque « imageAction » est défini sur une valeur autre que « none ». Cela s’applique au contenu d’image incorporé dans un .PDF ou une autre application, ou aux fichiers image tels que .jpg et .png, dans les objets blob Azure.

delimitedTextDelimiter

string

Pour les objets blob CSV, spécifie le délimiteur à caractère unique de fin de ligne pour les fichiers CSV où chaque ligne démarre un nouveau document (par exemple, « | »).

delimitedTextHeaders

string

Pour les objets blob CSV, spécifie une liste délimitée par des virgules d’en-têtes de colonne, utile pour le mappage des champs sources aux champs de destination dans un index.

documentRoot

string

Pour les tableaux JSON, dans un document structuré ou semi-structuré, vous pouvez spécifier un chemin d’accès au tableau à l’aide de cette propriété.

excludedFileNameExtensions

string

Liste délimitée par des virgules des extensions de nom de fichier à ignorer lors du traitement à partir du stockage Blob Azure. Par exemple, vous pouvez exclure « .png, .mp4 » pour ignorer ces fichiers pendant l’indexation.

executionEnvironment

IndexerExecutionEnvironment

standard

Spécifie l’environnement dans lequel l’indexeur doit s’exécuter.

failOnUnprocessableDocument

boolean

False

Pour les objets blob Azure, définissez sur false si vous souhaitez continuer l’indexation en cas d’échec de l’indexation d’un document.

failOnUnsupportedContentType

boolean

False

Pour les objets blob Azure, définissez sur false si vous souhaitez continuer l’indexation lorsqu’un type de contenu non pris en charge est rencontré et que vous ne connaissez pas tous les types de contenu (extensions de fichier) à l’avance.

firstLineContainsHeaders

boolean

True

Pour les objets blob CSV, indique que la première ligne (non vide) de chaque objet blob contient des en-têtes.

imageAction

BlobIndexerImageAction

none

Détermine comment traiter les images incorporées et les fichiers image dans le stockage Blob Azure. La définition de la configuration « imageAction » sur une valeur autre que « none » nécessite qu’un ensemble de compétences soit également attaché à cet indexeur.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Pour les objets blob Azure, définissez cette propriété sur true pour toujours indexer les métadonnées de stockage pour le contenu d’objet blob trop volumineux à traiter. Par défaut, les objets blob surdimensionnés sont traités comme des erreurs. Pour connaître les limites de taille d’objet blob, consultez https://docs.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

Liste délimitée par des virgules des extensions de nom de fichier à sélectionner lors du traitement à partir du stockage Blob Azure. Par exemple, vous pouvez axer l’indexation sur les fichiers d’applications « .docx, .pptx, .msg » pour inclure spécifiquement ces types de fichier.

parsingMode

BlobIndexerParsingMode

default

Représente le mode d’analyse pour l’indexation à partir d’une source de données d’objets blob Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Détermine l’algorithme pour l’extraction de texte à partir de fichiers PDF dans le stockage Blob Azure.

queryTimeout

string

00:05:00

Augmente le délai d’expiration au-delà de la valeur par défaut de 5 minutes pour Azure SQL sources de données de base de données, spécifiées au format « hh :mm :ss ».

IndexingSchedule

Représente une planification pour l'exécution d'indexeur.

Nom Type Description
interval

string

Intervalle de temps entre les exécutions de l’indexeur.

startTime

string

Heure à laquelle un indexeur doit commencer à s’exécuter.

SearchIndexer

Représente un indexeur.

Nom Type Valeur par défaut Description
@odata.etag

string

ETag de l’indexeur.

cache

SearchIndexerCache

Ajoute la mise en cache à un pipeline d’enrichissement pour permettre des étapes de modification incrémentielles sans avoir à reconstruire l’index à chaque fois.

dataSourceName

string

Nom de la source de données à partir de laquelle cet indexeur lit les données.

description

string

Description de l’indexeur.

disabled

boolean

False

Valeur indiquant si l’indexeur est désactivé. La valeur par défaut est false.

encryptionKey

SearchResourceEncryptionKey

Description d’une clé de chiffrement que vous créez dans Azure Key Vault. Cette clé est utilisée pour fournir un niveau supplémentaire de chiffrement au repos pour votre définition d’indexeur (ainsi que l’exécution de l’indexeur status) lorsque vous souhaitez avoir l’assurance complète que personne, pas même Microsoft, ne peut les déchiffrer. Une fois que vous avez chiffré votre définition d’indexeur, elle reste toujours chiffrée. Le service de recherche ignore les tentatives de définition de cette propriété sur null. Vous pouvez modifier cette propriété si nécessaire si vous souhaitez faire pivoter votre clé de chiffrement ; Votre définition de l’indexeur (et l’exécution de l’indexeur status) ne seront pas affectées. Le chiffrement avec des clés gérées par le client n’est pas disponible pour les services de recherche gratuits et est uniquement disponible pour les services payants créés à partir du 1er janvier 2019.

fieldMappings

FieldMapping[]

Définit des mappages entre les champs de la source de données et les champs cibles correspondants dans l’index.

name

string

Nom de l'indexeur.

outputFieldMappings

FieldMapping[]

Les mappages de champs de sortie sont appliqués après l’enrichissement et immédiatement avant l’indexation.

parameters

IndexingParameters

Paramètres pour l’exécution de l’indexeur.

schedule

IndexingSchedule

Planification de cet indexeur.

skillsetName

string

Nom de l’ensemble de compétences s’exécutant avec cet indexeur.

targetIndexName

string

Nom de l’index dans lequel cet indexeur écrit les données.

SearchIndexerCache

Nom Type Description
enableReprocessing

boolean

Spécifie si le retraitement incrémentiel est activé.

identity SearchIndexerDataIdentity:

Identité managée affectée par l’utilisateur utilisée pour les connexions au cache d’enrichissement. Si le chaîne de connexion indique une identité (ResourceId) et qu’elle n’est pas spécifiée, l’identité managée affectée par le système est utilisée. Lors des mises à jour de l’indexeur, si l’identité n’est pas spécifiée, la valeur reste inchangée. Si la valeur est « none », la valeur de cette propriété est effacée.

storageConnectionString

string

Le chaîne de connexion au compte de stockage où les données du cache seront conservées.

SearchIndexerDataNoneIdentity

Efface la propriété d’identité d’une source de données.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Fragment d’URI spécifiant le type d’identité.

SearchIndexerDataUserAssignedIdentity

Spécifie l’identité d’une source de données à utiliser.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Fragment d’URI spécifiant le type d’identité.

userAssignedIdentity

string

ID de ressource Azure complet d’une identité managée affectée par l’utilisateur sous la forme « /subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId » qui aurait dû être affecté au service de recherche.

SearchResourceEncryptionKey

Une clé de chiffrement gérée par le client dans Azure Key Vault. Les clés que vous créez et gérez peuvent être utilisées pour chiffrer ou déchiffrer les données au repos, telles que les index et les mappages de synonymes.

Nom Type Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Informations d’identification Azure Active Directory facultatives utilisées pour accéder à votre Key Vault Azure. Non obligatoire si vous utilisez une identité managée à la place.

identity SearchIndexerDataIdentity:

Identité managée explicite à utiliser pour cette clé de chiffrement. Si elle n’est pas spécifiée et que la propriété des informations d’identification d’accès est null, l’identité managée affectée par le système est utilisée. Lors de la mise à jour de la ressource, si l’identité explicite n’est pas spécifiée, elle reste inchangée. Si « none » est spécifié, la valeur de cette propriété est effacée.

keyVaultKeyName

string

Nom de votre clé de Key Vault Azure à utiliser pour chiffrer vos données au repos.

keyVaultKeyVersion

string

La version de votre clé Azure Key Vault à utiliser pour chiffrer vos données au repos.

keyVaultUri

string

URI de votre Key Vault Azure, également appelé nom DNS, qui contient la clé à utiliser pour chiffrer vos données au repos. Un exemple d’URI pourrait être https://my-keyvault-name.vault.azure.net.