Indexers - Create

Crea un nuevo indexador.

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

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.

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

El nombre del indizador.

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 indizador (así como el estado de ejecución del indexador) cuando desea asegurarse de que nadie, ni siquiera 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 los 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

La programación de este indexador.

skillsetName

string

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

Respuestas

Nombre Tipo Description
201 Created

SearchIndexer

Other Status Codes

SearchError

Respuesta de error.

Ejemplos

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

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 insertado en una .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.

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 los parámetros para la ejecución del indizador.

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

SearchError

Describe una condición de error para la API.

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 en el servicio de búsqueda, 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

Identificador de aplicación de AAD al que se concedieron los permisos de acceso necesarios a Azure Key Vault que se van 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 insertado en una .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 Almacenamiento de blobs de Azure 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 lo 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 que no son PDF se tratarán igual que si se hubiera establecido "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 como resultado una salida uniforme de imagen, el tamaño y la rotación para promover la 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 de archivos normal.

delimitedText

string

Se establece en delimitedText cuando los blobs son archivos CSV sin formato.

json

string

Establezca en json para extraer contenido estructurado de archivos JSON.

jsonArray

string

Establezca 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 archivos PDF y solo a archivos PDF con texto incrustado. Si el texto girado aparece dentro de una imagen incrustada en el PDF, este parámetro no se aplica.

none

string

Aprovecha la extracción de texto normal. Este es el valor predeterminado.

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 se debe especificar 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 compartidos.

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 los parámetros para la ejecución del indizador.

Nombre Tipo Valor predeterminado Description
batchSize

integer

Número de elementos leídos del origen de datos e indizado 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 un error en la indexación de la ejecución del indexador se seguirá considerando correcto. -1 significa sin límite. El valor predeterminado es 0.

maxFailedItemsPerBatch

integer

0

Número máximo de elementos de un único lote que puede producir un error en la indexación del lote para que se siga considerando correcto. -1 significa sin 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 insertado en una .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 fin 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 indexando 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 continuar 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 demasiado grandes se tratan como errores de forma predeterminada. Para conocer los límites del tamaño del blob, consulte https://docs.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, puede enfocar la indexación en archivos de aplicaciones específicos como ".docx, .pptx y .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 Azure SQL orígenes de datos de base de datos, especificados en el formato "hh:mm:ss".

IndexingSchedule

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

Nombre Tipo Description
interval

string

Intervalo de tiempo entre las ejecuciones del indexador.

startTime

string

Hora en la que un indexador debe empezar a ejecutarse.

SearchError

Describe una condición de error para la API.

Nombre Tipo Description
code

string

Uno de un conjunto definido por el servidor de códigos de error.

details

SearchError[]

Matriz de detalles sobre errores específicos que llevaron a este error notificado.

message

string

Representación legible del error.

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 indizador (así como el estado de ejecución del indexador) cuando quiere asegurarse de que nadie, ni microsoft, puede descifrarla. 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 los campos del origen de datos y los campos de destino correspondientes del índice.

name

string

El nombre del indizador.

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

La 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 en el servicio de búsqueda, como índices y mapas de sinónimos.

Nombre Tipo Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Credenciales opcionales de Azure Active Directory usadas 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

La 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 identificador URI de ejemplo podría ser https://my-keyvault-name.vault.azure.net.