Triển khai trình kết nối cơ sở dữ liệu

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:
  • MS SQL Server (2008, 2012, 2014, 2016)
  • Oracle (11g, 12c)
  • Google Cloud SQL
  • MySQL
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:

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

  1. 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

  2. Kiểm tra phiên bản bạn chọn:

    $ git checkout tags/v1-0.0.3

  3. Tạo trình kết nối:

    $ mvn package
    Để bỏ qua các bài kiểm thử, hãy dùng mvn package -DskipTests.

  4. 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

  1. 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 .properties hoặc .config. Giữ tệp này trong cùng một thư mục với trình kết nối.

  2. 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ụ: jdbc:mysql://127.0.0.1/dbname.

Thông tin xác thực db.user = username
db.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.