Esegui il deployment di un connettore di database

Puoi configurare Google Cloud Search per scoprire e indicizzare i dati dei database della tua organizzazione utilizzando il connettore di database di Cloud Search.

Considerazioni importanti

Puoi installare ed eseguire il connettore di database di Cloud Search in quasi tutti gli ambienti in cui possono essere eseguite le app Java, a condizione che il connettore abbia accesso sia a internet sia al database.

Requisiti di sistema

Requisiti di sistema
Sistema operativo Windows o Linux
Database SQL Qualsiasi database SQL con un driver conforme a JDBC 4.0 o versioni successive, tra cui:
  • MS SQL Server (2008, 2012, 2014, 2016)
  • Oracle (11g, 12c)
  • Google Cloud SQL
  • MySQL
Software Driver JDBC (scaricato e installato separatamente)

Eseguire il deployment del connettore

Questi passaggi descrivono come installare il connettore e configurarlo per indicizzare i database e restituire i risultati agli utenti di Cloud Search.

Prerequisiti

Prima di eseguire il deployment del connettore, raccogli queste informazioni:

Passaggio 1: scaricare e creare il software del connettore di database

  1. Clona il repository del connettore da GitHub.

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

  2. Estrai la versione selezionata:

    $ git checkout tags/v1-0.0.3

  3. Crea il connettore:

    $ mvn package
    Per saltare i test, utilizza mvn package -DskipTests.

  4. Estrai il file ZIP del connettore nella directory di installazione:

    $ 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

Passaggio 2: configurare il connettore di database

  1. Crea un file di testo denominato connector-config.properties (il valore predefinito). Google consiglia l'estensione .properties o .config. Mantienilo nella stessa directory del connettore.

  2. Aggiungi i parametri come coppie chiave-valore. Il file deve specificare l'accesso all'origine dati, l'accesso al database, un'istruzione SQL di attraversamento completo, un titolo del campo dei contenuti e le definizioni delle colonne.

    # 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
    

    Per i parametri specifici del database, consulta il riferimento dei parametri di configurazione. Per i parametri comuni, consulta Parametri del connettore forniti da Google.

Passaggio 3: eseguire il connettore di database

Esegui il connettore dalla riga di comando:

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]

Il connettore segnala gli errori di configurazione e inizializzazione. Altri errori, come la sintassi SQL non valida, vengono visualizzati quando il connettore tenta di accedere al database per la prima volta.

Riferimento dei parametri di configurazione

Questa sezione elenca i parametri utilizzati nel file di configurazione del connettore di database.

Parametri di accesso all'origine dati

Impostazione Parametro
ID origine dati api.sourceId = source-ID

Obbligatorio. L'ID origine di Cloud Search.

Service account api.serviceAccountPrivateKeyFile = path

Obbligatorio. Il percorso del file delle chiavi dell'account di servizio.

Parametri di accesso al database

Impostazione Parametro
URL del database db.url = database-URL

Obbligatorio. Il percorso completo, ad es. jdbc:mysql://127.0.0.1/dbname.

Credenziali db.user = username
db.password = password

Obbligatorio. L'accesso in lettura è necessario per i record pertinenti.

Parametri di query SQL di attraversamento

Il connettore utilizza le query SQL SELECT per attraversare i record.

  • Attraversamento completo: legge ogni record configurato. Obbligatorio per l'indicizzazione iniziale e la reindicizzazione periodica.
  • Attraversamento incrementale: legge solo i record modificati di recente. Richiede campi timestamp nel database.
Impostazione Parametro
Query di attraversamento completo db.allRecordsSql = SELECT columns FROM table

Obbligatorio. Includi tutte le colonne utilizzate per contenuti, ID e ACL.

Query di attraversamento incrementale db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?

Obbligatorio per le pianificazioni incrementali. Il "?" è un segnaposto timestamp obbligatorio.

Parametri di definizione delle colonne

Impostazione Parametro
Tutte le colonne db.allColumns = column-1, column-2, ...

Obbligatorio. Elenca tutte le colonne a cui viene fatto riferimento nelle query SQL.

Colonne chiave univoche db.uniqueKeyColumns = column-1

Obbligatorio. Definisce l'ID univoco per ogni record.

Colonna del link URL url.columns = column-1

Obbligatorio. Specifica la colonna utilizzata per i risultati di ricerca su cui è possibile fare clic.

Campi dei contenuti

Impostazione Parametro
Colonna del titolo contentTemplate.db.title = column-name

Obbligatorio. Priorità più alta per l'indicizzazione della ricerca.

Assegnazione delle priorità contentTemplate.db.quality.high = column-1

Designa le colonne come di qualità alta, media o bassa.