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 (các 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 hướng dẫn cách 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 Google Cloud Search CSV 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 rõ các khái niệm trong tài liệu này, bạn nên nắm rõ kiến thức 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 tương thích 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 từ một 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 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 ứ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 Danh sách kiểm soát quyền truy cập (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áy tính chạy trình kết nối CSV của Google Cloud Search
  • Thông tin trên 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 của miền có thể cung cấp các 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 Google Cloud Search CSV, hãy làm theo các bước sau:

  1. Cài đặt phần mềm trình kết nối Google Cloud Search CSV
  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 cho chỉ mục, các cột khoá riêng biệt và cột ngày giờ
  6. Chỉ định cột để sử dụng trong URL 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ên lịch truyền tải dữ liệu
  9. Chỉ định 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 từ 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 cục bộ của bạn:

    $ 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 kiểm soát hành vi của trình kết nối CSV và các thuộc tính xác định thông số trong tệp cấu hình của trình kết nối. Các thông số có thể định cấu hình bao gồm:

  • Quyền truy cập vào một nguồn dữ liệu
  • Vị trí của tệp CSV
  • Định nghĩa về cột CSV
  • (Các) cột xác định một mã nhận dạng duy nhất
  • Tùy chọn truyền tải
  • Tuỳ chọn 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 có 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ác cặp key=value 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 là 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 bạn không cần 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 làm tên tệp mặc định trong thư mục cục bộ của bạn. Để 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. Thiết lập 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à các tham số cần thiết để truy cập vào nguồn dữ liệu 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 thiết để thiết lập nguồn dữ liệu được mô tả trong 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ợ tiếp cận 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 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 thông 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 đế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ấy từ lớp Apache Commons CSV CSVFormat.

Giá trị định dạng bao gồm: DEFAULT, EXCEL, INFORMIX_UNLOAD, INFORMIX_UNLOAD_CSV, MYSQL, RFC4180, ORACLE, POSTGRESQL_CSV, POSTGRESQL_TEXTTDF. Nếu không chỉ định, Cloud Search sẽ sử dụng DEFAULT.

Tuỳ chọn sửa đổi định dạng tệp csv.format.withMethod=value

Nội dung sửa đổi về cách Cloud Search xử lý tệp. Các phương thức có thể sử dụng là lớp Apache Commons CSV CSVFormat và bao gồm các phương thức nhận một ký tự đơn, 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 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 chưa 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 có thể 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 cần 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 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ì tệp 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à một 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ột chính 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 từng bản ghi. Nếu không được chỉ định, hàm băm của bản ghi CSV phải được sử dụng 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, Google Cloud Search sẽ phản hồi bằng cách hiển thị trang kết quả 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ố 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ó giá trị sẽ được dùng để tạo URL xem của bản ghi.

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

Không bắt buộc. Tên cột CSV 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 thông 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ặt hàng. 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 trình bà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ị 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ị của dấu thời gian sửa đổi gần đây nhất cho tài liệu.

Ngôn ngữ 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 đượ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 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 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 có 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 trình bà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 phân tách bằng dấu chấm phẩy gồm các mẫu java.time.format.DateTimeFormatter bổ sung. Các mẫu này được sử dụng khi phân tích cú pháp các giá trị chuỗi của 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à 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 cho biết 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, giá trị mặc định sẽ được sử dụng. Bảng sau đây trình bà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 đã đặ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 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 nhiều giá trị csv.multiValue.genre=;

Dấu phân cách 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 định dạng HTML tự động 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 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à có mức độ ưu tiên cao nhất. Bạn có thể chỉ định các mức quan trọng của 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 trình bà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 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ó giá trị chất lượng tìm kiếm cao. Giá trị mặc định là một chuỗi trống.

Các trường nội dung có chất lượng tìm kiếm thấp contentTemplate.csv.quality.low=genre

Các trường nội dung có 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 cung cấp giá trị 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 – nối các trường nội dung chưa xác định vào mẫu
  • BỎ QUA – bỏ qua các trường nội dung chưa 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à quá 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 với 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 tăng dần chỉ lập chỉ mục những cột được thêm hoặc sửa đổi kể 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 đủ. Tính năng này không thực hiện quá trình truyền tải gia tăng.

Các tham số lập 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 thông số lập lịch, thì giá trị mặc định sẽ được sử dụng. Bảng sau đây trình bà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 đầy đủ 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 toàn bộ khi khởi động trình kết nối schedule.performTraversalOnStart=false

Trình kết nối thực hiện toàn bộ quá trình truyền tải 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 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 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 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 đã lập chỉ mục.

Nếu kho lưu trữ của bạn có thông tin ACL riêng đượ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 một phần hoặc không cung cấp thông tin ACL mặc định, 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 trên các ACL mặc định đang đượ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ế độ đó với defaultAcl.*

Xem xét Thông số
Chế độ 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". Bạn nê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 dùng cho toàn bộ kho lưu trữ được đặt thành quyền truy cập trong miền 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 phổ biến của Danh sách kiểm soát quyền truy cập (ACL) defaultAcl.denied.groups=group3
Độc giả phổ biến bị từ chối Acl defaultAcl.denied.users=user4, user5
Toàn bộ quyền truy cập miền Để chỉ định rằng mọi bản ghi đã lập chỉ mục đều có thể truy cập công khai bởi mọi người dùng trong miền, hãy đặt cả hai tuỳ chọn sau đây kèm theo giá trị:
  • defaultAcl.mode=dự phòng
  • defaultAcl.public=true
Danh sách kiểm soát quyền truy cập (ACL) được xác định phổ biến Để chỉ định một ACL cho mỗi bản ghi 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à người dùng/nhóm được xác định theo miền cục bộ, trừ phi có tiền tố là "google:" (hằng số theo chữ).

    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 cho 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 bạn đặt defaultAcl.mode thành none, thì hệ thống sẽ không thể tìm kiếm các bản ghi nếu không có các ACL riêng lẻ đã 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 Giản đồ 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 để tạo yêu cầu lập chỉ mục. Để có ví dụ minh hoạ, hãy xem xé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. 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ặp tham số key=value giúp 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 của 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ó trên đầu ra chuẩn. Bạn có thể đăng nhập vào tệp bằng cách chỉ định logging.properties.