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:
|
| 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:
- Kunci pribadi Google Workspace (yang berisi ID akun layanan). Lihat Mengonfigurasi akses ke Cloud Search API.
- ID sumber data Google Workspace. Lihat Menambahkan sumber data untuk penelusuran.
Langkah 1. Mendownload dan membangun software konektor database
Clone repositori konektor dari GitHub.
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
Lihat versi yang Anda pilih:
$ git checkout tags/v1-0.0.3
Buat konektor:
Untuk melewati pengujian, gunakan$ mvn package
mvn package -DskipTests.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
Buat file teks bernama
connector-config.properties(default). Google merekomendasikan ekstensi.propertiesatau.config. Simpan di direktori yang sama dengan konektor.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=trueUntuk 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, |
| Kredensial | db.user = usernamedb.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. |