Datenbankconnector bereitstellen

Sie können Google Cloud Search so einrichten, dass Daten aus den Datenbanken Ihrer Organisation mit dem Cloud Search-Datenbankconnector 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:
  • MS SQL Server (2008, 2012, 2014, 2016)
  • Oracle (11g, 12c)
  • Google Cloud SQL
  • MySQL
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:

Schritt 1: Software für den Datenbankconnector herunterladen und Build erstellen

  1. Klonen Sie das Connector-Repository von GitHub.

    $ git clone https://github.com/google-cloudsearch/database-connector.git
    $ cd database-connector

  2. Prüfen Sie die ausgewählte Version:

    $ git checkout tags/v1-0.0.3

  3. Erstellen Sie den Connector:

    $ mvn package
    Wenn Sie Tests überspringen möchten, verwenden Sie mvn package -DskipTests.

  4. Extrahieren Sie die ZIP-Datei des Connectors in Ihr 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

  1. Erstellen Sie eine Textdatei mit dem Namen connector-config.properties (Standardeinstellung). Google empfiehlt die Erweiterung .properties oder .config. Bewahren Sie sie im selben Verzeichnis wie den Connector auf.

  2. 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 vollständigen Durchlauf, 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=true
    

    Datenbankspezifische Parameter finden Sie in der Referenz zu Konfigurationsparametern. Allgemeine Parameter 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 Cloud Search-Quell-ID.

Dienstkonto api.serviceAccountPrivateKeyFile = path

Erforderlich. Der Pfad zur Schlüsseldatei des Dienstkontos.

Parameter für den Datenbankzugriff

Einstellung Parameter
Datenbank-URL db.url = database-URL

Erforderlich. Der vollständige Pfad, z.B. jdbc:mysql://127.0.0.1/dbname.

Anmeldedaten db.user = username
db.password = password

Erforderlich. Für die relevanten Datensätze ist ein Lesezugriff erforderlich.

SQL-Abfrageparameter für den Durchlauf

Der Connector verwendet SQL-SELECT-Abfragen, um Datensätze zu durchlaufen.

  • Vollständiger Durchlauf: Liest alle konfigurierten Datensätze. Erforderlich für die erste Indexierung und die regelmäßige Neuindexierung.
  • Durchlauf mit Teilindexierung: Liest nur neu geänderte Datensätze. Erfordert Zeitstempelfelder in der Datenbank.
Einstellung Parameter
Abfrage für den vollständigen Durchlauf db.allRecordsSql = SELECT columns FROM table

Erforderlich. Fügen Sie alle Spalten ein, 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 Zeitstempel Platzhalter.

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
Titel-Spalte contentTemplate.db.title = column-name

Erforderlich. Höchste Priorität für die Suchindexierung.

Priorisierung contentTemplate.db.quality.high = column-1

Geben Sie Spalten als hohe, mittlere oder niedrige Qualität an.