Datenbankconnector bereitstellen

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:
  • 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. Sehen Sie sich die ausgewählte Version an:

    $ git checkout tags/v1-0.0.3

  3. Erstellen Sie den Connector:

    $ mvn package
    Verwenden Sie mvn package -DskipTests, um Tests zu überspringen.

  4. 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

  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 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=true
    

    Datenbankspezifische 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. jdbc:mysql://127.0.0.1/dbname.

Anmeldedaten db.user = username
db.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.