Indicizzare i dati da origini dati esterne usando Azure Data Factory
L'aggiunta di dati esterni che non risiedono in Azure è una necessità comune nella soluzione di ricerca di un'organizzazione. Ricerca di intelligenza artificiale di Azure è flessibile perché consente molti modi per creare ed eseguire il push dei dati in indici.
Eseguire il push dei dati in un indice di ricerca usando Azure Data Factory (ADF)
Un primo approccio è un'opzione zero-code per il push dei dati in un indice tramite ADF. ADF include connessioni a quasi 100 archivi dati diversi. Con connettori come HTTP e REST che consentono di connettere un numero illimitato di archivi dati. Questi archivi dati vengono usati come origine o come destinazione (sono detti sink nell'attività di copia) nelle pipeline.
Il connettore dell'indice di Azure AI Search può essere usato come sink in un'attività di copia.
Creare una pipeline di Azure Data Factory per eseguire il push dei dati in un indice di ricerca
I passaggi da eseguire per usare e la pipeline di Azure Data Factory per eseguire il push dei dati in un indice di ricerca sono:
- Creare un indice di Ricerca intelligenza artificiale di Azure con tutti i campi in cui archiviare i dati.
- Creare una pipeline con un passaggio di copia dei dati.
- Creare una connessione all'origine dati in cui si trovano i dati.
- Creare un sink da connettere all'indice di ricerca.
- Mappare i campi dai dati di origine al tuo indice di ricerca.
- Avviare la pipeline per trasferire i dati nell'indice.
Si supponga, ad esempio, di avere dati dei clienti in formato JSON ospitato esternamente. Si desidera copiare questi clienti in un indice di ricerca. Il codice JSON è in questo 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"
}
]
}
Creare un indice di ricerca
Creare un servizio Ricerca intelligenza artificiale di Azure e un indice in cui archiviare queste informazioni. Se è stato completato il modulo Creare una soluzione di Ricerca di intelligenza artificiale di Azure , si è visto come eseguire questa operazione. Seguire la procedura per configurare il servizio di ricerca, ma fermarsi al momento dell'importazione dei dati. Poiché il push dei dati in un indice non richiede la creazione di un indicizzatore o un set di competenze.
Creare un indice e aggiungere questi campi e proprietà:
Al momento è necessario creare prima l'indice, perché ADF non può creare indici.
Creare una pipeline usando lo strumento Copia dati di Azure Data Factory
Aprire Azure Data Factory Studio e selezionare la sottoscrizione di Azure e il nome della data factory.
Selezionare Inserisci.
Seleziona Avanti.
Annotazioni
È possibile scegliere di pianificare la pipeline se i dati cambiano ed è necessario mantenere l'indice up-to-date. Per questo esempio, i dati verranno importati una sola volta.
Creare il servizio collegato alla fonte
In Tipo di origine selezionare HTTP.
Accanto a Connessione selezionare + Nuova connessione.
Nel riquadro Nuova connessione immettere dataLocation in Nome.
Nell'URL di base immettere dove risiede il file JSON, in questo esempio immettere https://raw.githubusercontent.com/Azure-Samples/azure-sql-db-import-data/main/json/user1.json.
In Tipo di autenticazione selezionare Anonimo.
Fare clic su Crea.
Seleziona Avanti.
In Formato file selezionare JSON.
Seleziona Avanti.
Creare il servizio collegato di destinazione
In Tipo di destinazione selezionare Ricerca di Azure. Selezionare quindi + Nuova connessione.
Nel riquadro Nuova connessione immettere search_index in Nome.
Nella sottoscrizione di Azure selezionare la sottoscrizione di Azure.
In Nome servizio selezionare il servizio Ricerca intelligenza artificiale di Azure.
Fare clic su Crea.
Nel riquadro Archivio dati di destinazione selezionare l'indice di ricerca creato in Destinazione.
Associare i campi di origine ai campi di destinazione
Seleziona Avanti.
Se è stato creato un indice con nomi di campo che corrispondono agli attributi JSON ADF, il codice JSON verrà mappato automaticamente al campo nell'indice di ricerca.
Nell'esempio precedente, tre campi nel documento JSON devono eseguire il mapping ai campi nell'indice.
Eseguire il mapping dei campi e quindi selezionare Avanti.
Nel riquadro Impostazioni immettere jsonToSearchIndex in Nome attività.
Seleziona Avanti.
Eseguire la pipeline per eseguire il push dei dati nell'indice
Nel riquadro Riepilogo selezionare Avanti.
Dopo aver convalidato e distribuito la pipeline, selezionare Fine.
La pipeline è stata distribuita ed eseguita. Il documento JSON sarà stato aggiunto all'indice di ricerca. È possibile usare il portale di Azure ed eseguire una ricerca utilizzando l'esploratore di ricerca. Verranno visualizzati i dati JSON importati.
Seguendo questi passaggi è stato illustrato come eseguire il push dei dati in un indice. La pipeline creata per impostazione predefinita unisce gli aggiornamenti nell'indice. Se sono stati modificati i dati JSON ed è stata rieseguita la pipeline, l'indice di ricerca verrà aggiornato. È possibile modificare il comportamento di scrittura per il caricamento solo se si vuole sostituire i dati ogni volta che si esegue la pipeline.
Limitazioni dell'uso della Ricerca AI integrata di Azure come servizio collegato
Al momento, il servizio collegato Azure AI Search come sink supporta solo questi campi:
| Tipo di dati di Azure AI Search |
|---|
| Stringa |
| Int32 |
| Int64 |
| Double |
| Booleano |
| DataTimeOffset |
Ciò significa che complexType e matrici non sono attualmente supportati. Esaminando il documento JSON precedente, ciò significa che non è possibile eseguire il mapping di tutti i numeri di telefono per il cliente. È stato mappato solo il primo numero di telefono.