Partager via


Indexers - Create

Crée un indexeur.

POST {endpoint}/indexers?api-version=2023-11-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 les 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’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.

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.

Réponses

Nom Type Description
201 Created

SearchIndexer

Other Status Codes

SearchError

Réponse d’erreur.

Exemples

SearchServiceCreateIndexer

Sample Request

POST https://myservice.search.windows.net/indexers?api-version=2023-11-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>"
    }
  }
}

Sample Response

{
  "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é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 un .PDF ou une autre application, ou aux fichiers image tels que .jpg et .png, dans les objets blob Azure.

BlobIndexerImageAction

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.

BlobIndexerParsingMode

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

BlobIndexerPDFTextRotationAlgorithm

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

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.

SearchError

Décrit une condition d’erreur pour l’API.

SearchIndexer

Représente un indexeur.

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 sur votre service de recherche, 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 un .PDF ou une autre application, ou aux fichiers image tels que .jpg et .png, dans les 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é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 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.

Nom Type Description
generateNormalizedImagePerPage

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, mais traite les fichiers PDF différemment dans la mesure où chaque page sera rendue en tant qu’image et normalisée en conséquence, au lieu d’extraire des 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 d’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 d’objets blob Azure.

Nom Type Description
default

string

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

delimitedText

string

Défini 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 pour l’extraction de texte à partir de fichiers PDF dans le stockage Blob Azure.

Nom Type Description
detectAngles

string

Peut produire une extraction de texte plus efficace et plus lisible à partir de fichiers PDF qui contiennent du texte pivoté. Notez qu’il peut y avoir un faible impact sur la vitesse de performance 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.

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 ne doit être spécifié en tant qu’environnement d’exécution que si l’indexeur doit accéder aux ressources en toute sécurité 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.

SearchError

Décrit une condition d’erreur pour l’API.

Nom Type Description
code

string

Un des ensembles de codes d’erreur définis par le serveur.

details

SearchError[]

Tableau de détails sur les erreurs spécifiques qui ont conduit à cette erreur signalée.

message

string

Représentation lisible de l’erreur.

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

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 sur votre service de recherche, 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.

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.