Indexación de datos de orígenes de datos externos mediante Azure Data Factory
Agregar datos externos que no residen en Azure es una necesidad común en la solución de búsqueda de una organización. La Búsqueda de Azure AI es flexible, ya que permite muchas maneras de crear e insertar datos en índices.
Inserción de datos en un índice de búsqueda mediante Azure Data Factory (ADF)
Un primer enfoque es una opción de código cero para insertar datos en un índice mediante ADF. ADF incluye conexiones a casi 100 almacenes de datos diferentes. Con conectores como HTTP y REST que le permiten conectar un número ilimitado de almacenes de datos. Estos almacenes de datos se usan como origen o destino (denominados receptores en la actividad de copia) en canalizaciones.
El conector de índice de Búsqueda de Azure AI se puede usar como receptor en una actividad de copia.
Creación de una canalización de ADF para insertar datos en un índice de búsqueda
Los pasos que debe seguir para usar una canalización ADF para insertar datos en un índice de búsqueda son:
- Crear un índice de Búsqueda de Azure AI con todos los campos en los que desea almacenar datos.
- Crear una canalización con un paso de copia de datos.
- Crear una conexión de origen de datos a la ubicación donde residen los datos.
- Crear un receptor para conectarse al índice de búsqueda.
- Asignar los campos de los datos de origen al índice de búsqueda.
- Ejecutar la canalización para insertar los datos en el índice.
Por ejemplo, imagine que tiene datos de cliente en formato JSON hospedados externamente. Quiere copiar estos clientes en un índice de búsqueda. El JSON tiene este formato:
{
"_id": "5fed1b38309495de1bc4f653",
"firstName": "Sims",
"lastName": "Arnold",
"isAlive": false,
"age": 35,
"address": {
"streetAddress": "Sumner Place",
"city": "Canoochee",
"state": "Palau",
"postalCode": 1558
},
"phoneNumbers": [
{
"type": "home",
"number": "+1 (830) 465-2965"
},
{
"type": "home",
"number": "+1 (889) 439-3632"
}
]
}
Crear un índice de búsqueda
Cree un servicio de Búsqueda de Azure AI y un índice en el que almacenar esta información. Si ha completado el módulo Creación de una solución de Búsqueda de Azure AI, ha visto cómo hacerlo. Siga los pasos para crear el servicio de búsqueda, pero deténgase en el punto de importación de datos, ya que la inserción de datos en un índice no necesita crear un indexador o un conjunto de aptitudes.
Cree un índice y agregue estos campos y propiedades:
En este momento debe crear primero el índice, ya que ADF no puede crear índices.
Creación de una canalización mediante la herramienta Copiar datos de ADF
Abra Azure Data Factory Studio y seleccione la suscripción de Azure y el nombre de la factoría de datos.
Seleccione Ingerir.
Seleccione Next (Siguiente).
Nota
Puede optar por programar la canalización si los datos cambian y necesita mantener actualizado el índice. En este ejemplo, importará los datos una vez.
Creación de un servicio vinculado de origen
En Tipo de origen seleccione HTTP.
Junto a Conexión seleccione + Nueva conexión.
En el panel Nueva conexión, en Nombre, escriba dataLocation.
En la dirección URL base escriba dónde reside el archivo JSON; en este ejemplo, escriba https://raw.githubusercontent.com/Azure-Samples/azure-sql-db-import-data/main/json/user1.json.
En Tipo de autenticación seleccione Anónimo.
Seleccione Crear.
Seleccione Next (Siguiente).
En Formato de archivo seleccione JSON.
Seleccione Next (Siguiente).
Creación de un servicio vinculado de origen
En Tipo de destino, seleccione Azure Search. A continuación, seleccione + Nueva conexión.
En el panel Nueva conexión, en Nombre, escriba search_index.
En Suscripción de Azure seleccione su suscripción de Azure.
En Nombre del servicio seleccione el servicio de Búsqueda de Azure AI.
Seleccione Crear.
En el panel Almacén de datos de destino, en Destino, seleccione el índice de búsqueda que ha creado.
Asignación de campos de origen a campos de destino
Seleccione Next (Siguiente).
Si ha creado un índice con nombres de campo que coincidan con los atributos JSON, ADF asignará automáticamente el JSON al campo en el índice de búsqueda.
En el ejemplo anterior, tres campos del documento JSON necesitan asignarse a campos del índice.
Asigne los campos y, a continuación, seleccione Siguiente.
En el panel Configuración, en Nombre de tarea escriba jsonToSearchIndex.
Seleccione Next (Siguiente).
Ejecución de la canalización para insertar los datos en el índice
En el panel Resumen seleccione Siguiente.
Una vez validada e implementada la canalización, seleccione Finalizar.
La canalización se ha implementado y ejecutado. El documento JSON se habrá agregado al índice de búsqueda. Puede usar el Portal de Azure y ejecutar una búsqueda en el explorador de búsqueda. Debe poder ver los datos JSON importados.
Siguiendo estos pasos, ha visto cómo puede insertar datos en un índice. La canalización que ha creado de forma predeterminada combina las actualizaciones en el índice. Si ha modificado los datos JSON y vuelve a ejecutar la canalización, el índice de búsqueda se actualizará. Puede cambiar el comportamiento de escritura para cargar sólo si desea que los datos se reemplacen cada vez que ejecute la canalización.
Limitaciones del uso de Búsqueda de Azure AI integrado como servicio vinculado
En este momento, el servicio vinculado de Búsqueda de Azure AI como receptor solo admite estos campos:
Tipo de datos de Azure AI Search |
---|
Cadena |
Int32 |
Int64 |
Double |
Boolean |
DataTimeOffset |
Esto significa que actualmente no se admiten ComplexTypes ni matrices. Si examina el documento JSON anterior, esto significa que no es posible asignar todos los números de teléfono del cliente. Solo se ha asignado el primer número de teléfono.