データベース コネクタのデプロイ

Cloud Search データベース コネクタを使用すると、組織のデータベースからデータを検出し、インデックスに登録するように Google Cloud Search を設定できます。

重要な考慮事項

Cloud Search データベース コネクタがインターネットとデータベースの両方にアクセスできる限り、Java アプリを実行できるほとんどの環境にコネクタをインストールして実行できます。

システム要件

システム要件
オペレーティング システム Windows または Linux
SQL データベース JDBC 4.0 以降に準拠したドライバを使用する SQL データベース(次を含む)。
  • MS SQL Server(2008、2012、2014、2016)
  • Oracle(11g、12c)
  • Google Cloud SQL
  • MySQL
ソフトウェア JDBC ドライバ(別途ダウンロードおよびインストール)

コネクタをデプロイする

次の手順では、コネクタをインストールし、データベースのインデックス登録と Cloud Search ユーザーへの結果の返信を行うように構成する方法について説明します。

前提条件

コネクタをデプロイする前に、次の情報を収集します。

ステップ 1. データベース コネクタ ソフトウェアをダウンロードしてビルドする

  1. GitHub からコネクタ リポジトリのクローンを作成します。

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

  2. 選択したバージョンをチェックアウトします。

    $ git checkout tags/v1-0.0.3

  3. コネクタをビルドします。

    $ mvn package
    テストをスキップするには、mvn package -DskipTests を使用します。

  4. コネクタ zip ファイルをインストール ディレクトリに展開します。

    $ 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

ステップ 2. データベース コネクタを構成する

  1. connector-config.properties という名前のテキスト ファイルを作成します(デフォルト)。Google では、.properties または .config 拡張機能をおすすめします。コネクタと同じディレクトリに配置します。

  2. パラメータを Key-Value ペアとして追加します。ファイルには、データソース アクセス、データベース アクセス、完全なトラバーサル SQL ステートメント、コンテンツ フィールドのタイトル、列の定義を指定する必要があります。

    # 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
    

    データベース固有のパラメータについては、構成パラメータのリファレンスをご覧ください。共通パラメータについては、Google 提供のコネクタ パラメータをご覧ください。

ステップ 3. データベース コネクタを実行する

コマンドラインからコネクタを実行します。

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]

コネクタは、構成エラーと初期化エラーを報告します。無効な SQL 構文などの他のエラーは、コネクタが最初にデータベースにアクセスしようとしたときに表示されます。

構成パラメータのリファレンス

このセクションでは、データベース コネクタの構成ファイルで使用されるパラメータの一覧を示します。

データソース アクセス パラメータ

設定 パラメータ
データソース ID api.sourceId = source-ID

必須。Cloud Search ソースの ID。

サービス アカウント api.serviceAccountPrivateKeyFile = path

必須。サービス アカウント キーファイルのパス。

データベース アクセス パラメータ

設定 パラメータ
データベースの URL db.url = database-URL

必須。フルパス(例: jdbc:mysql://127.0.0.1/dbname

認証情報 db.user = username
db.password = password

必須。関連するレコードに対する読み取りアクセス権が必要です。

トラバーサル SQL クエリ パラメータ

コネクタは、SQL SELECT クエリを使用してレコードをトラバースします。

  • フル走査: 構成されているすべてのレコードを読み取ります。初期インデックス登録と定期的な再インデックス登録に必要です。
  • 増分走査: 新しく変更されたレコードのみを読み取ります。データベースにタイムスタンプ フィールドが必要です。
設定 パラメータ
フル走査クエリ db.allRecordsSql = SELECT columns FROM table

必須。コンテンツ、ID、ACL に使用されるすべての列を含めます。

増分走査クエリ db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?

増分スケジュールには必須です。「?」は必須のタイムスタンプ プレースホルダです。

列定義パラメータ

設定 パラメータ
すべての列 db.allColumns = column-1, column-2, ...

必須。SQL クエリで参照されているすべての列を一覧表示します。

一意キーの列 db.uniqueKeyColumns = column-1

必須。各レコードの一意の ID を定義します。

[URL リンク] 列 url.columns = column-1

必須。クリック可能な検索結果に使用する列を指定します。

コンテンツの項目

設定 パラメータ
Title column contentTemplate.db.title = column-name

必須。検索インデックス登録の優先度が最も高い。

優先順位付け contentTemplate.db.quality.high = column-1

列を「高」、「中」、「低」の品質として指定します。