Compartir a través de


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.

indexerName
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

SearchResourceEncryptionKey

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

FieldMapping[]

Define las asignaciones entre campos del origen de datos y los campos de destino correspondientes del índice.

outputFieldMappings

FieldMapping[]

Las asignaciones de campos de salida se aplican después del enriquecimiento e inmediatamente antes de la indexación.

parameters

IndexingParameters

Parámetros para la ejecución del indexador.

schedule

IndexingSchedule

Programación de este indexador.

skillsetName

string

Nombre del conjunto de aptitudes que se ejecuta con este indexador.

Respuestas

Nombre Tipo Description
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

ErrorResponse

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

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.

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.

BlobIndexerParsingMode

Representa el modo de análisis para la indexación desde un origen de datos de blobs de Azure.

BlobIndexerPDFTextRotationAlgorithm

Determina el algoritmo para la extracción de texto de archivos PDF en Azure Blob Storage.

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta de error

FieldMapping

Define una asignación entre un campo de un origen de datos y un campo de destino en un índice.

FieldMappingFunction

Representa una función que transforma un valor de un origen de datos antes de la indexación.

IndexerExecutionEnvironment

Especifica el entorno en el que se debe ejecutar el indexador.

IndexingParameters

Representa parámetros para la ejecución del indexador.

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.

IndexingSchedule

Representa una programación para la ejecución del indexador.

SearchIndexer

Representa un indexador.

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.

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

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Detalles del error.

message

string

Mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

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

FieldMappingFunction

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

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.

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

BlobIndexerDataToExtract

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

IndexerExecutionEnvironment

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

BlobIndexerImageAction

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

BlobIndexerParsingMode

default

Representa el modo de análisis para la indexación desde un origen de datos de blobs de Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

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

SearchResourceEncryptionKey

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

FieldMapping[]

Define las asignaciones entre campos del origen de datos y los campos de destino correspondientes del índice.

name

string

Nombre del indexador.

outputFieldMappings

FieldMapping[]

Las asignaciones de campos de salida se aplican después del enriquecimiento e inmediatamente antes de la indexación.

parameters

IndexingParameters

Parámetros para la ejecución del indexador.

schedule

IndexingSchedule

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

AzureActiveDirectoryApplicationCredentials

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 https://my-keyvault-name.vault.azure.net.