Indexers - Create Or Update
Crea un nuevo indexador o actualiza un indexador si ya existe.
PUT {endpoint}/indexers('{indexerName}')?api-version=2024-07-01
Parámetros de identificador URI
Nombre | En | Requerido | Tipo | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
Dirección URL del punto de conexión del servicio de búsqueda. |
indexer
|
path | True |
string |
Nombre del indexador que se va a crear o actualizar. |
api-version
|
query | True |
string |
Versión de api de cliente. |
Encabezado de la solicitud
Nombre | Requerido | Tipo | Description |
---|---|---|---|
x-ms-client-request-id |
string uuid |
Identificador de seguimiento enviado con la solicitud para ayudar con la depuración. |
|
If-Match |
string |
Define la condición If-Match. La operación solo se realizará si el ETag del servidor coincide con este valor. |
|
If-None-Match |
string |
Define la condición If-None-Match. La operación solo se realizará si la ETag del servidor no coincide con este valor. |
|
Prefer | True |
string |
En el caso de las solicitudes HTTP PUT, indica al servicio que devuelva el recurso creado o actualizado si se ha realizado correctamente. |
Cuerpo de la solicitud
Nombre | Requerido | Tipo | Description |
---|---|---|---|
dataSourceName | True |
string |
Nombre del origen de datos del que este indexador lee los datos. |
name | True |
string |
Nombre del indexador. |
targetIndexName | True |
string |
Nombre del índice en el que este indexador escribe datos. |
@odata.etag |
string |
ETag del indexador. |
|
description |
string |
Descripción del indexador. |
|
disabled |
boolean |
Valor que indica si el indexador está deshabilitado. El valor predeterminado es false. |
|
encryptionKey |
Descripción de una clave de cifrado que se crea en Azure Key Vault. Esta clave se usa para proporcionar un nivel adicional de cifrado en reposo para la definición del indexador (así como el estado de ejecución del indizador) cuando quiera asegurarse de que nadie, ni Microsoft, puede descifrarlos. Una vez que haya cifrado la definición del indexador, siempre permanecerá cifrada. El servicio de búsqueda omitirá los intentos de establecer esta propiedad en null. Puede cambiar esta propiedad según sea necesario si desea rotar la clave de cifrado; La definición del indexador (y el estado de ejecución del indexador) no se verán afectadas. El cifrado con claves administradas por el cliente no está disponible para los servicios de búsqueda gratuitos y solo está disponible para los servicios de pago creados el 1 de enero de 2019 o después. |
||
fieldMappings |
Define las asignaciones entre campos del origen de datos y los campos de destino correspondientes del índice. |
||
outputFieldMappings |
Las asignaciones de campos de salida se aplican después del enriquecimiento e inmediatamente antes de la indexación. |
||
parameters |
Parámetros para la ejecución del indexador. |
||
schedule |
Programación de este indexador. |
||
skillsetName |
string |
Nombre del conjunto de aptitudes que se ejecuta con este indexador. |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
Respuesta de error. |
Ejemplos
SearchServiceCreateOrUpdateIndexer
Solicitud de ejemplo
PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2024-07-01
{
"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
}
}
Respuesta de muestra
{
"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
}
}
Definiciones
Nombre | Description |
---|---|
Azure |
Credenciales de una aplicación registrada creada para el servicio de búsqueda, que se usa para el acceso autenticado a las claves de cifrado almacenadas en Azure Key Vault. |
Blob |
Especifica los datos que se van a extraer de Azure Blob Storage e indica al indexador qué datos extraer del contenido de la imagen cuando "imageAction" está establecido en un valor distinto de "none". Esto se aplica al contenido de imagen incrustado en un .PDF u otra aplicación, o archivos de imagen, como .jpg y .png, en blobs de Azure. |
Blob |
Determina cómo procesar imágenes incrustadas y archivos de imagen en Azure Blob Storage. Establecer la configuración "imageAction" en cualquier valor distinto de "none" requiere que también se adjunte un conjunto de aptitudes a ese indexador. |
Blob |
Representa el modo de análisis para la indexación desde un origen de datos de blobs de Azure. |
Blob |
Determina el algoritmo para la extracción de texto de archivos PDF en Azure Blob Storage. |
Error |
Información adicional sobre el error de administración de recursos. |
Error |
Detalle del error. |
Error |
Respuesta de error |
Field |
Define una asignación entre un campo de un origen de datos y un campo de destino en un índice. |
Field |
Representa una función que transforma un valor de un origen de datos antes de la indexación. |
Indexer |
Especifica el entorno en el que se debe ejecutar el indexador. |
Indexing |
Representa parámetros para la ejecución del indexador. |
Indexing |
Diccionario de propiedades de configuración específicas del indexador. Cada nombre es el nombre de una propiedad específica. Cada valor debe ser de un tipo primitivo. |
Indexing |
Representa una programación para la ejecución del indexador. |
Search |
Representa un indexador. |
Search |
Una clave de cifrado administrada por el cliente en Azure Key Vault. Las claves que cree y administre se pueden usar para cifrar o descifrar datos en reposo, como índices y mapas de sinónimos. |
AzureActiveDirectoryApplicationCredentials
Credenciales de una aplicación registrada creada para el servicio de búsqueda, que se usa para el acceso autenticado a las claves de cifrado almacenadas en Azure Key Vault.
Nombre | Tipo | Description |
---|---|---|
applicationId |
string |
Un identificador de aplicación de AAD al que se concedieron los permisos de acceso necesarios a Azure Key Vault que se va a usar al cifrar los datos en reposo. El identificador de aplicación no debe confundirse con el id. de objeto de la aplicación de AAD. |
applicationSecret |
string |
Clave de autenticación de la aplicación de AAD especificada. |
BlobIndexerDataToExtract
Especifica los datos que se van a extraer de Azure Blob Storage e indica al indexador qué datos extraer del contenido de la imagen cuando "imageAction" está establecido en un valor distinto de "none". Esto se aplica al contenido de imagen incrustado en un .PDF u otra aplicación, o archivos de imagen, como .jpg y .png, en blobs de Azure.
Nombre | Tipo | Description |
---|---|---|
allMetadata |
string |
Extrae los metadatos proporcionados por el subsistema de Azure Blob Storage y los metadatos específicos del tipo de contenido (por ejemplo, los metadatos únicos para solo .png archivos se indexan). |
contentAndMetadata |
string |
Extrae todos los metadatos y el contenido textual de cada blob. |
storageMetadata |
string |
Indexa solo las propiedades de blob estándar y los metadatos especificados por el usuario. |
BlobIndexerImageAction
Determina cómo procesar imágenes incrustadas y archivos de imagen en Azure Blob Storage. Establecer la configuración "imageAction" en cualquier valor distinto de "none" requiere que también se adjunte un conjunto de aptitudes a ese indexador.
Nombre | Tipo | Description |
---|---|---|
generateNormalizedImagePerPage |
string |
Extrae texto de imágenes (por ejemplo, la palabra "STOP" de un signo de detención de tráfico) e la inserta en el campo de contenido, pero trata los archivos PDF de forma diferente en que cada página se representará como una imagen y se normalizará en consecuencia, en lugar de extraer imágenes incrustadas. Los tipos de archivo no PDF se tratarán igual que si se estableció "generateNormalizedImages". |
generateNormalizedImages |
string |
Extrae texto de imágenes (por ejemplo, la palabra "STOP" de un signo de detención de tráfico) e la inserta en el campo de contenido. Esta acción requiere que "dataToExtract" esté establecido en "contentAndMetadata". Una imagen normalizada hace referencia al procesamiento adicional, lo que da lugar a una salida uniforme de imagen, cuyo tamaño y se gira para promover una representación coherente cuando se incluyen imágenes en los resultados de búsqueda visual. Esta información se genera para cada imagen cuando se usa esta opción. |
none |
string |
Omite las imágenes incrustadas o los archivos de imagen del conjunto de datos. Este es el valor predeterminado. |
BlobIndexerParsingMode
Representa el modo de análisis para la indexación desde un origen de datos de blobs de Azure.
Nombre | Tipo | Description |
---|---|---|
default |
string |
Establézcalo en predeterminado para el procesamiento normal de archivos. |
delimitedText |
string |
Establézcalo en delimitedText cuando los blobs son archivos CSV sin formato. |
json |
string |
Establézcalo en json para extraer contenido estructurado de archivos JSON. |
jsonArray |
string |
Establézcalo en jsonArray para extraer elementos individuales de una matriz JSON como documentos independientes. |
jsonLines |
string |
Establezca en jsonLines para extraer entidades JSON individuales, separadas por una nueva línea, como documentos independientes. |
text |
string |
Establézcalo en texto para mejorar el rendimiento de la indexación en archivos de texto sin formato en Blob Storage. |
BlobIndexerPDFTextRotationAlgorithm
Determina el algoritmo para la extracción de texto de archivos PDF en Azure Blob Storage.
Nombre | Tipo | Description |
---|---|---|
detectAngles |
string |
Puede producir una extracción de texto mejor y más legible de los archivos PDF que han girado texto dentro de ellos. Tenga en cuenta que puede haber un pequeño impacto en la velocidad de rendimiento cuando se usa este parámetro. Este parámetro solo se aplica a los archivos PDF y solo a archivos PDF con texto incrustado. Si el texto girado aparece dentro de una imagen insertada en el PDF, este parámetro no se aplica. |
none |
string |
Aprovecha la extracción de texto normal. Este es el valor predeterminado. |
ErrorAdditionalInfo
Información adicional sobre el error de administración de recursos.
Nombre | Tipo | Description |
---|---|---|
info |
object |
Información adicional. |
type |
string |
Tipo de información adicional. |
ErrorDetail
Detalle del error.
Nombre | Tipo | Description |
---|---|---|
additionalInfo |
Información adicional del error. |
|
code |
string |
Código de error. |
details |
Detalles del error. |
|
message |
string |
Mensaje de error. |
target |
string |
Destino del error. |
ErrorResponse
Respuesta de error
Nombre | Tipo | Description |
---|---|---|
error |
Objeto de error. |
FieldMapping
Define una asignación entre un campo de un origen de datos y un campo de destino en un índice.
Nombre | Tipo | Description |
---|---|---|
mappingFunction |
Función que se va a aplicar a cada valor de campo de origen antes de la indexación. |
|
sourceFieldName |
string |
Nombre del campo en el origen de datos. |
targetFieldName |
string |
Nombre del campo de destino en el índice. Igual que el nombre del campo de origen de forma predeterminada. |
FieldMappingFunction
Representa una función que transforma un valor de un origen de datos antes de la indexación.
Nombre | Tipo | Description |
---|---|---|
name |
string |
Nombre de la función de asignación de campos. |
parameters |
object |
Diccionario de pares nombre-valor de parámetro que se van a pasar a la función. Cada valor debe ser de un tipo primitivo. |
IndexerExecutionEnvironment
Especifica el entorno en el que se debe ejecutar el indexador.
Nombre | Tipo | Description |
---|---|---|
private |
string |
Indica que el indexador debe ejecutarse con el entorno aprovisionado específicamente para el servicio de búsqueda. Esto solo debe especificarse como entorno de ejecución si el indexador necesita acceder a los recursos de forma segura a través de recursos de vínculo privado compartido. |
standard |
string |
Indica que el servicio de búsqueda puede determinar dónde se debe ejecutar el indexador. Este es el entorno predeterminado cuando no se especifica nada y es el valor recomendado. |
IndexingParameters
Representa parámetros para la ejecución del indexador.
Nombre | Tipo | Valor predeterminado | Description |
---|---|---|---|
batchSize |
integer |
Número de elementos leídos del origen de datos e indexados como un único lote para mejorar el rendimiento. El valor predeterminado depende del tipo de origen de datos. |
|
configuration |
Diccionario de propiedades de configuración específicas del indexador. Cada nombre es el nombre de una propiedad específica. Cada valor debe ser de un tipo primitivo. |
||
maxFailedItems |
integer |
0 |
El número máximo de elementos que pueden producir errores en la indexación de la ejecución del indexador se seguirá considerando correcto. -1 significa que no hay límite. El valor predeterminado es 0. |
maxFailedItemsPerBatch |
integer |
0 |
Número máximo de elementos de un solo lote que puede producir un error en la indexación del lote para que todavía se considere correcto. -1 significa que no hay límite. El valor predeterminado es 0. |
IndexingParametersConfiguration
Diccionario de propiedades de configuración específicas del indexador. Cada nombre es el nombre de una propiedad específica. Cada valor debe ser de un tipo primitivo.
Nombre | Tipo | Valor predeterminado | Description |
---|---|---|---|
allowSkillsetToReadFileData |
boolean |
False |
Si es true, creará una ruta de acceso //document//file_data que es un objeto que representa los datos de archivo originales descargados del origen de datos de blob. Esto le permite pasar los datos de archivo originales a una aptitud personalizada para su procesamiento dentro de la canalización de enriquecimiento o a la aptitud Extracción de documentos. |
dataToExtract | contentAndMetadata |
Especifica los datos que se van a extraer de Azure Blob Storage e indica al indexador qué datos extraer del contenido de la imagen cuando "imageAction" está establecido en un valor distinto de "none". Esto se aplica al contenido de imagen incrustado en un .PDF u otra aplicación, o archivos de imagen, como .jpg y .png, en blobs de Azure. |
|
delimitedTextDelimiter |
string |
En el caso de los blobs CSV, especifica el delimitador de un solo carácter de final de línea para los archivos CSV donde cada línea inicia un nuevo documento (por ejemplo, "|"). |
|
delimitedTextHeaders |
string |
En el caso de los blobs CSV, especifica una lista delimitada por comas de encabezados de columna, útil para asignar campos de origen a campos de destino en un índice. |
|
documentRoot |
string |
En el caso de las matrices JSON, dado un documento estructurado o semiestructurado, puede especificar una ruta de acceso a la matriz mediante esta propiedad. |
|
excludedFileNameExtensions |
string |
Lista delimitada por comas de extensiones de nombre de archivo que se omitirán al procesar desde Azure Blob Storage. Por ejemplo, podría excluir ".png, .mp4" para omitir esos archivos durante la indexación. |
|
executionEnvironment | standard |
Especifica el entorno en el que se debe ejecutar el indexador. |
|
failOnUnprocessableDocument |
boolean |
False |
En el caso de los blobs de Azure, establezca en false si desea continuar la indexación si se produce un error en la indexación de un documento. |
failOnUnsupportedContentType |
boolean |
False |
En el caso de los blobs de Azure, establezca en false si desea seguir indexando cuando se encuentra un tipo de contenido no admitido y no conoce todos los tipos de contenido (extensiones de archivo) de antemano. |
firstLineContainsHeaders |
boolean |
True |
En el caso de los blobs CSV, indica que la primera línea (no en blanco) de cada blob contiene encabezados. |
imageAction | none |
Determina cómo procesar imágenes incrustadas y archivos de imagen en Azure Blob Storage. Establecer la configuración "imageAction" en cualquier valor distinto de "none" requiere que también se adjunte un conjunto de aptitudes a ese indexador. |
|
indexStorageMetadataOnlyForOversizedDocuments |
boolean |
False |
En el caso de los blobs de Azure, establezca esta propiedad en true para indexar los metadatos de almacenamiento para el contenido de blobs demasiado grande para procesar. Los blobs sobredimensionados se tratan como errores de forma predeterminada. Para conocer los límites del tamaño del blob, consulte https://learn.microsoft.com/azure/search/search-limits-quotas-capacity. |
indexedFileNameExtensions |
string |
Lista delimitada por comas de extensiones de nombre de archivo que se van a seleccionar al procesar desde Azure Blob Storage. Por ejemplo, podría centrar la indexación en archivos de aplicación específicos ".docx, .pptx, .msg" para incluir específicamente esos tipos de archivo. |
|
parsingMode | default |
Representa el modo de análisis para la indexación desde un origen de datos de blobs de Azure. |
|
pdfTextRotationAlgorithm | none |
Determina el algoritmo para la extracción de texto de archivos PDF en Azure Blob Storage. |
|
queryTimeout |
string |
00:05:00 |
Aumenta el tiempo de espera más allá del valor predeterminado de 5 minutos para los orígenes de datos de Azure SQL Database, especificados en el formato "hh:mm:ss". |
IndexingSchedule
Representa una programación para la ejecución del indexador.
Nombre | Tipo | Description |
---|---|---|
interval |
string |
Intervalo de tiempo entre ejecuciones del indexador. |
startTime |
string |
Hora en que un indexador debe empezar a ejecutarse. |
SearchIndexer
Representa un indexador.
Nombre | Tipo | Valor predeterminado | Description |
---|---|---|---|
@odata.etag |
string |
ETag del indexador. |
|
dataSourceName |
string |
Nombre del origen de datos del que este indexador lee los datos. |
|
description |
string |
Descripción del indexador. |
|
disabled |
boolean |
False |
Valor que indica si el indexador está deshabilitado. El valor predeterminado es false. |
encryptionKey |
Descripción de una clave de cifrado que se crea en Azure Key Vault. Esta clave se usa para proporcionar un nivel adicional de cifrado en reposo para la definición del indexador (así como el estado de ejecución del indizador) cuando quiera asegurarse de que nadie, ni Microsoft, puede descifrarlos. Una vez que haya cifrado la definición del indexador, siempre permanecerá cifrada. El servicio de búsqueda omitirá los intentos de establecer esta propiedad en null. Puede cambiar esta propiedad según sea necesario si desea rotar la clave de cifrado; La definición del indexador (y el estado de ejecución del indexador) no se verán afectadas. El cifrado con claves administradas por el cliente no está disponible para los servicios de búsqueda gratuitos y solo está disponible para los servicios de pago creados el 1 de enero de 2019 o después. |
||
fieldMappings |
Define las asignaciones entre campos del origen de datos y los campos de destino correspondientes del índice. |
||
name |
string |
Nombre del indexador. |
|
outputFieldMappings |
Las asignaciones de campos de salida se aplican después del enriquecimiento e inmediatamente antes de la indexación. |
||
parameters |
Parámetros para la ejecución del indexador. |
||
schedule |
Programación de este indexador. |
||
skillsetName |
string |
Nombre del conjunto de aptitudes que se ejecuta con este indexador. |
|
targetIndexName |
string |
Nombre del índice en el que este indexador escribe datos. |
SearchResourceEncryptionKey
Una clave de cifrado administrada por el cliente en Azure Key Vault. Las claves que cree y administre se pueden usar para cifrar o descifrar datos en reposo, como índices y mapas de sinónimos.
Nombre | Tipo | Description |
---|---|---|
accessCredentials |
Credenciales opcionales de Azure Active Directory que se usan para acceder a Azure Key Vault. No es necesario si se usa la identidad administrada en su lugar. |
|
keyVaultKeyName |
string |
Nombre de la clave de Azure Key Vault que se usará para cifrar los datos en reposo. |
keyVaultKeyVersion |
string |
Versión de la clave de Azure Key Vault que se usará para cifrar los datos en reposo. |
keyVaultUri |
string |
El URI de Azure Key Vault, también denominado nombre DNS, que contiene la clave que se va a usar para cifrar los datos en reposo. Un URI de ejemplo podría ser |