Sie können Google Cloud Search so einrichten, dass Daten aus den Datenbanken Ihrer Organisation mit dem Datenbankconnector von Cloud Search erkannt und indexiert werden.
Wichtige Hinweise
Sie können den Cloud Search-Datenbankconnector in nahezu jeder Umgebung installieren und ausführen, in der Java-Apps unterstützt werden. Er benötigt nur Internet- und Datenbankzugriff.
Systemanforderungen
| Systemanforderungen | |
|---|---|
| Betriebssystem | Windows oder Linux |
| SQL-Datenbank | Alle SQL-Datenbanken, deren Treiber konform zu JDBC 4.0 oder höher ist. Dazu zählen unter anderem Datenbanken aus folgender Software:
|
| Software | JDBC-Treiber (separat heruntergeladen und installiert) |
Connector bereitstellen
In diesen Schritten wird beschrieben, wie Sie den Connector installieren und so konfigurieren, dass Ihre Datenbanken indexiert und die Ergebnisse an Cloud Search-Nutzer zurückgegeben werden.
Vorbereitung
Sammeln Sie vor dem Bereitstellen des Connectors die folgenden Informationen:
- Privater Google Workspace-Schlüssel, der die ID des Dienstkontos enthält. Weitere Informationen finden Sie unter Zugriff auf die Cloud Search API konfigurieren.
- ID der Google Workspace-Datenquelle. Weitere Informationen finden Sie im Hilfeartikel Datenquelle für die Suche hinzufügen.
Schritt 1: Software für den Datenbankconnector herunterladen und Build erstellen
Klonen Sie das Connector-Repository von GitHub.
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
Sehen Sie sich die ausgewählte Version an:
$ git checkout tags/v1-0.0.3
Erstellen Sie den Connector:
Verwenden Sie$ mvn package
mvn package -DskipTests, um Tests zu überspringen.Extrahieren Sie die ZIP-Datei des Connectors in das Installationsverzeichnis:
$ cp target/google-cloudsearch-database-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-database-connector-v1-0.0.3.zip $ cd google-cloudsearch-database-connector-v1-0.0.3
Schritt 2: Datenbankconnector konfigurieren
Erstellen Sie eine Textdatei mit dem Namen
connector-config.properties(Standardeinstellung). Google empfiehlt die Erweiterung.propertiesoder.config. Bewahren Sie sie im selben Verzeichnis wie den Connector auf.Fügen Sie Parameter als Schlüssel/Wert-Paare hinzu. In der Datei müssen der Zugriff auf die Datenquelle und die Datenbank, eine SQL-Anweisung für den Durchlauf mit vollständiger Indexierung, ein Titel im Inhaltsfeld und Spaltendefinitionen angegeben werden.
# Data source access api.sourceId=1234567890abcdef api.identitySourceId=0987654321lmnopq api.serviceAccountPrivateKeyFile=./PrivateKey.json # Database access db.url=jdbc:mysql://localhost:3306/mysql_test db.user=root db.password=passw0rd # Full traversal SQL statement db.allRecordsSql=select customer_id, first_name, last_name, phone from address_book # Column definitions and URL format db.allColumns=customer_id, first_name, last_name, phone db.uniqueKeyColumns=customer_id url.columns=customer_id # Content field contentTemplate.db.title=customer_id # Optional: ACLs defaultAcl.mode=fallback defaultAcl.public=true # Optional: traversal schedule schedule.traversalIntervalSecs=36000 schedule.performTraversalOnStart=trueDatenbankspezifische Parameter finden Sie im Abschnitt Konfigurationsparameter. Informationen zu allgemeinen Parametern finden Sie unter Von Google bereitgestellte Connectorparameter.
Schritt 3: Datenbankconnector ausführen
Führen Sie den Connector über die Befehlszeile aus:
java -cp "google-cloudsearch-database-connector-v1-0.0.3.jar:mysql-connector-java-5.1.41-bin.jar" com.google.enterprise.cloudsearch.database.DatabaseFullTraversalConnector [-Dconfig=mysql.config]
Der Connector meldet Konfigurations- und Initialisierungsfehler. Andere Fehler, z. B. ungültige SQL-Syntax, werden angezeigt, wenn der Connector zum ersten Mal versucht, auf die Datenbank zuzugreifen.
Referenz zu Konfigurationsparametern
In diesem Abschnitt werden die Parameter aufgeführt, die in der Konfigurationsdatei des Datenbankconnectors verwendet werden.
Parameter für den Zugriff auf Datenquellen
| Einstellung | Parameter |
|---|---|
| ID der Datenquelle | api.sourceId = source-ID
Erforderlich. Die ID der Cloud Search-Quelle. |
| Dienstkonto | api.serviceAccountPrivateKeyFile = path
Erforderlich. Der Pfad zur Dienstkonto-Schlüsseldatei. |
Parameter für den Datenbankzugriff
| Einstellung | Parameter |
|---|---|
| Datenbank-URL | db.url = database-URL
Erforderlich. Der vollständige Pfad, z.B. |
| Anmeldedaten | db.user = usernamedb.password = password
Erforderlich. Lesezugriff auf die relevanten Datensätze ist erforderlich. |
SQL-Abfrageparameter für den Durchlauf
Der Connector verwendet SQL-SELECT-Abfragen, um Datensätze zu durchlaufen.
- Vollständiger Durchlauf: Alle konfigurierten Datensätze werden gelesen. Erforderlich für die Erstindexierung und die regelmäßige Neuindexierung.
- Durchlauf mit Teilindexierung: Es werden nur neu geänderte Datensätze gelesen. Erfordert Zeitstempelfelder in der Datenbank.
| Einstellung | Parameter |
|---|---|
| Abfrage für den vollständigen Durchlauf | db.allRecordsSql = SELECT columns FROM table
Erforderlich. Sie muss alle Spalten enthalten, die für Inhalte, IDs und ACLs verwendet werden. |
| Abfrage für den inkrementellen Durchlauf | db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?
Erforderlich für inkrementelle Zeitpläne. Das „?“ ist ein obligatorischer Platzhalter für einen Zeitstempel. |
Definitionsparameter für Spalten
| Einstellung | Parameter |
|---|---|
| Alle Spalten | db.allColumns = column-1, column-2, ...
Erforderlich. Listet alle Spalten auf, auf die in SQL-Abfragen verwiesen wird. |
| Eindeutige Schlüsselspalten | db.uniqueKeyColumns = column-1
Erforderlich. Definiert die eindeutige ID für jeden Datensatz. |
| Spalte „URL-Link“ | url.columns = column-1
Erforderlich. Gibt die Spalte an, die für anklickbare Suchergebnisse verwendet wird. |
Inhaltsfelder
| Einstellung | Parameter |
|---|---|
| Titelspalte | contentTemplate.db.title = column-name
Erforderlich. Höchste Priorität für die Suchindexierung. |
| Priorisierung | contentTemplate.db.quality.high = column-1
Weisen Sie Spalten die Qualität „Hoch“, „Mittel“ oder „Niedrig“ zu. |