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 quase qualquer ambiente que execute aplicativos Java, desde que o conector tenha acesso à Internet e 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 posterior, incluindo:
  • MS SQL Server (2008, 2012, 2014, 2016);
  • Oracle (11g, 12c)
  • Google Cloud SQL
  • MySQL
Software Driver JDBC (baixado e instalado separadamente)

Implantar o conector

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

Pré-requisitos

Antes de implantar o conector, colete estas informações:

Etapa 1. Baixar 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 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 no mesmo diretório do conector.

  2. Adicione parâmetros como pares de chave-valor. O arquivo precisa especificar acesso à fonte de dados, 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 dos 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. É necessário ter acesso de leitura aos registros relevantes.

Parâmetros de consulta SQL de traversals

O conector usa consultas SQL SELECT para percorrer registros.

  • Travessia completa: lê todos os registros configurados. Necessário para a indexação inicial e a reindexação periódica.
  • Traversal incremental: lê apenas registros modificados recentemente. 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 traversal incremental db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?

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

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 do 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. Prioridade máxima para indexação de pesquisa.

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

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