您可以設定 Google Cloud Search,使用 Cloud Search 資料庫連接器,探索及建立貴機構資料庫的資料索引。
重要注意事項
只要連接器能存取網際網路和資料庫,您幾乎可以在任何可執行 Java 應用程式的環境中,安裝及執行 Cloud Search 資料庫連接器。
系統需求
| 系統需求 | |
|---|---|
| 作業系統 | 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擴充功能。請將檔案放在與連接器相同的目錄中。以鍵/值組合形式新增參數。檔案必須指定資料來源存取權、資料庫存取權、完整遍歷 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
必填。服務帳戶金鑰檔案的路徑。 |
資料庫存取參數
| 設定 | 參數 |
|---|---|
| 資料庫網址 | 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.columns = column-1
必填。指定用於可點選搜尋結果的資料欄。 |
內容欄位
| 設定 | 參數 |
|---|---|
| 標題欄 | contentTemplate.db.title = column-name
必填。搜尋索引的最高優先順序。 |
| 優先順序 | contentTemplate.db.quality.high = column-1
將資料欄指定為高品質、中等品質或低品質。 |