Esegui il deployment di un connettore di database

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

Considerazioni importanti

Puoi installare ed eseguire il connettore del database Cloud Search in quasi tutti gli ambienti in cui possono essere eseguite app Java, a condizione che il connettore abbia accesso sia a internet che 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)

Esegui 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: Scarica e crea il software del connettore del database

  1. Clona il repository del connettore da GitHub.

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

  2. Controlla 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: Configura il connettore del database

  1. Crea un file di testo denominato connector-config.properties (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 ai parametri di configurazione. Per i parametri comuni, vedi Parametri del connettore forniti da Google.

Passaggio 3: Esegui il connettore del 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 errori di configurazione e inizializzazione. Altri errori, come la sintassi SQL non valida, vengono visualizzati quando il connettore tenta per la prima volta di accedere al database.

Riferimento ai parametri di configurazione

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

Parametri di accesso all'origine dati

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

Obbligatorio. L'ID origine Cloud Search.

Service account api.serviceAccountPrivateKeyFile = path

Obbligatorio. Il percorso al file della chiave del service account.

Parametri di accesso al database

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

Obbligatorio. Il percorso completo, ad esempio 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 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 i contenuti, gli ID e le ACL.

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

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

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 Link URL url.columns = column-1

Obbligatorio. Specifica la colonna utilizzata per i risultati di ricerca cliccabili.

Campi dei contenuti

Impostazione Parametro
Colonna Titolo contentTemplate.db.title = column-name

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

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

Assegna alle colonne una qualità alta, media o bassa.