Partager via


Indexers - Create

Crée un indexeur.

POST {endpoint}/indexers?api-version=2024-07-01

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string

URL du point de terminaison du service de recherche.

api-version
query True

string

Version de l’API cliente.

En-tête de la demande

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

string

uuid

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

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.

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 votre définition d’indexeur (ainsi que l’état d’exécution de l’indexeur) lorsque vous souhaitez une assurance totale 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 d’indexeur (et l’état d’exécution de l’indexeur) ne sont 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 le 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.

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 en cours d’exécution avec cet indexeur.

Réponses

Nom Type Description
201 Created

SearchIndexer

Other Status Codes

ErrorResponse

Réponse d’erreur.

Exemples

SearchServiceCreateIndexer

Exemple de requête

POST https://myservice.search.windows.net/indexers?api-version=2024-07-01

{
  "name": "myindexer",
  "description": "an 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": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Exemple de réponse

{
  "name": "myindexer",
  "description": "an 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": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": null
    }
  }
}

Définitions

Nom Description
AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisée 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 quelles 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 d’autres applications, ou des fichiers image tels que .jpg et .png, dans des objets blob Azure.

BlobIndexerImageAction

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

BlobIndexerParsingMode

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

BlobIndexerPDFTextRotationAlgorithm

Détermine l’algorithme d’extraction de texte à partir de fichiers PDF dans le stockage d’objets 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 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 des paramètres pour l’exécution de l’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 de l’indexeur.

SearchIndexer

Représente un indexeur.

SearchResourceEncryptionKey

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 des données au repos, telles que des index et des mappages de synonymes.

AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisée 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 qui a reçu les autorisations d’accès requises au coffre de clés 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 quelles 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 d’autres applications, ou des fichiers image tels que .jpg et .png, dans des objets blob Azure.

Nom Type Description
allMetadata

string

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

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 le stockage d’objets blob Azure. La définition de la configuration « imageAction » sur n’importe quelle valeur autre que « none » nécessite qu’un ensemble de compétences soit également attaché à cet indexeur.

Nom Type Description
generateNormalizedImagePerPage

string

Extrait du texte d’images (par exemple, le mot « STOP » à partir d’un signe d’arrêt du trafic) et l’incorpore dans le champ de contenu, mais traite les fichiers PDF différemment dans ce que chaque page sera rendu en tant qu’image et normalisé en conséquence, au lieu d’extraire des images incorporées. Les types de fichiers non PDF sont traités de la même façon que si « generateNormalizedImages » a été défini.

generateNormalizedImages

string

Extrait du texte d’images (par exemple, le mot « STOP » à partir 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 entraînant 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 d’objet blob Azure.

Nom Type Description
default

string

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

delimitedText

string

Définissez la valeur 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 en tant que documents distincts.

jsonLines

string

Définissez sur jsonLines pour extraire des entités JSON individuelles, séparées par une nouvelle ligne, sous forme de documents distincts.

text

string

Définissez le 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 le stockage d’objets blob Azure.

Nom Type Description
detectAngles

string

Peut produire une meilleure extraction de texte lisible à partir de fichiers PDF qui ont pivoté du texte dans ces fichiers. Notez qu’il peut y avoir un faible 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 au format PDF, ce paramètre ne s’applique pas.

none

string

Tire parti de l’extraction normale de texte. 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émentaire.

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 d’erreur.

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 d’une source de données avant l’indexation.

Nom Type Description
name

string

Nom de la fonction de mappage de champ.

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 approvisionné spécifiquement pour le service de recherche. Cela ne doit être spécifié que comme environnement d’exécution si l’indexeur doit accéder en toute sécurité aux ressources via des ressources de liaison privée partagée.

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 est la valeur recommandée.

IndexingParameters

Représente des paramètres pour l’exécution de l’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 en tant que 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 aucune limite. La valeur par défaut est 0.

maxFailedItemsPerBatch

integer

0

Nombre maximal d’éléments d’un seul lot pouvant échouer l’indexation du lot pour qu’il soit toujours considéré comme réussi. -1 signifie aucune limite. 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éez un chemin //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 le 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 quelles 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 d’autres applications, ou des fichiers image tels que .jpg et .png, dans des 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 mapper les champs sources aux champs de destination dans un index.

documentRoot

string

Pour les tableaux JSON, en fonction d’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 la valeur 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 la valeur 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 des images incorporées et des fichiers image dans le stockage d’objets blob Azure. La définition de la configuration « imageAction » sur n’importe quelle 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. Les objets blob surdimensionnés sont traités comme des erreurs par défaut. Pour connaître les limites relatives à la taille de l’objet blob, consultez https://learn.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

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

parsingMode

BlobIndexerParsingMode

default

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

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Détermine l’algorithme d’extraction de texte à partir de fichiers PDF dans le stockage d’objets 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 les sources de données de base de données Azure SQL, spécifiées au format « hh :mm :ss ».

IndexingSchedule

Représente une planification pour l’exécution de l’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.

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’état d’exécution de l’indexeur) lorsque vous souhaitez une assurance totale 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 d’indexeur (et l’état d’exécution de l’indexeur) ne sont 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 le 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 en cours d’exécution avec cet indexeur.

targetIndexName

string

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

SearchResourceEncryptionKey

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 des données au repos, telles que des index et des mappages de synonymes.

Nom Type Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Informations d’identification Azure Active Directory facultatives utilisées pour accéder à votre coffre de clés Azure. Non obligatoire si vous utilisez plutôt une identité managée.

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

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