Menerapkan konektor database

Anda dapat menyiapkan Google Cloud Search untuk menemukan dan mengindeks data dari database organisasi Anda menggunakan konektor database Cloud Search.

Pertimbangan penting

Anda dapat menginstal dan menjalankan konektor database Cloud Search di hampir semua lingkungan yang menjalankan aplikasi Java, asalkan konektor tersebut memiliki akses ke internet dan database.

Persyaratan sistem

Persyaratan sistem
Sistem operasi Windows atau Linux
Database SQL Database SQL apa pun dengan driver yang sesuai dengan JDBC 4.0 atau yang lebih baru, termasuk:
  • MS SQL Server (2008, 2012, 2014, 2016)
  • Oracle (11g, 12c)
  • Google Cloud SQL
  • MySQL
Software Driver JDBC (didownload dan diinstal secara terpisah)

Deploy konektor

Langkah-langkah ini menjelaskan cara menginstal konektor dan mengonfigurasinya untuk mengindeks database Anda dan menampilkan hasil kepada pengguna Cloud Search.

Prasyarat

Sebelum Anda men-deploy konektor, kumpulkan informasi berikut:

Langkah 1. Mendownload dan membangun software konektor database

  1. Clone repositori konektor dari GitHub.

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

  2. Lihat versi yang Anda pilih:

    $ git checkout tags/v1-0.0.3

  3. Buat konektor:

    $ mvn package
    Untuk melewati pengujian, gunakan mvn package -DskipTests.

  4. Ekstrak file zip konektor ke direktori penginstalan Anda:

    $ 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

Langkah 2. Konfigurasikan konektor database

  1. Buat file teks bernama connector-config.properties (default). Google merekomendasikan ekstensi .properties atau .config. Simpan di direktori yang sama dengan konektor.

  2. Tambahkan parameter sebagai key-value pair. File harus menentukan akses sumber data, akses database, pernyataan SQL penelusuran lengkap, judul kolom konten, dan definisi kolom.

    # 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
    

    Untuk parameter khusus database, lihat Referensi parameter konfigurasi. Untuk parameter umum, lihat Parameter konektor yang disediakan Google.

Langkah 3. Jalankan konektor database

Jalankan konektor dari command line:

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]

Konektor melaporkan error konfigurasi dan inisialisasi. Error lainnya, seperti sintaks SQL yang tidak valid, muncul saat konektor pertama kali mencoba mengakses database.

Referensi parameter konfigurasi

Bagian ini mencantumkan parameter yang digunakan dalam file konfigurasi konektor database.

Parameter akses sumber data

Setelan Parameter
ID sumber data api.sourceId = source-ID

Wajib. ID sumber Cloud Search.

Akun layanan api.serviceAccountPrivateKeyFile = path

Wajib. Jalur ke file kunci akun layanan.

Parameter akses database

Setelan Parameter
URL database db.url = database-URL

Wajib. Jalur lengkap, misalnya, jdbc:mysql://127.0.0.1/dbname.

Kredensial db.user = username
db.password = password

Wajib. Akses baca diperlukan untuk data yang relevan.

Parameter kueri SQL traversal

Konektor menggunakan kueri SQL SELECT untuk menelusuri data.

  • Traversal penuh: Membaca setiap record yang dikonfigurasi. Diperlukan untuk pengindeksan awal dan pengindeksan ulang berkala.
  • Traversal inkremental: Hanya membaca record yang baru dimodifikasi. Memerlukan kolom stempel waktu dalam database.
Setelan Parameter
Kueri traversal penuh db.allRecordsSql = SELECT columns FROM table

Wajib. Sertakan semua kolom yang digunakan untuk konten, ID, dan ACL.

Kueri traversal inkremental db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?

Diperlukan untuk jadwal inkremental. "?" adalah placeholder stempel waktu wajib.

Parameter definisi kolom

Setelan Parameter
Semua kolom db.allColumns = column-1, column-2, ...

Wajib. Mencantumkan semua kolom yang dirujuk dalam kueri SQL.

Kolom kunci unik db.uniqueKeyColumns = column-1

Wajib. Menentukan ID unik untuk setiap data.

Kolom link URL url.columns = column-1

Wajib. Menentukan kolom yang digunakan untuk hasil penelusuran yang dapat diklik.

Kolom konten

Setelan Parameter
Kolom judul contentTemplate.db.title = column-name

Wajib. Prioritas tertinggi untuk pengindeksan penelusuran.

Pengaturan Prioritas contentTemplate.db.quality.high = column-1

Tetapkan kolom sebagai kualitas tinggi, sedang, atau rendah.