Sie können mit der Integration der externen Suche in AlloyDB auf Daten zugreifen, die in OpenSearch gespeichert sind, und darin suchen. Mit dieser Integration können Sie OpenSearch-Indizes mit relationalen Tabellen in AlloyDB verknüpfen, ohne Daten verschieben oder kopieren zu müssen.
Hinweis
Bevor Sie beginnen, müssen Sie Folgendes erledigt haben:
Aktivieren Sie ausgehende Verbindungen für Ihre primäre AlloyDB-Instanz.
OpenSearch erstellen und konfigurieren mit einem zugänglichen öffentlichen Endpunkt.
Aktivieren Sie das Sicherheits-Plug-in in Ihrem OpenSearch-Cluster und erstellen Sie einen Nutzer mit Lesezugriff in der internen Nutzerdatenbank. AlloyDB verwendet diese Anmeldedaten für den Zugriff auf Ihren OpenSearch-Cluster.
OpenSearch-Anmeldedaten in Secret Manager speichern
AlloyDB speichert Ihre OpenSearch-Anmeldedaten in Secret Manager und liest sie daraus. Weitere Informationen zur Verwendung von Secret Manager finden Sie unter Secret mit Secret Manager erstellen und darauf zugreifen.
Prüfen Sie, ob Ihr AlloyDB-Dienstkonto die Rolle „Secret Manager Secret Accessor“ (roles/secretmanager.secretAccessor) hat, um das Secret aus Secret Manager zu lesen. Weitere Informationen finden Sie unter Secret mit Secret Manager erstellen und darauf zugreifen.
external_search_fdw-Erweiterung aktivieren und konfigurieren
Um die Integration mit OpenSearch zu starten, konfigurieren Sie den Zugriff auf Ihren OpenSearch-Cluster über einen ausländischen Datenserver.
Aktivieren Sie die Erweiterung
external_search_fdw.CREATE EXTENSION external_search_fdw;Erstellen Sie einen Server für Ihren OpenSearch-Cluster.
CREATE SERVER OPENSEARCH_SERVER_NAME FOREIGN DATA WRAPPER external_search_fdw OPTIONS ( server 'OPENSEARCH_SERVER_HOST_PORT', search_provider 'opensearch', auth_mode 'secret_manager', auth_method 'Basic', secret_path 'SECRET_PATH' );Ersetzen Sie die folgenden Variablen:
OPENSEARCH_SERVER_NAME: Name für Ihren Server für externe Daten. Beispiel:opensearch.OPENSEARCH_SERVER_HOST_PORT: Die öffentliche URL (Endpunkt) für Ihren OpenSearch-Cluster.SECRET_PATH: Secret Manager-Pfad zu Ihren OpenSearch-Anmeldedaten. Beispiel:projects/123456789012/secrets/opensearch-credentials/versions/1.123456789012steht für Ihre Google Cloud -Projekt-ID.
Definieren Sie die PostgreSQL-Nutzerzuordnung für den OpenSearch-Server. Hinweis: Für PostgreSQL-FDWs ist diese Nutzerzuordnung erforderlich. Die Authentifizierung in AlloyDB erfolgt über den REST-Autorisierungsheader.
CREATE USER MAPPING FOR CURRENT_USER SERVER OPENSEARCH_SERVER_NAME;Ordnen Sie das Schema Ihres OpenSearch-Index einer externen PostgreSQL-Tabelle zu.
CREATE FOREIGN TABLE OPENSEARCH_FD_TABLE( metadata external_search_fdw_schema.OpaqueMetadata, OPENSEARCH_FIELDS) SERVER OPENSEARCH_SERVER_NAME OPTIONS( remote_table_name 'OPENSEARCH_INDEX_NAME'