Bạn có thể thiết lập Google Cloud Search để khám phá và lập chỉ mục dữ liệu từ cơ sở dữ liệu của tổ chức bằng cách sử dụng trình kết nối cơ sở dữ liệu Cloud Search.
Điểm quan trọng cần lưu ý
Bạn có thể cài đặt và chạy trình kết nối cơ sở dữ liệu Cloud Search trong hầu hết mọi môi trường mà ứng dụng Java có thể chạy, miễn là trình kết nối có quyền truy cập vào cả Internet và cơ sở dữ liệu.
Yêu cầu hệ thống
| Yêu cầu hệ thống | |
|---|---|
| Hệ điều hành | Windows hoặc Linux |
| Cơ sở dữ liệu SQL | Mọi cơ sở dữ liệu SQL có trình điều khiển tuân thủ JDBC 4.0 trở lên, bao gồm:
|
| Phần mềm | Trình điều khiển JDBC (được tải xuống và cài đặt riêng) |
Triển khai trình kết nối
Các bước này mô tả cách cài đặt trình kết nối và định cấu hình trình kết nối để lập chỉ mục cơ sở dữ liệu của bạn và trả về kết quả cho người dùng Cloud Search.
Điều kiện tiên quyết
Trước khi triển khai trình kết nối, hãy thu thập thông tin sau:
- Khoá riêng tư của Google Workspace (chứa mã nhận dạng tài khoản dịch vụ). Xem phần Định cấu hình quyền truy cập vào Cloud Search API.
- Mã nguồn dữ liệu Google Workspace. Xem phần Thêm nguồn dữ liệu để tìm kiếm.
Bước 1. Tải xuống và tạo phần mềm trình kết nối cơ sở dữ liệu
Sao chép kho lưu trữ trình kết nối trên GitHub.
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
Kiểm tra phiên bản bạn chọn:
$ git checkout tags/v1-0.0.3
Tạo trình kết nối:
Để bỏ qua các bài kiểm thử, hãy dùng$ mvn package
mvn package -DskipTests.Giải nén tệp zip của trình kết nối vào thư mục cài đặt:
$ 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
Bước 2. Định cấu hình trình kết nối cơ sở dữ liệu
Tạo một tệp văn bản có tên là
connector-config.properties(mặc định). Google đề xuất tiện ích.propertieshoặc.config. Giữ tệp này trong cùng một thư mục với trình kết nối.Thêm các tham số dưới dạng cặp khoá-giá trị. Tệp phải chỉ định quyền truy cập vào nguồn dữ liệu, quyền truy cập vào cơ sở dữ liệu, câu lệnh SQL duyệt qua đầy đủ, tiêu đề trường nội dung và định nghĩa cột.
# 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Để biết các thông số dành riêng cho cơ sở dữ liệu, hãy xem Tài liệu tham khảo về thông số cấu hình. Đối với các tham số chung, hãy xem Các tham số trình kết nối do Google cung cấp.
Bước 3. Chạy trình kết nối cơ sở dữ liệu
Chạy trình kết nối từ dòng lệnh:
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]
Trình kết nối báo cáo lỗi cấu hình và lỗi khởi tạo. Các lỗi khác, chẳng hạn như cú pháp SQL không hợp lệ, sẽ xuất hiện khi trình kết nối lần đầu tiên cố gắng truy cập vào cơ sở dữ liệu.
Tài liệu tham khảo về thông số cấu hình
Phần này liệt kê các tham số được dùng trong tệp cấu hình trình kết nối cơ sở dữ liệu.
Thông số truy cập nguồn dữ liệu
| Cài đặt | Tham số |
|---|---|
| Mã nguồn dữ liệu | api.sourceId = source-ID
Bắt buộc. Mã nguồn của Cloud Search. |
| Tài khoản dịch vụ | api.serviceAccountPrivateKeyFile = path
Bắt buộc. Đường dẫn đến tệp khoá tài khoản dịch vụ. |
Tham số truy cập cơ sở dữ liệu
| Cài đặt | Tham số |
|---|---|
| URL cơ sở dữ liệu | db.url = database-URL
Bắt buộc. Đường dẫn đầy đủ, ví dụ: |
| Thông tin xác thực | db.user = usernamedb.password = password
Bắt buộc. Bạn cần có quyền đọc đối với các bản ghi liên quan. |
Tham số truy vấn SQL duyệt qua
Trình kết nối này sử dụng các truy vấn SQL SELECT để duyệt qua các bản ghi.
- Truy cập đầy đủ: Đọc mọi bản ghi đã định cấu hình. Bắt buộc đối với việc lập chỉ mục ban đầu và lập chỉ mục lại định kỳ.
- Truy cập gia tăng: Chỉ đọc các bản ghi mới được sửa đổi. Yêu cầu các trường dấu thời gian trong cơ sở dữ liệu.
| Cài đặt | Tham số |
|---|---|
| Truy vấn duyệt qua đầy đủ | db.allRecordsSql = SELECT columns FROM table
Bắt buộc. Bao gồm tất cả các cột được dùng cho nội dung, mã nhận dạng và danh sách kiểm soát truy cập. |
| Truy vấn duyệt qua gia tăng | db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?
Bắt buộc đối với lịch biểu gia tăng. "?" là phần giữ chỗ dấu thời gian bắt buộc. |
Tham số định nghĩa cột
| Cài đặt | Tham số |
|---|---|
| Tất cả các cột | db.allColumns = column-1, column-2, ...
Bắt buộc. Liệt kê tất cả các cột được tham chiếu trong truy vấn SQL. |
| Cột khoá riêng biệt | db.uniqueKeyColumns = column-1
Bắt buộc. Xác định mã nhận dạng duy nhất cho từng bản ghi. |
| Cột đường liên kết URL | url.columns = column-1
Bắt buộc. Chỉ định cột dùng cho kết quả tìm kiếm có thể nhấp vào. |
Trường nội dung
| Cài đặt | Tham số |
|---|---|
| Cột tiêu đề | contentTemplate.db.title = column-name
Bắt buộc. Mức độ ưu tiên cao nhất để lập chỉ mục tìm kiếm. |
| Mức độ ưu tiên | contentTemplate.db.quality.high = column-1
Chỉ định cột là chất lượng cao, trung bình hoặc thấp. |