Indexers - Create
Crée un indexeur.
POST {endpoint}/indexers?api-version=2023-10-01-Preview
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 d’aide pour 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. |
|
cache |
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 |
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 |
Définit les mappages entre les champs de la source de données et les champs cibles correspondants dans l’index. |
||
outputFieldMappings |
Les mappages de champs de sortie sont appliqués après l’enrichissement et immédiatement avant l’indexation. |
||
parameters |
Paramètres pour l’exécution de l’indexeur. |
||
schedule |
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 |
---|---|---|
201 Created | ||
Other Status Codes |
Réponse d’erreur. |
Exemples
SearchServiceCreateIndexer
Exemple de requête
POST https://myservice.search.windows.net/indexers?api-version=2023-10-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": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
}
}
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": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": null
}
}
}
Définitions
Nom | Description |
---|---|
Azure |
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. |
Blob |
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. |
Blob |
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. |
Blob |
Représente le mode d’analyse pour l’indexation à partir d’une source de données blob Azure. |
Blob |
Détermine l’algorithme d’extraction de texte à partir de fichiers PDF dans stockage blob Azure. |
Field |
Définit un mappage entre un champ dans une source de données et un champ cible dans un index. |
Field |
Représente une fonction qui transforme une valeur à partir d’une source de données avant l’indexation. |
Indexer |
Spécifie l’environnement dans lequel l’indexeur doit s’exécuter. |
Indexing |
Représente les paramètres pour l'exécution d'indexeur. |
Indexing |
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. |
Indexing |
Représente une planification pour l'exécution d'indexeur. |
Search |
Décrit une condition d’erreur pour l’API. |
Search |
Représente un indexeur. |
Search |
|
Search |
Efface la propriété d’identité d’une source de données. |
Search |
Spécifie l’identité d’une source de données à utiliser. |
Search |
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 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é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 qui a obtenu les autorisations d’accès requises au 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. |
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 |
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 des 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 |
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 qui peuvent échouer l’indexation pour que l’exécution de l’indexeur soit toujours considéré comme réussi. -1 signifie illimité. La valeur par défaut est 0. |
maxFailedItemsPerBatch |
integer |
0 |
Nombre maximal d’éléments dans un seul 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 | 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 une .PDF ou une autre application, ou aux fichiers image tels que les .jpg et les .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 mapper des champs sources aux champs de destination d’un index. |
|
documentRoot |
string |
Pour les tableaux JSON, compte tenu 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 | 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 | none |
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. |
|
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’objets 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 | default |
Représente le mode d’analyse pour l’indexation à partir d’une source de données blob Azure. |
|
pdfTextRotationAlgorithm | none |
Détermine l’algorithme d’extraction de texte à partir de fichiers PDF dans 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 codes d’erreur définis par le serveur. |
details |
Tableau de détails sur les erreurs spécifiques qui ont conduit à cette erreur signalée. |
|
message |
string |
Représentation lisible par l’homme de l’erreur. |
SearchIndexer
Représente un indexeur.
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
@odata.etag |
string |
ETag de l’indexeur. |
|
cache |
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 |
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 |
Définit les 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 |
Les mappages de champs de sortie sont appliqués après l’enrichissement et immédiatement avant l’indexation. |
||
parameters |
Paramètres pour l’exécution de l’indexeur. |
||
schedule |
Planification de cet indexeur. |
||
skillsetName |
string |
Nom de l’ensemble de compétences qui s’exécute avec cet indexeur. |
|
targetIndexName |
string |
Nom de l’index dans lequel cet indexeur écrit des 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 de cache seront conservées. |
SearchIndexerDataNoneIdentity
Efface la propriété d’identité d’une source de données.
Nom | Type | Description |
---|---|---|
@odata.type |
string:
#Microsoft. |
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. |
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 des données au repos, telles que des index et des mappages de synonymes.
Nom | Type | Description |
---|---|---|
accessCredentials |
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é d’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é Azure Key Vault à 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 |