Upload AI Search Cover
Author Cloudapp
E.G.

Next.js 14 - Neon.Tech Postgres DB mit Azure AI Search synchronisieren

11. Januar 2025
Inhaltsverzeichnis

In der sich schnell entwickelnden Welt der Suchfunktionen ist die Fähigkeit, Daten über verschiedene Plattformen hinweg zu verbinden und zu synchronisieren, von entscheidender Bedeutung. Dieser Artikel führt Sie durch die Verbindung einer Neon.Tech Postgres-Datenbank mit Azure AI Search unter Verwendung von Next.js 14 und bietet Ihnen eine API-Route, die die Synchronisierung nahtlos abwickelt.

Was ist

Neon.Tech ist ein innovativer Cloud-basierter Postgres-Datenbankanbieter, der hochleistungsfähige Datenlösungen mit leistungsstarken Skalierungsoptionen liefert. Neon.Tech Postgres wurde für moderne Anwendungen entwickelt und bietet vollständig verwaltete Datenbankdienste mit Echtzeitfunktionen und Integrationsmöglichkeiten. Es ist eine gute Wahl für Entwickler, die eine Postgres-basierte Lösung suchen, die mit ihren Anforderungen skalieren kann.

Was ist Azure AI Search?

Azure AI Search ist der robuste Suchdienst von Microsoft, mit dem Unternehmen ihren Anwendungen schnell erweiterte Suchfunktionen hinzufügen können. Azure AI Search basiert auf KI und bietet Funktionen wie die Verarbeitung natürlicher Sprache, kontextbezogenes Verständnis und OCR, was es ideal für Anwendungen macht, die leistungsstarke und flexible Suchfunktionen benötigen.

Installation der notwendigen NPM Packete

In Ihrem Next.js 14 Projekt müssen Sie die folgenden Pakete für die Datenbankinteraktion und Azure AI Search installieren:

Diese Pakete ermöglichen uns eine Verbindung zu Neon.Tech Postgres und die Interaktion mit Azure AI Search in unserer Next.js-App.

Um eine neue Azure AI Search-Ressource zu erstellen, benötigen Sie ein aktives Azure-Konto und die auf Ihrem Computer installierte Azure CLI. Wenn Sie dies noch nicht getan haben, melden Sie sich mit az login an.

Erstellen Sie eine Ressourcengruppe (falls Sie noch keine haben):

Erstellen einer Azure AI Search Service Instanz:

  • Ersetzen Sie <Ihr-Suchdienst-Name> durch einen eindeutigen Namen für Ihren Azure-Suchdienst.

  • Die Option sku free bietet eine kostenlose Ebene mit grundlegenden Funktionen. Sie können je nach Bedarf andere SKUs wählen.

Erstellen Sie einen Index in Azure AI Search: Definieren Sie die Struktur des Indexes so, dass sie mit den Feldern übereinstimmt, die Sie indizieren wollen. Hier finden Sie ein Beispielschema für die Benutzertabelle, das in einer JSON-Datei gespeichert werden kann (z. B. indexSchema.json):

Verwenden Sie den folgenden Befehl, um den Index anhand des JSON-Schemas zu erstellen:

  • Mit diesem Befehl wird das Indexschema hochgeladen und ein Index namens users-index erstellt.

Abrufen von API-Schlüsseln und Dienstnamen:

Um von Ihrer Anwendung aus mit Azure AI Search zu interagieren, benötigen Sie einen API-Schlüssel und die Service-Endpunkt-URL.

Holen Sie sich den Admin Key für Ihren Azure AI Search Service:

  • Die Ausgabe enthält primaryKey und secondaryKey. Verwenden Sie den primaryKey für Ihren API-Schlüssel im Codebeispiel.

Umgebungsvariablen konfigurieren

Erstellen Sie in Ihrem Next.js-Projekt eine Datei .env.local im Stammverzeichnis und fügen Sie die folgenden Umgebungsvariablen hinzu:

  • AZURE_SEARCH_SERVICE_NAME: Azure AI Search service name.

  • AZURE_SEARCH_API_KEY: Der Admin Schlüssel von vorhin.

  • AZURE_SEARCH_INDEX_NAME: Der Index-Name (users-index).

Daten synchronisieren: Die Next.js API Route

Um die Synchronisierung zwischen Neon.Tech Postgres und Azure AI Search zu implementieren, werden wir eine API-Route in unserer Next.js 14-Anwendung einrichten. Diese API-Route zieht Daten aus einer Tabelle in unserer Neon.Tech Postgres-DB und indiziert sie in Azure AI Search, wodurch robuste Suchfunktionen ermöglicht werden.

Erläuterung des Codes

  1. Umgebungsvariablen: Wir richten Umgebungsvariablen für den Azure AI Search-Dienst ein. Diese Variablen umfassen den Servicenamen, den API-Schlüssel und den Indexnamen, um sensible Daten außerhalb der Codebase zu halten.

  2. SQL Abfrage Ausführung: Mit einer standardmäßigen SELECT *-Abfrage rufen wir Daten aus der Benutzertabelle in Neon.Tech Postgres ab. Dies wird mit der Abfragefunktion aus der importierten Datenbankbibliothek („@/lib/postgresdb“) erreicht.

  3. Vorbereitung der Daten: Wir formatieren die abgerufenen Daten so, dass sie der von Azure AI Search erwarteten Struktur entsprechen, und stellen sicher, dass jedes Dokument die erforderlichen Felder wie ID, Name, E-Mail usw. enthält.

  4. Indizierung in Azure AI Search: Schließlich verwenden wir die uploadDocuments-Methode, um diese Dokumente in unserem Azure AI Search-Index zu indizieren. Die Fehlerbehandlung ist integriert, um alle Probleme zu erfassen und zu protokollieren, die während des Indizierungsprozesses auftreten könnten.

Durchführung der Synchronisierung

Um die Synchronisierung zu testen, senden Sie eine POST-Anfrage an diese API-Route. Sobald sie ausgelöst wurde, ruft die API-Route die Daten von Neon.Tech Postgres ab, formatiert sie und lädt sie zu Azure AI Search hoch, wo sie zur Abfrage bereit sind.

Schlussfolgerung

Dieses Setup ermöglicht es Ihnen, aktuelle Daten in Azure AI Search zu pflegen und gleichzeitig von der Leistung und Flexibilität von Neon.Tech Postgres zu profitieren. Mit diesem Ansatz wird das Hinzufügen leistungsstarker Suchfunktionen zu Ihrer Anwendung einfach und effizient. Lassen Sie mich wissen, ob diese Anleitung Ihnen geholfen hat, Neon.Tech Postgres mit Azure AI Search zu synchronisieren!

Cloudapp.dev – Und bevor Sie uns verlassen:

Danke, dass Sie bis zum Ende gelesen haben. Noch eine Bitte bevor Sie gehen:

Wenn Ihnen gefallen hat was Sie gelesen haben oder wenn es Ihnen sogar geholfen hat, dann würden wir uns über einen "Clap" 👏 oder einen neuen Follower auf unseren Medium Account sehr freuen.

Oder folgen Sie uns auf Twitter -> Cloudapp.dev

Verwandte Artikel