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.

Hướng dẫn này bao gồm các chỉ dẫn để thực hiện các tác vụ 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 của 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 khái niệm trong tài liệu này, bạn cần nắm rõ những kiến thức cơ bản về Google Workspace, tệp CSV và Danh sách kiểm soát 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 chứa 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 trong 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 trong tệp CSV và lập chỉ mục các 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 các hàng riêng lẻ trong tệp CSV thông qua các ứng dụng Cloud Search hoặc Query API 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 rằng 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áy tính chạy trình kết nối CSV của Google Cloud Search
  • Thông tin về Google Workspace cần thiết để 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 cho miền có thể cung cấp 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. Định cấu hình quyền truy cập vào nguồn dữ liệu 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 khoá riêng biệt và các cột ngày giờ
  6. Chỉ định các cột để sử dụng trong URL của kết quả tìm kiếm có thể nhấp
  7. Chỉ định thông tin siêu dữ liệu, định dạng cột
  8. Lập lịch truyền tải dữ liệu
  9. Chỉ định các lựa chọn trong 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. Kiểm tra phiên bản SDK mong muốn:

    $ git checkout tags/v1-0.0.3
  3. Tạo 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 cục bộ:

    $ 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à các thuộc tính của trình kết nối CSV để 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
  • Các lựa chọn di chuyển
  • Các lựa chọn ACL để hạn chế quyền truy cập vào 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 có liên quan, trước tiên, bạn phải tạo tệp cấu hình cho tệp đó.

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ác 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.
    Google đề xuất bạ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 để 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 không cần vị trí tệp tiêu 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 dạng 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ộ 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 của 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 Cloud Search, như 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 thiết để thiết lập một nguồn dữ liệu được mô tả trong phần Quản lý nguồn dữ liệu của bên thứ ba

Cài đặ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, như mô tả trong bài viết Quản lý nguồn dữ liệu 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 để có thể truy cập vào trình kết nối CSV của Google Cloud Search.

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 của Google Cloud Search do quản trị viên Google Workspace thiết lập.

4. Định cấu hình các tham số của tệp CSV

Trước khi trình kết nối có thể duyệt qua một 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à loại mã hoá tệp. Thêm các tham số sau để chỉ định thuộc tính của tệp CSV trong tệp cấu hình.

Cài đặt Thông số
Đường dẫn đến tệp CSV csv.filePath=./movie_content.csv

Bắt buộc. Đường dẫn đến tệp CSV cần 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à từ lớp CSVFormat của Apache Commons CSV.

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 không chỉ định, Cloud Search sẽ sử dụng DEFAULT.

Giá trị bổ sung định dạng tệp csv.format.withMethod=value

Thay đổi cách Cloud Search xử lý tệp. Các phương thức có thể có là từ lớp CSVFormat của Apache Commons CSV và bao gồm những phương thức lấy một ký tự, chuỗi hoặc giá trị boolean.

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 các dòng trống, hãy dùng csv.format.withIgnoreEmptyLines=true.

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

Bộ ký tự Java cần 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 khoá duy nhất

Để trình kết nối truy cập và lập chỉ mục cá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ì các giá trị mặc định sẽ được sử dụng.

Cài đặt Thông số
Các cột cần lập chỉ mục csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...

Tên cột cần được lập chỉ mục trong tệp CSV. Nếu bạn không đặt csv.csvColumns, thì 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ì giá trị 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 đề của tệp.

Cột khoá riêng biệt csv.uniqueKeyColumns=movieId

(Các) cột CSV có giá trị sẽ được dùng để tạo mã nhận dạng riêng biệt của từng bản ghi. Nếu không chỉ định, bạn nên 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ác 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, 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 cho từng kết quả. Để bật tính năng này, bạn phải thêm tham số trong bảng sau vào tệp cấu hình.

Cài đặ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 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ó giá trị sẽ được dùng để tạo URL xem của bản ghi.

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

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

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

Metadata Configuration Parameters (Tham số cấu hình siêu dữ liệu) mô tả các cột CSV dùng để điền sẵn siêu dữ liệu của mục. Nếu tệp cấu hình không chứa các tham số này, thì các giá trị mặc định sẽ được sử dụng. Bảng sau đây cho thấy các tham 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ị cho URL của tài liệu trong 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ị cho 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ị cho dấu thời gian sửa đổi gần đây nhất của tài liệu.

Ngôn ngữ của tài liệu itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US

Ngôn ngữ nội dung của các tài liệu đang đượ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ư được xác định trong schema. 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 bạn không chỉ định thuộc tính này.

Định dạng ngày giờ

Định dạng ngày giờ chỉ định các định dạng dự kiến trong 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, thì các giá trị mặc định sẽ được sử dụng. Bảng sau đây cho thấy tham số này.

Chế độ cài đặt Tham số
Các định dạng ngày giờ khác 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 dùng khi phân tích cú pháp các giá trị chuỗi cho mọi trường ngày hoặc ngày giờ trong siêu dữ liệu hoặc giản đồ. Giá trị mặc định là một 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 phải là một phần của 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ì các giá trị mặc định sẽ được sử dụng. Bảng sau đây cho thấy các tham số này.

Cài đặ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 đã đặt csv.csvColumns và tệp CSV có hàng tiêu đề, thì bạn phải đặt skipHeaderRecord=true. Điều này 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 có 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ột có nhiều giá trị csv.multiValue.genre=;

Dấu phân cách cho các cột có 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ột 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 để 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 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. Mọi trường nội dung 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 tham số này.

Cài đặ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 chỉ định 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 cho các trường nội dung contentTemplate.csv.quality.low=genre

Các trường nội dung được chỉ định giá trị 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 chỉ định giá trị chất lượng tìm kiếm ở mức trung bình. Giá trị mặc định là một chuỗi trống.

Các trường nội dung không đượ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
  • IGNORE – bỏ qua các trường nội dung không được chỉ định

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

8. Lập lịch duyệt qua dữ liệu

Truy cập 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à một tệp CSV. Khi trình kết nối CSV chạy, trình kết nối này sẽ duyệt qua các hàng của một tệp CSV và lập chỉ mục từng hàng vào Cloud Search thông qua API lập chỉ mục.

Thao tác duyệt qua toàn bộ sẽ lập chỉ mục tất cả các cột trong tệp. Thao tác duyệt qua gia tăng chỉ lập chỉ mục các cột được thêm hoặc sửa đổi kể từ lần duyệt qua trước đó. Trình kết nối CSV chỉ thực hiện các lượt duyệt qua toàn bộ. Thao tác này không thực hiện các lượt duyệt qua tăng dần.

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

Cài đặt Thông số
Truy cập đầy đủ sau một khoảng thời gian schedule.traversalIntervalSecs=7200

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

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

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

9. Chỉ định các lựa chọn Danh sách kiểm soát quyền 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 danh sách kiểm soát truy cập (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 lựa chọn ACL để giú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 từng 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 thông tin ACL một phần hoặc không có thông tin ACL, bạn có thể cung cấp thông tin ACL mặc định trong các tham số sau mà SDK cung cấp cho trình kết nối.

Trình kết nối dựa vào việc 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 chế độ đó bằng defaultAcl.*

Cài đặt Thông số
Chế độ ACL defaultAcl.mode=fallback

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 dùng để thiết lập ACL mặc định. Giá trị mặc định là "DEFAULT_ACL_VIRTUAL_CONTAINER". Bạn có thể 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.

ACL công khai mặc định defaultAcl.public=true

ACL mặc định được dùng cho toàn bộ kho lưu trữ được đặt thành quyền truy cập vào miền công cộng. Giá trị mặc định là false.

Nhóm người đọc ACL phổ biến defaultAcl.readers.groups=google:group1, group2
Người đọc ACL phổ biến defaultAcl.readers.users=user1, user2, google:user3
Nhóm người đọc thường bị ACL từ chối defaultAcl.denied.groups=group3
Common Acl denied readers defaultAcl.denied.users=user4, user5
Quyền truy cập vào toàn bộ miền Để chỉ định rằng mọi bản ghi được lập chỉ mục đều có thể truy cập công khai đối với mọi người dùng trong miền, hãy đặt cả hai lựa chọn sau đây bằng các giá trị:
  • defaultAcl.mode=fallback
  • defaultAcl.public=true
ACL được xác định chung Để 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=fallback
  • 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 đều được giả định là người dùng/nhóm do miền cục bộ xác định, trừ phi có tiền tố "google:" (hằng số theo nghĩa đen).

    Người dùng hoặc nhóm mặc định là một chuỗi trống. Chỉ cung cấp các lựa chọn về người dùng và nhóm nếu bạn đặt defaultAcl.public 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, thì các bản ghi sẽ không thể tìm kiếm được nếu không 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 mình, bạn cần thiết lập Lược đồ cho nguồn dữ liệu.

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

Giả sử tệp CSV đầu vào có nội dung sau.

  1. movieId
  2. movieTitle
  3. mô tả
  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 một 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 ví dụ sau đây cho thấy các cặp tham 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 tham 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 của Cloud Search

Để chạy trình kết nối qua 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.