部署資料庫連接器

您可以設定 Google Cloud Search,使用 Cloud Search 資料庫連接器,探索及建立貴機構資料庫的資料索引。

重要注意事項

只要連接器能存取網際網路和資料庫,您幾乎可以在任何可執行 Java 應用程式的環境中,安裝及執行 Cloud Search 資料庫連接器。

系統需求

系統需求
作業系統 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. 以鍵/值組合形式新增參數。檔案必須指定資料來源存取權、資料庫存取權、完整遍歷 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

必填。完整路徑,例如 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.columns = column-1

必填。指定用於可點選搜尋結果的資料欄。

內容欄位

設定 參數
標題欄 contentTemplate.db.title = column-name

必填。搜尋索引的最高優先順序。

優先順序 contentTemplate.db.quality.high = column-1

將資料欄指定為高品質、中等品質或低品質。