Cloud Search データベース コネクタを使用すると、組織のデータベースからデータを検出し、インデックスに登録するように Google Cloud Search を設定できます。
重要な考慮事項
Cloud Search データベース コネクタがインターネットとデータベースの両方にアクセスできる限り、Java アプリを実行できるほとんどの環境にコネクタをインストールして実行できます。
システム要件
| システム要件 | |
|---|---|
| オペレーティング システム | Windows または Linux |
| SQL データベース | JDBC 4.0 以降に準拠したドライバを使用する SQL データベース(次を含む)。
|
| ソフトウェア | JDBC ドライバ(別途ダウンロードおよびインストール) |
コネクタをデプロイする
次の手順では、コネクタをインストールし、データベースのインデックス登録と Cloud Search ユーザーへの結果の返信を行うように構成する方法について説明します。
前提条件
コネクタをデプロイする前に、次の情報を収集します。
- Google Workspace の秘密鍵(サービス アカウント ID を含む)。Cloud Search API へのアクセスを構成するをご覧ください。
- Google Workspace データソース ID。検索対象のデータソースを追加するをご覧ください。
ステップ 1. データベース コネクタ ソフトウェアをダウンロードしてビルドする
GitHub からコネクタ リポジトリのクローンを作成します。
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
選択したバージョンをチェックアウトします。
$ git checkout tags/v1-0.0.3
コネクタをビルドします。
テストをスキップするには、$ mvn package
mvn package -DskipTestsを使用します。コネクタ 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. データベース コネクタを構成する
connector-config.propertiesという名前のテキスト ファイルを作成します(デフォルト)。Google では、.propertiesまたは.config拡張機能をおすすめします。コネクタと同じディレクトリに配置します。パラメータを 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
必須。フルパス(例: |
| 認証情報 | db.user = usernamedb.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
列を「高」、「中」、「低」の品質として指定します。 |