Indizieren von Daten aus externen Datenquellen mithilfe von Azure Data Factory
Externe Daten, die sich nicht in Azure befinden, müssen der Suchlösung einer Organisation oft hinzugefügt werden. Azure KI-Suche ist flexibel, da diese Lösung viele Möglichkeiten bietet, Daten zu erstellen und an Indizes zu pushen.
Pushen von Daten an einen Suchindex mithilfe von Azure Data Factory (ADF)
Ein erster Ansatz ist eine Zero-Code-Option zum Pushen von Daten an einen Index mithilfe von ADF. ADF verfügt über Verbindungen mit fast 100 verschiedenen Datenspeichern mit Connectors wie HTTP und REST, mit denen Sie eine unbegrenzte Anzahl von Datenspeichern verbinden können. Diese Datenspeicher werden in Pipelines als Quelle oder Ziel verwendet und in der Copy-Aktivität als Senken bezeichnet.
Der Indexconnector der Azure KI-Suche kann in einer Kopieraktivität als Senke verwendet werden.
Erstellen einer ADF-Pipeline zum Pushen von Daten an einen Suchindex
Folgende Schritte sollten Sie zum Verwenden einer ADF-Pipeline zum Pushen von Daten an einen Suchindex durchführen:
- Erstellen Sie einen Index der Azure KI-Suche mit allen Feldern, in denen Sie Daten speichern möchten.
- Erstellen Sie eine Pipeline mit dem Schritt „Daten kopieren“.
- Erstellen Sie eine Datenquellenverbindung mit dem Speicherort Ihrer Daten.
- Erstellen Sie eine Senke, um eine Verbindung mit Ihrem Suchindex herzustellen.
- Ordnen Sie die Felder aus Ihren Quelldaten Ihrem Suchindex zu.
- Führen Sie die Pipeline aus, um die Daten an den Index zu pushen.
Stellen Sie sich beispielsweise vor, Sie verfügen über Kundendaten im JSON-Format, die extern gehostet werden. Sie möchten diese Kunden in einen Suchindex kopieren. Der JSON-Code wird in diesem Format dargestellt:
{
"_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"
}
]
}
Erstellen eines Suchindexes
Erstellen Sie einen Azure KI-Suche-Dienst und einen Index, in dem diese Informationen gespeichert werden sollen. Wenn Sie das Modul Erstellen einer Azure KI-Suche-Lösung abgeschlossen haben, sind Sie mit der entsprechenden Vorgehensweise vertraut. Führen Sie die Schritte aus, bis Daten importiert werden, um den Suchdienst zu erstellen. Um Daten an einen Index zu pushen, müssen Sie keinen Indexer oder ein Skillset erstellen.
Erstellen Sie einen Index, und fügen Sie diese Felder und Eigenschaften hinzu:
Derzeit müssen Sie zuerst den Index erstellen, da ADF keine Indizes erstellen kann.
Erstellen einer Pipeline mithilfe des ADF-Tools „Daten kopieren“
Öffnen Sie das Azure Data Factory-Studio, und wählen Sie Ihr Azure-Abonnement und Ihren Data Factory-Namen aus.
Wählen Sie Erfassen aus.
Wählen Sie Weiter aus.
Hinweis
Sie können die Pipeline planen, wenn sich Ihre Daten ändern und Sie Ihren Index auf dem neuesten Stand halten müssen. Für dieses Beispiel importieren Sie die Daten einmal.
Erstellen des verknüpften Quelldiensts
Wählen Sie unter QuelltypHTTP aus.
Wählen Sie neben Verbindung+ Neue Verbindung aus.
Geben Sie im Bereich Neue Verbindung bei Name dataLocation ein.
Geben Sie für die Basis-URL ein, wo sich Ihre JSON-Datei befindet, in diesem Beispiel https://raw.githubusercontent.com/Azure-Samples/azure-sql-db-import-data/main/json/user1.json.
Wählen Sie unter AuthentifizierungstypAnonym aus.
Klicken Sie auf Erstellen.
Wählen Sie Weiter aus.
Wählen Sie unter DateiformatJSON aus.
Wählen Sie Weiter aus.
Erstellen des verknüpften Zieldiensts
Wählen Sie bei Zieltyp Azure Search aus. Wählen Sie + Neue Verbindung aus.
Geben Sie im Bereich Neue Verbindung bei Name search_index ein.
Wählen Sie unter Azure-Abonnement Ihr Azure-Abonnement aus.
Wählen Sie unter Dienstname Ihren Azure KI-Suche-Dienst aus.
Klicken Sie auf Erstellen.
Wählen Sie im Bereich Zieldatenspeicher unter Ziel den von Ihnen erstellten Suchindex aus.
Zuordnen von Quellfeldern zu Zielfeldern
Wählen Sie Weiter aus.
Wenn Sie einen Index mit Feldnamen erstellt haben, die den JSON-Attributen entsprechen, wird das JSON-Attribut durch ADF automatisch dem Feld in Ihrem Suchindex zugeordnet.
Im obigen Beispiel müssen drei Felder im JSON-Dokument Feldern im Index zugeordnet werden.
Ordnen Sie Ihre Felder zu, und wählen Sie dann Weiter aus.
Geben Sie im Bereich Einstellungen unter AufgabennamenjsonToSearchIndex ein.
Wählen Sie Weiter aus.
Ausführen der Pipeline zum Pushen der Daten an den Index
Wählen Sie im Bereich ZusammenfassungWeiter aus.
Wählen Sie Fertigstellen aus, wenn die Pipeline überprüft und bereitgestellt wurde.
Die Pipeline wurde bereitgestellt und ausgeführt. Das JSON-Dokument wurde Ihrem Suchindex hinzugefügt. Sie können das Azure-Portal verwenden und eine Suche im Such-Explorer ausführen. Die importierten JSON-Daten sollten angezeigt werden.
Anhand dieser Schritte haben Sie erfahren, wie Sie Daten an einen Index pushen können. Die von Ihnen erstellte Pipeline merget Aktualisierungen standardmäßig in den Index. Wenn Sie die JSON-Daten geändert und die Pipeline noch einmal ausgeführt haben, wurde der Suchindex aktualisiert. Sie können das Schreibverhalten so ändern, dass Daten nur dann hochgeladen werden, wenn Sie sie bei jedem Ausführen der Pipeline ersetzen möchten.
Einschränkungen bei der Verwendung der integrierten Azure KI-Suche als verknüpfter Dienst
Derzeit unterstützt der verknüpfte Azure KI-Suche-Dienst als Senke nur folgende Felder:
Azure KI Search-Datentyp |
---|
String |
Int32 |
Int64 |
Double |
Boolean |
DataTimeOffset |
ComplexTypes und Arrays werden derzeit nicht unterstützt. Im Hinblick auf das JSON-Dokument oben bedeutet dies, dass nicht alle Telefonnummern für den Kunden zugeordnet werden können. Nur die erste Telefonnummer wurde zugeordnet.