Copia de datos a un índice de Azure AI Search mediante Azure Data Factory o Synapse Analytics

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se describe el uso de la actividad de copia en una canalización de Azure Data Factory o Synapse Analytics para copiar datos en un índice de Azure AI Search. El documento se basa en el artículo de introducción a la actividad de copia que describe información general de la actividad de copia.

Funcionalidades admitidas

Este conector de Azure AI Search es compatible con las funcionalidades siguientes:

Funcionalidades admitidas IR Puntos de conexión privados administrados de Synapse (versión preliminar)
Actividad de copia (-/receptor) 7,7

① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado

Puede copiar datos desde cualquier almacén de datos de origen compatible en un índice de búsqueda. Consulte la tabla de almacenes de datos compatibles para ver una lista de almacenes de datos que la actividad de copia admite como orígenes o receptores.

Introducción

Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:

Creación de un servicio vinculado a Azure Search mediante la interfaz de usuario

Siga estos pasos para crear un servicio vinculado a Azure Search en la interfaz de usuario de Azure Portal.

  1. Vaya a la pestaña "Administrar" de su área de trabajo de Azure Data Factory o Synapse y seleccione "Servicios vinculados"; a continuación, haga clic en "Nuevo":

  2. Encuentre "Buscar" y seleccione el conector de Azure Search.

    Select the Azure Search connector.

  3. Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.

    Configure a linked service to Azure Search.

Detalles de configuración del conector

Las secciones siguientes proporcionan detalles sobre las propiedades que se usan para definir entidades de Data Factory específicas del conector de Azure AI Search.

Propiedades del servicio vinculado

Las siguientes propiedades son compatibles con el servicio vinculado de Azure AI Search:

Propiedad Descripción Obligatorio
type La propiedad type debe establecerse en: AzureSearch.
url URL del servicio de búsqueda.
key Clave de administración del servicio de búsqueda. Marque este campo como SecureString para almacenarlo de forma segura, o bien haga referencia a un secreto almacenado en Azure Key Vault.
connectVia El entorno Integration Runtime que se usará para conectarse al almacén de datos. Puede usar los entornos Integration Runtime (autohospedado) (si el almacén de datos se encuentra en una red privada) o Azure Integration Runtime. Si no se especifica, se usará Azure Integration Runtime. No

Importante

Cuando se copian datos desde un almacén de datos en la nube al índice de búsqueda, en el servicio vinculado de Azure AI Search, debe hacer referencia a Azure Integration Runtime con región explícita en connactVia. Establezca como región aquella en la que reside el servicio de búsqueda. Obtenga más información acerca de Azure Integration Runtime.

Ejemplo:

{
    "name": "AzureSearchLinkedService",
    "properties": {
        "type": "AzureSearch",
        "typeProperties": {
            "url": "https://<service>.search.windows.net",
            "key": {
                "type": "SecureString",
                "value": "<AdminKey>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propiedades del conjunto de datos

Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección se proporciona una lista de las propiedades que el conjunto de datos de Azure AI Search admite.

Para copiar datos en Azure AI Search, se admiten las siguientes propiedades:

Propiedad Descripción Obligatorio
type La propiedad type del conjunto de datos debe establecerse en: AzureSearchIndex.
indexName Nombre del índice de búsqueda. El servicio no crea el índice. El índice debe existir en Azure AI Search.

Ejemplo:

{
    "name": "AzureSearchIndexDataset",
    "properties": {
        "type": "AzureSearchIndex",
        "typeProperties" : {
            "indexName": "products"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Azure AI Search linked service name>",
            "type": "LinkedServiceReference"
        }
   }
}

Propiedades de la actividad de copia

Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección se proporciona una lista de las propiedades que el origen Azure AI Search admite.

Azure AI Search como receptor

Si va a copiar datos a Azure AI Search, establezca el tipo de origen de la actividad de copia en AzureSearchIndexSink. Se admiten las siguientes propiedades en la sección sink de la actividad de copia:

Propiedad Descripción Obligatorio
type La propiedad type del origen de la actividad de copia debe establecerse en: AzureSearchIndexSink.
writeBehavior Especifica si, cuando ya haya un documento en el índice, se realizará una operación de combinación o de reemplazo. Consulte la propiedad WriteBehavior.

Los valores permitidos son: Merge (valor predeterminado) yUpload.
No
writeBatchSize Carga datos en el índice de búsqueda cuando el tamaño del búfer alcanza el valor de writeBatchSize. Consulte la propiedad WriteBatchSize para obtener más información.

Los valores permitidos son: enteros de 1 a 1000; el valor predeterminado es 1000.
No
maxConcurrentConnections Número máximo de conexiones simultáneas establecidas en el almacén de datos durante la ejecución de la actividad. Especifique un valor solo cuando quiera limitar las conexiones simultáneas. No

Propiedad WriteBehavior

AzureSearchSink realiza una operación upsert al escribir los datos. Es decir, al crear un documento, si la clave de este ya se encuentra en el índice de búsqueda, Azure AI Search actualiza el documento existente en lugar de generar una excepción de conflicto.

AzureSearchSink proporciona los siguientes dos comportamientos de upsert (mediante el SDK de Azure Search):

  • Combinar: combina todas las columnas del nuevo documento con el existente. En las columnas con valor null del nuevo documento, se conserva el valor del existente.
  • Cargar: el nuevo documento reemplaza al existente. En cuanto a las columnas no especificadas en el nuevo documento, el valor se establece en null con independencia de que haya un valor distinto de null en el documento existente.

El comportamiento predeterminado es Combinar.

Propiedad WriteBatchSize

El servicio Azure AI Search permite la creación de documentos como lotes. Un lote puede contener entre 1 y 1000 acciones. Una acción controla un documento para llevar a cabo la operación de combinación o de carga.

Ejemplo:

"activities":[
    {
        "name": "CopyToAzureSearch",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure AI Search output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureSearchIndexSink",
                "writeBehavior": "Merge"
            }
        }
    }
]

Compatibilidad con tipos de datos

En la tabla siguiente se especifica si se admite o no un tipo de datos de Azure AI Search.

Tipo de datos de Azure AI Search Compatible con el receptor de Azure AI Search
String Y
Int32 Y
Int64 Y
Double Y
Boolean Y
DataTimeOffset Y
Matriz de cadenas N
GeographyPoint N

Actualmente no se admiten otros tipos de datos, por ejemplo, ComplexType. Para obtener una lista completa de los tipos de datos que admite Azure AI Search, consulte Tipos de datos admitidos (Azure AI Search).

Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.