Triển khai trình kết nối CSV

Hướng dẫn này dành cho quản trị viên trình kết nối CSV (giá trị được phân tách bằng dấu phẩy) của Google Cloud Search, tức là bất kỳ ai chịu trách nhiệm tải xuống, định cấu hình, chạy và giám sát trình kết nối.

Tài liệu hướng dẫn này trình bày cách thực hiện các thao tác chính liên quan đến việc triển khai trình kết nối CSV:

  • Tải phần mềm trình kết nối CSV Google Cloud Search xuống
  • Định cấu hình trình kết nối để sử dụng với một nguồn dữ liệu CSV cụ thể
  • Triển khai và chạy trình kết nối

Để hiểu được các khái niệm trong tài liệu này, bạn phải làm quen với các khái niệm cơ bản về Google Workspace, tệp CSV và Danh sách kiểm soát quyền truy cập (ACL).

Tổng quan về trình kết nối CSV của Google Cloud Search

Trình kết nối CSV của Cloud Search hoạt động với mọi tệp văn bản có các giá trị được phân tách bằng dấu phẩy (CSV). Tệp CSV lưu trữ dữ liệu dạng bảng và mỗi dòng của tệp là một bản ghi dữ liệu.

Trình kết nối CSV của Google Cloud Search trích xuất từng hàng riêng lẻ từ một tệp CSV và lập chỉ mục những hàng đó vào Cloud Search thông qua API lập chỉ mục của Cloud Search. Sau khi được lập chỉ mục thành công, bạn có thể tìm kiếm từng hàng trong tệp CSV thông qua các ứng dụng của Cloud Search hoặc API Truy vấn của Cloud Search. Trình kết nối CSV cũng hỗ trợ việc kiểm soát quyền truy cập của người dùng vào nội dung trong kết quả tìm kiếm bằng cách sử dụng ACL.

Bạn có thể cài đặt trình kết nối CSV của Google Cloud Search trên Linux hoặc Windows. Trước khi triển khai trình kết nối CSV của Google Cloud Search, hãy đảm bảo bạn có các thành phần bắt buộc sau:

  • Java JRE 1.8 được cài đặt trên một máy tính chạy trình kết nối CSV của Google Cloud Search
  • Những thông tin cần thiết về Google Workspace để thiết lập mối quan hệ giữa Google Cloud Search và nguồn dữ liệu:

    Thông thường, quản trị viên Google Workspace của miền có thể cung cấp những thông tin đăng nhập này cho bạn.

Các bước triển khai

Để triển khai trình kết nối CSV của Google Cloud Search, hãy làm theo các bước sau:

  1. Cài đặt phần mềm trình kết nối CSV của Google Cloud Search
  2. Chỉ định cấu hình trình kết nối CSV
  3. Thiết lập quyền truy cập vào nguồn dữ liệu của Google Cloud Search
  4. Định cấu hình quyền truy cập vào tệp CSV
  5. Chỉ định tên cột để lập chỉ mục, các cột chính duy nhất và cột ngày giờ
  6. Chỉ định các cột để sử dụng trong URL kết quả tìm kiếm có thể nhấp vào
  7. Chỉ định thông tin siêu dữ liệu, định dạng cột
  8. Lên lịch truyền tải dữ liệu
  9. Chỉ định các tuỳ chọn Danh sách kiểm soát quyền truy cập (ACL)

1. Cài đặt SDK

Cài đặt SDK vào kho lưu trữ Maven cục bộ.

  1. Sao chép kho lưu trữ SDK trên GitHub.

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
    $ cd connector-sdk/csv
  2. Xem phiên bản SDK mong muốn:

    $ git checkout tags/v1-0.0.3
  3. Xây dựng trình kết nối:

    $ mvn package
  4. Sao chép tệp zip của trình kết nối vào thư mục cài đặt trên máy:

    $ cp target/google-cloudsearch-csv-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-csv-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-csv-connector-v1-0.0.3

2. Chỉ định cấu hình trình kết nối CSV

Là quản trị viên trình kết nối, bạn có thể kiểm soát hành vi và thuộc tính của trình kết nối CSV. Việc này giúp xác định các tham số trong tệp cấu hình của trình kết nối. Các tham số có thể định cấu hình bao gồm:

  • Quyền truy cập vào nguồn dữ liệu
  • Vị trí của tệp CSV
  • Định nghĩa cột CSV
  • (Các) cột xác định một mã nhận dạng duy nhất
  • Tuỳ chọn truyền tải
  • Các tuỳ chọn Danh sách kiểm soát quyền truy cập (ACL) để hạn chế quyền truy cập dữ liệu

Để trình kết nối truy cập đúng cách vào tệp CSV và lập chỉ mục nội dung liên quan, trước tiên, bạn phải tạo tệp cấu hình.

Cách tạo tệp cấu hình:

  1. Mở trình chỉnh sửa văn bản mà bạn chọn và đặt tên cho tệp cấu hình.
    Thêm cặp khoá=giá trị vào nội dung tệp như mô tả trong các phần sau.
  2. Lưu và đặt tên cho tệp cấu hình.
    Bạn nên đặt tên cho tệp cấu hình connector-config.properties để không cần thêm tham số dòng lệnh nào để chạy trình kết nối.

Vì bạn có thể chỉ định đường dẫn tệp cấu hình trên dòng lệnh, nên bạn không cần phải có vị trí tệp chuẩn. Tuy nhiên, hãy giữ tệp cấu hình trong cùng thư mục với trình kết nối để đơn giản hoá việc theo dõi và chạy trình kết nối.

Để đảm bảo trình kết nối nhận ra tệp cấu hình của bạn, hãy chỉ định đường dẫn của tệp trên dòng lệnh. Nếu không, trình kết nối sẽ sử dụng connector-config.properties trong thư mục cục bộ của bạn làm tên tệp mặc định. Để biết thông tin về cách chỉ định đường dẫn cấu hình trên dòng lệnh, hãy xem phần Chạy trình kết nối CSV trên Cloud Search.

3. Định cấu hình quyền truy cập vào nguồn dữ liệu Google Cloud Search

Các tham số đầu tiên mà mọi tệp cấu hình phải chỉ định là những tham số cần thiết để truy cập vào nguồn dữ liệu trên Cloud Search, như minh hoạ trong bảng sau. Thông thường, bạn sẽ cần Mã nguồn dữ liệu, mã tài khoản dịch vụ và đường dẫn đến tệp khoá riêng tư của tài khoản dịch vụ để định cấu hình quyền truy cập của trình kết nối vào Cloud Search. Các bước cần thực hiện để thiết lập một nguồn dữ liệu được mô tả trong bài viết Quản lý nguồn dữ liệu của bên thứ ba

Xem xét Thông số
Mã nguồn dữ liệu api.sourceId=1234567890abcdef

Bắt buộc. Mã nguồn Google Cloud Search do quản trị viên Google Workspace thiết lập, theo mô tả trong bài viết Quản lý nguồn dữ liệu của bên thứ ba.

Đường dẫn đến tệp khoá riêng tư của tài khoản dịch vụ api.serviceAccountPrivateKeyFile=./PrivateKey.json

Bắt buộc. Tệp khoá tài khoản dịch vụ Google Cloud Search để hỗ trợ khả năng tiếp cận của trình kết nối Google Cloud Search CSV.

Mã nguồn nhận dạng api.identitySourceId=x0987654321

Bắt buộc nếu sử dụng người dùng và nhóm bên ngoài. Mã nguồn nhận dạng trên Google Cloud Search do quản trị viên Google Workspace thiết lập.

4. Định cấu hình thông số tệp CSV

Trước khi trình kết nối có thể truyền tải tệp CSV và trích xuất dữ liệu từ tệp đó để lập chỉ mục, bạn phải xác định đường dẫn đến tệp đó. Bạn cũng có thể chỉ định định dạng tệp và kiểu mã hoá tệp. Thêm các tham số sau để chỉ định các thuộc tính của tệp CSV trong tệp cấu hình.

Xem xét Thông số
Đường dẫn đến tệp CSV csv.filePath=./movie_content.csv

Bắt buộc. Đường dẫn tới tệp CSV mà bạn có thể truy cập và trích xuất nội dung để lập chỉ mục.

Định dạng tệp csv.format=DEFAULT

Định dạng của tệp. Các giá trị có thể được lấy từ lớp CSVFormat (định dạng CSV) của Apache Commons.

Các giá trị định dạng bao gồm: DEFAULT, EXCEL, INFORMIX_UNLOAD, INFORMIX_UNLOAD_CSV, MYSQL, RFC4180, ORACLE, POSTGRESQL_CSV, POSTGRESQL_TEXTTDF. Nếu bạn chưa chỉ định, Cloud Search sẽ sử dụng DEFAULT.

Đối tượng sửa đổi định dạng tệp csv.format.withMethod=value

Sửa đổi cách Cloud Search xử lý tệp. Bạn có thể sử dụng các phương thức trong lớp CSVFormat (CSV) của Apache Commons và bao gồm các phương thức nhận một ký tự, chuỗi hoặc giá trị boolean duy nhất.

Ví dụ: để chỉ định dấu chấm phẩy làm dấu phân cách, hãy sử dụng csv.format.withDelimiter=;. Để bỏ qua dòng trống, hãy sử dụng csv.format.withIgnoreEmptyLines=true.

Loại mã hoá tệp csv.fileEncoding=UTF-8

Bộ ký tự Java để sử dụng khi Cloud Search đọc tệp. Nếu bạn không chỉ định, Cloud Search sẽ sử dụng bộ ký tự mặc định của nền tảng.

5. Chỉ định tên cột để lập chỉ mục và các cột chính duy nhất

Để trình kết nối truy cập và lập chỉ mục tệp CSV, bạn phải cung cấp thông tin về định nghĩa cột trong tệp cấu hình. Nếu tệp cấu hình không chứa các tham số chỉ định tên cột để lập chỉ mục và các cột khoá duy nhất, thì giá trị mặc định sẽ được sử dụng.

Xem xét Thông số
Cột cần lập chỉ mục csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...

Tên cột sẽ được lập chỉ mục từ tệp CSV. Nếu bạn không đặt csv.csvColumns, hàng đầu tiên của tệp CSV sẽ được dùng làm tiêu đề. Nếu bạn đặt csv.csvColumns, thì thông tin này sẽ được ưu tiên hơn hàng đầu tiên của tệp CSV. Nếu bạn đã đặt csv.csvColumns và hàng đầu tiên của tệp CSV là danh sách tên cột, thì bạn cần đặt csv.skipHeaderRecord=true để tránh cố gắng lập chỉ mục hàng đầu tiên dưới dạng dữ liệu. Giá trị mặc định là các cột trong hàng tiêu đề trong tệp.

Các cột khoá duy nhất csv.uniqueKeyColumns=movieId

(Các) cột CSV có các giá trị sẽ được dùng để tạo mã nhận dạng duy nhất của mỗi bản ghi. Nếu không được chỉ định, bạn nên sử dụng hàm băm của bản ghi CSV làm khoá duy nhất. Giá trị mặc định là mã băm của bản ghi.

6. Chỉ định cột để sử dụng trong URL kết quả tìm kiếm có thể nhấp

Khi người dùng tìm kiếm bằng Google Cloud Search, Google Cloud Search sẽ phản hồi bằng cách hiển thị một trang kết quả có chứa các URL có thể nhấp vào cho từng kết quả. Để bật tính năng này, bạn phải thêm tham số hiển thị trong bảng sau vào tệp cấu hình.

Xem xét Thông số
Định dạng URL của kết quả tìm kiếm url.format=https://mymoviesite.com/movies/{0}

Bắt buộc. Định dạng để tạo URL chế độ xem cho nội dung CSV.

Tham số URL của kết quả tìm kiếm. url.columns=movieId

Bắt buộc. Tên cột CSV có các giá trị sẽ được dùng để tạo URL xem của bản ghi.

Tham số URL cần thoát của kết quả tìm kiếm url.columnsToEscape=movieId

Không bắt buộc. Tên cột CSV có các giá trị sẽ là URL được thoát để tạo URL chế độ xem hợp lệ.

7. Chỉ định thông tin siêu dữ liệu, định dạng cột, chất lượng tìm kiếm

Bạn có thể thêm các tham số vào tệp cấu hình chỉ định:

Tham số cấu hình siêu dữ liệu

Tham số cấu hình siêu dữ liệu mô tả các cột CSV dùng để điền siêu dữ liệu mục. Nếu tệp cấu hình không chứa các tham số này, thì giá trị mặc định sẽ được sử dụng. Bảng sau đây cho thấy các thông số này.

Chế độ cài đặt Tham số
Tiêu đề itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind

Thuộc tính siêu dữ liệu chứa giá trị tương ứng với tiêu đề tài liệu. Giá trị mặc định là một chuỗi trống.

URL itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
Thuộc tính siêu dữ liệu chứa giá trị của URL tài liệu cho kết quả tìm kiếm.
Dấu thời gian đã tạo itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17

Thuộc tính siêu dữ liệu chứa giá trị của dấu thời gian tạo tài liệu.

Lần sửa cuối itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17

Thuộc tính siêu dữ liệu chứa giá trị của dấu thời gian sửa đổi gần đây nhất đối với tài liệu.

Ngôn ngữ của giấy tờ itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US

Ngôn ngữ nội dung cho tài liệu được lập chỉ mục.

Loại đối tượng giản đồ itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie

Loại đối tượng mà trình kết nối sử dụng, như xác định trong giản đồ. Trình kết nối sẽ không lập chỉ mục bất kỳ dữ liệu có cấu trúc nào nếu thuộc tính này không được chỉ định.

Định dạng ngày giờ

Định dạng ngày giờ chỉ định định dạng dự kiến trong các thuộc tính siêu dữ liệu. Nếu tệp cấu hình không chứa tham số này, giá trị mặc định sẽ được sử dụng. Bảng sau đây cho thấy thông số này.

Chế độ cài đặt Tham số
Định dạng ngày giờ bổ sung structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
Danh sách các mẫu java.time.format.DateTimeFormatter bổ sung được phân tách bằng dấu chấm phẩy. Các mẫu này được sử dụng khi phân tích cú pháp giá trị chuỗi cho bất kỳ trường ngày hoặc giờ nào trong siêu dữ liệu hoặc giản đồ. Giá trị mặc định là danh sách trống, nhưng các định dạng RFC 3339 và RFC 1123 luôn được hỗ trợ.

Định dạng cột

Định dạng cột chỉ định thông tin về(các) cột thuộc nội dung có thể tìm kiếm. Nếu tệp cấu hình không chứa các tham số này, thì giá trị mặc định sẽ được sử dụng. Bảng sau đây cho thấy các thông số này.

Xem xét Thông số
Bỏ qua tiêu đề csv.skipHeaderRecord=true

Boolean. Bỏ qua bản ghi tiêu đề (dòng đầu tiên) trong tệp CSV. Nếu bạn đã thiết lập csv.csvColumns và tệp CSV có hàng tiêu đề, thì bạn phải thiết lập skipHeaderRecord=true. Thao tác này sẽ ngăn việc lập chỉ mục hàng đầu tiên trong tệp dưới dạng dữ liệu. Nếu tệp CSV không có hàng tiêu đề, hãy đặt skipHeaderRecord=false. Giá trị mặc định là false.

Cột nhiều giá trị csv.multiValueColumns=genre,actors

Tên cột trong tệp CSV có nhiều giá trị. Giá trị mặc định là một chuỗi trống.

Dấu phân cách cho các cột có nhiều giá trị csv.multiValue.genre=;

Dấu phân cách cho các cột nhiều giá trị. Dấu phân cách mặc định là dấu phẩy.

Chất lượng tìm kiếm

Trình kết nối CSV của Cloud Search cho phép tự động định dạng HTML cho các trường dữ liệu. Trình kết nối của bạn xác định các trường dữ liệu khi bắt đầu thực thi trình kết nối, sau đó sử dụng mẫu nội dung để định dạng từng bản ghi dữ liệu trước khi tải bản ghi đó lên Cloud Search.

Mẫu nội dung xác định tầm quan trọng của từng giá trị trường đối với hoạt động tìm kiếm. Trường tiêu đề là trường bắt buộc và được xác định là trường có mức độ ưu tiên cao nhất. Bạn có thể chỉ định các mức độ quan trọng về chất lượng tìm kiếm cho tất cả các trường nội dung khác: cao, trung bình hoặc thấp. Bất kỳ trường nội dung nào không được xác định trong một danh mục cụ thể sẽ mặc định có mức độ ưu tiên thấp. Bảng sau đây cho thấy các thông số này.

Xem xét Thông số
Tiêu đề nội dung contentTemplate.csv.title=movieTitle

Tiêu đề nội dung là trường có chất lượng tìm kiếm cao nhất.

Chất lượng tìm kiếm cao cho các trường nội dung contentTemplate.csv.quality.high=actors

Các trường nội dung được cung cấp giá trị chất lượng tìm kiếm cao. Giá trị mặc định là một chuỗi trống.

Chất lượng tìm kiếm thấp đối với các trường nội dung contentTemplate.csv.quality.low=genre

Các trường nội dung được cung cấp giá trị có chất lượng tìm kiếm thấp. Giá trị mặc định là một chuỗi trống.

Chất lượng tìm kiếm trung bình cho các trường nội dung contentTemplate.csv.quality.medium=description

Các trường nội dung được cung cấp một giá trị có chất lượng tìm kiếm trung bình. Giá trị mặc định là một chuỗi trống.

Trường nội dung chưa được chỉ định contentTemplate.csv.unmappedColumnsMode=IGNORE

Cách trình kết nối xử lý các trường nội dung không xác định. Các giá trị hợp lệ là:

  • APPEND – thêm các trường nội dung không xác định vào mẫu
  • BỎ QUA – bỏ qua các trường nội dung không xác định

    Giá trị mặc định là APPEND..

8. Lên lịch truyền tải dữ liệu

Truyền tải là quy trình của trình kết nối để khám phá nội dung từ nguồn dữ liệu, trong trường hợp này là tệp CSV. Khi chạy, trình kết nối CSV sẽ truyền tải các hàng của tệp CSV và lập chỉ mục từng hàng cho Cloud Search thông qua API lập chỉ mục.

Truyền tải đầy đủ lập chỉ mục tất cả các cột trong tệp. Truyền tải gia tăng chỉ lập chỉ mục các cột được thêm hoặc sửa đổi từ lần truyền tải trước đó. Trình kết nối CSV chỉ thực hiện truyền tải đầy đủ. Phương thức này không thực hiện việc truyền tải dần dần.

Các tham số lên lịch xác định tần suất trình kết nối chờ giữa các lần truyền tải. Nếu tệp cấu hình không chứa các tham số lập lịch, thì giá trị mặc định sẽ được sử dụng. Bảng sau đây cho thấy các thông số này.

Xem xét Thông số
Truyền tải toàn bộ sau một khoảng thời gian schedule.traversalIntervalSecs=7200

Trình kết nối thực hiện truyền tải toàn bộ sau một khoảng thời gian được chỉ định. Chỉ định khoảng thời gian giữa các lần truyền tải tính bằng giây. Giá trị mặc định là 86400 (số giây trong một ngày).

Truyền tải đầy đủ khi khởi động trình kết nối schedule.performTraversalOnStart=false

Trình kết nối thực hiện truyền tải đầy đủ khi khởi động trình kết nối thay vì đợi khoảng thời gian đầu tiên hết hạn. Giá trị mặc định là true.

9. Chỉ định tuỳ chọn Danh sách kiểm soát truy cập (ACL)

Trình kết nối CSV của Google Cloud Search hỗ trợ các quyền thông qua các ACL để kiểm soát quyền truy cập vào nội dung của tệp CSV trong kết quả tìm kiếm. Có nhiều tuỳ chọn Danh sách kiểm soát quyền truy cập (ACL) để cho phép bạn bảo vệ quyền truy cập của người dùng vào các bản ghi được lập chỉ mục.

Nếu kho lưu trữ của bạn có thông tin ACL riêng lẻ được liên kết với mỗi tài liệu, hãy tải tất cả thông tin ACL lên để kiểm soát quyền truy cập vào tài liệu trong Cloud Search. Nếu kho lưu trữ của bạn cung cấp một phần hoặc không có thông tin ACL, thì bạn có thể cung cấp thông tin Danh sách kiểm soát quyền truy cập (ACL) mặc định trong các tham số sau đây mà SDK cung cấp cho trình kết nối.

Trình kết nối dựa vào các Danh sách kiểm soát quyền truy cập (ACL) mặc định được bật trong tệp cấu hình. Để bật ACL mặc định, hãy đặt defaultAcl.mode thành bất kỳ chế độ nào khác ngoài none và định cấu hình nó bằng defaultAcl.*

Xem xét Thông số
chế độ Danh sách kiểm soát quyền truy cập (ACL) defaultAcl.mode=dự phòng

Bắt buộc. Trình kết nối CSV dựa vào chức năng ACL mặc định. Trình kết nối chỉ hỗ trợ chế độ dự phòng.

Tên ACL mặc định defaultAcl.name=VIRTUAL_CONTAINER_FOR_CONNECTOR_1

Không bắt buộc. Cho phép ghi đè tên vùng chứa ảo mà trình kết nối sử dụng để thiết lập ACL mặc định. Giá trị mặc định là "DEFAULT_ACL_VIRTUAL_CONTAINER". Có thể bạn muốn ghi đè giá trị này nếu nhiều trình kết nối đang lập chỉ mục nội dung trong cùng một nguồn dữ liệu.

Danh sách kiểm soát quyền truy cập (ACL) công khai mặc định defaultAcl.public=true

Danh sách kiểm soát quyền truy cập (ACL) mặc định được sử dụng cho toàn bộ kho lưu trữ được đặt thành quyền truy cập thuộc phạm vi công cộng. Giá trị mặc định là false.

Trình đọc nhóm ACL phổ biến defaultAcl.readers.groups=google:group1, group2
Trình đọc ACL phổ biến defaultAcl.readers.users=user1, user2, google:user3
Trình đọc nhóm bị từ chối danh sách kiểm soát quyền truy cập (ACL) phổ biến defaultAcl.denied.groups=group3
Người đọc Acl thông thường bị từ chối defaultAcl.denied.users=user4, user5
Toàn bộ quyền truy cập của miền Để chỉ định mọi người dùng trong miền đều có thể truy cập công khai mọi bản ghi được lập chỉ mục, hãy đặt giá trị cho cả hai tuỳ chọn sau:
  • defaultAcl.mode=dự phòng
  • defaultAcl.public=true
Danh sách kiểm soát quyền truy cập (ACL) phổ biến được xác định Để chỉ định một ACL cho mỗi bản ghi của kho lưu trữ dữ liệu, hãy đặt tất cả các giá trị tham số sau:
  • defaultAcl.mode=dự phòng
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1, group2
  • defaultAcl.readers.users=user1, user2, google:user3
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    Mọi người dùng và nhóm được chỉ định được giả định là một người dùng/nhóm cục bộ do miền xác định, trừ phi "google:" (hằng số theo nghĩa đen).

    Nhóm hoặc người dùng mặc định là một chuỗi trống. Chỉ cung cấp tuỳ chọn cho người dùng và nhóm khi defaultAcl.public được đặt thành false. Để liệt kê nhiều nhóm và người dùng, hãy sử dụng danh sách được phân tách bằng dấu phẩy.

    Nếu defaultAcl.mode được đặt thành none, bản ghi sẽ không thể tìm kiếm được nếu không có các ACL riêng lẻ được xác định.

Định nghĩa giản đồ

Cloud Search cho phép lập chỉ mục và phân phát nội dung có cấu trúc và không có cấu trúc. Để hỗ trợ các truy vấn dữ liệu có cấu trúc trên dữ liệu của bạn, bạn cần thiết lập Schema cho nguồn dữ liệu của mình.

Sau khi được xác định, Trình kết nối CSV có thể tham chiếu giản đồ đã xác định để xây dựng các yêu cầu lập chỉ mục. Để có ví dụ minh hoạ, hãy xem xét tệp CSV có chứa thông tin về Phim.

Giả sử, tệp CSV nhập có nội dung như sau.

  1. movieId
  2. movieTitle
  3. description
  4. năm
  5. releaseDate
  6. diễn viên (nhiều giá trị được phân tách bằng dấu phẩy (,))
  7. thể loại (nhiều giá trị)
  8. xếp hạng

Dựa trên cấu trúc dữ liệu ở trên, bạn có thể xác định giản đồ cho nguồn dữ liệu mà bạn muốn lập chỉ mục dữ liệu từ tệp CSV.

{
  "objectDefinitions": [
    {
      "name": "movie",
      "propertyDefinitions": [
        {
          "name": "actors",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "textPropertyOptions": {
            "operatorOptions": {
              "operatorName": "actor"
            }
          }
        },
        {
          "name": "releaseDate",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "datePropertyOptions": {
            "operatorOptions": {
              "operatorName": "released",
              "lessThanOperatorName": "releasedbefore",
              "greaterThanOperatorName": "releasedafter"
            }
          }
        },
        {
          "name": "movieTitle",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": "HIGHEST"
            },
            "operatorOptions": {
              "operatorName": "title"
            }
          }
        },
        {
          "name": "genre",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "enumPropertyOptions": {
            "operatorOptions": {
              "operatorName": "genre"
            },
            "possibleValues": [
              {
                "stringValue": "Action"
              },
              {
                "stringValue": "Documentary"
              },
              {
                "stringValue": "Drama"
              },
              {
                "stringValue": "Crime"
              },
              {
                "stringValue": "Sci-fi"
              }
            ]
          }
        },
        {
          "name": "userRating",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": true,
          "integerPropertyOptions": {
            "orderedRanking": "ASCENDING",
            "maximumValue": "10",
            "operatorOptions": {
              "operatorName": "score",
              "lessThanOperatorName": "scorebelow",
              "greaterThanOperatorName": "scoreabove"
            }
          }
        }
      ]
    }
  ]
}

Tệp cấu hình mẫu

Tệp cấu hình mẫu sau đây cho thấy các cặp thông số key=value xác định hành vi của một trình kết nối mẫu.

# data source access
api.sourceId=1234567890abcd
api.serviceAccountPrivateKeyFile=./PrivateKey.json

# CSV data structure
csv.filePath=./movie_content.csv
csv.csvColumns=movieId,movieTitle,description,releaseYear,genre,actors,ratings,releaseDate
csv.skipHeaderRecord=true
url.format=https://mymoviesite.com/movies/{0}
url.columns=movieId
csv.datetimeFormat.releaseDate=yyyy-mm-dd
csv.multiValueColumns=genre,actors
csv.multiValue.genre=;
contentTemplate.csv.title=movieTitle

# metadata structured data and content
itemMetadata.title.field=movieTitle
itemMetadata.createTime.field=releaseDate
itemMetadata.contentLanguage.defaultValue=en-US
itemMetadata.objectType.defaultValue=movie
contentTemplate.csv.quality.medium=description
contentTemplate.csv.unmappedColumnsMode=IGNORE

#ACLs
defaultAcl.mode=fallback
defaultAcl.public=true

Để biết nội dung mô tả chi tiết về từng thông số, hãy xem tài liệu tham khảo về Tham số cấu hình.

Chạy trình kết nối CSV trên Cloud Search

Để chạy trình kết nối từ dòng lệnh, hãy nhập lệnh sau:

$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config

Theo mặc định, nhật ký trình kết nối có sẵn trên đầu ra chuẩn. Bạn có thể ghi nhật ký vào các tệp bằng cách chỉ định logging.properties.