Implantar um conector de banco de dados

É possível configurar o Google Cloud Search para descobrir e indexar dados dos bancos de dados da sua organização usando o conector de banco de dados do Cloud Search.

Considerações importantes

É possível instalar e executar o conector de banco de dados do Cloud Search em praticamente qualquer ambiente que execute aplicativos Java, desde que o conector tenha acesso tanto à Internet quanto ao banco de dados.

Requisitos do sistema

Requisitos do sistema
Sistema operacional Windows ou Linux
Banco de dados SQL Qualquer banco de dados SQL com um driver compatível com JDBC 4.0 ou mais recente, incluindo:
  • MS SQL Server (2008, 2012, 2014, 2016)
  • Oracle (11g, 12c)
  • Google Cloud SQL
  • MySQL
Software Driver JDBC (baixado e instalado separadamente)

Implementar o conector

Estas etapas descrevem como instalar o conector e configurá-lo para indexar seus bancos de dados e retornar resultados para usuários do Cloud Search.

Pré-requisitos

Antes de implementar o conector, reúna estas informações:

Etapa 1. Fazer o download e criar o software do conector de banco de dados

  1. Clone o repositório do conector que está no GitHub.

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

  2. Confira a versão selecionada:

    $ git checkout tags/v1-0.0.3

  3. Crie o conector:

    $ mvn package
    Para pular os testes, use mvn package -DskipTests.

  4. Extraia o arquivo ZIP do conector para o diretório de instalação:

    $ 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

Etapa 2. Configurar o conector de banco de dados

  1. Crie um arquivo de texto chamado connector-config.properties (o padrão). O Google recomenda a extensão .properties ou .config. Mantenha-o no mesmo diretório do conector.

  2. Adicione parâmetros como pares de chave-valor. O arquivo precisa especificar o acesso à fonte de dados, o acesso ao banco de dados, uma instrução SQL de travessia completa, um título de campo de conteúdo e definições de coluna.

    # 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
    

    Para parâmetros específicos do banco de dados, consulte a referência de parâmetros de configuração. Para parâmetros comuns, consulte Parâmetros do conector fornecidos pelo Google.

Etapa 3. Executar o conector de banco de dados

Execute o conector na linha de 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]

O conector informa erros de configuração e inicialização. Outros erros, como sintaxe SQL inválida, aparecem quando o conector tenta acessar o banco de dados pela primeira vez.

Referência dos parâmetros de configuração

Esta seção lista os parâmetros usados no arquivo de configuração do conector de banco de dados.

Parâmetros de acesso à fonte de dados

Configuração Parâmetro
ID da origem de dados api.sourceId = source-ID

Obrigatório. O ID da origem do Cloud Search.

Conta de serviço api.serviceAccountPrivateKeyFile = path

Obrigatório. O caminho para o arquivo de chave da conta de serviço.

Parâmetros de acesso ao banco de dados

Configuração Parâmetro
URL do banco de dados db.url = database-URL

Obrigatório. O caminho completo, por exemplo, jdbc:mysql://127.0.0.1/dbname.

Credenciais db.user = username
db.password = password

Obrigatório. O acesso de leitura é necessário para os registros relevantes.

Parâmetros de consulta SQL de travessia

O conector usa consultas SQL SELECT para percorrer os registros.

  • Travessia completa: lê todos os registros configurados. Obrigatório para indexação inicial e reindexação periódica.
  • Travessia incremental: lê apenas registros recém-modificados. Exige campos de carimbo de data/hora no banco de dados.
Configuração Parâmetro
Consulta de travessia completa db.allRecordsSql = SELECT columns FROM table

Obrigatório. Inclua todas as colunas usadas para conteúdo, IDs e ACLs.

Consulta de travessia incremental db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?

Obrigatório para programações incrementais. O "?" é um marcador de posição de carimbo de data/hora obrigatório.

Parâmetros de definição de coluna

Configuração Parâmetro
Todas as colunas db.allColumns = column-1, column-2, ...

Obrigatório. Lista todas as colunas referenciadas em consultas SQL.

Colunas de chave exclusiva db.uniqueKeyColumns = column-1

Obrigatório. Define o ID exclusivo de cada registro.

Coluna de link de URL url.columns = column-1

Obrigatório. Especifica a coluna usada para resultados de pesquisa clicáveis.

Campos de conteúdo

Configuração Parâmetro
Coluna de título contentTemplate.db.title = column-name

Obrigatório. Maior prioridade para indexação de pesquisa.

Priorização contentTemplate.db.quality.high = column-1

Designe colunas como de alta, média ou baixa qualidade.