Triển khai tính năng tự động hoàn thành

Tính năng tự động hoàn thành của Cloud Search hỗ trợ người dùng bằng cách đề xuất các từ khi người dùng nhập cụm từ tìm kiếm. Ví dụ: nội dung đề xuất có thể là các từ trong tiêu đề tài liệu, toán tử tìm kiếm, giá trị của toán tử tìm kiếm hoặc tên và địa chỉ email của tổ chức Google Workspace.

Tính năng tự động hoàn thành sẽ trích xuất các cụm từ từ tiêu đề của các tài liệu được lập chỉ mục và sử dụng mô hình n-gram để xác định các đề xuất sẽ phân phát bằng API Đề xuất. Theo mặc định, các cụm từ trong tiêu đề tài liệu sẽ xuất hiện trong tính năng tự động hoàn thành. Bạn cũng có thể đánh dấu các thuộc tính giản đồ kiểu văn bản và enum là is_suggestable để tự động hoàn thành tên và giá trị thuộc tính tương ứng.

API Đề xuất kiểm tra cụm từ tìm kiếm để tìm gợi ý về ngôn ngữ của cụm từ tìm kiếm (chẳng hạn như tiếng Anh hoặc tiếng Tây Ban Nha) và ưu tiên các kết quả tương ứng. Trường languageCode của yêu cầu cũng được dùng để cải thiện nội dung đề xuất theo ngôn ngữ cụ thể.

Tình huống ví dụ

Ví dụ: giả sử bạn có nguồn dữ liệu sau đây chứa dữ liệu về phim:

  • Nguồn dữ liệu này chứa 2 tài liệu.
  • Mỗi tài liệu có một tiêu đề (ItemMetadata.title) và 2 thuộc tính: genrecharacters.
  • Tài liệu đầu tiên có tiêu đề "Avengers Infinity War" với genre=science fictioncharacters=Iron Man, Hulk
  • Tài liệu thứ hai có tên là "Harry Potter", trong đó có genre=Adventure, Fantasy andký tự=Hermione, Harry Potter`

Hình 1 minh hoạ cách các đề xuất tự động hoàn thành được trích xuất từ tiêu đề tài liệu, thuộc tính và giá trị thuộc tính.

Hai tài liệu và ngram kết quả
Hình 1. Hai tài liệu và giá trị n-gram kết quả được dùng để tự động hoàn thành

Từ tài liệu 1, chúng tôi trích xuất các ngram (tối đa là đồ thị) “Avengers”, “Infinity”, “War”, “Avengers Infinity”, “Infinity War”, “Avengers Infinity War”. Tương tự như tài liệu 2, chúng tôi tạo “Harry”, “Potter”, “Harry Potter”.

Khi truy vấn nguồn dữ liệu này, giả sử người dùng bắt đầu bằng cách nhập "h". Các nội dung đề xuất hiển thị với người dùng sẽ là:

  • Harry
  • Hermione
  • Hulk
  • Harry Potter

Giả sử người dùng chọn đề xuất tự động hoàn thành "Hermione" và thao tác nhấn phím tiếp theo từ người dùng là ký tự "a". Các đề xuất tự động hoàn thành mà người dùng nhìn thấy sẽ là:

  • Phiêu lưu Hermione
  • Hành động của Hermione
  • Hermione Avengers

Tính năng tự động hoàn thành sẽ cố gắng hoàn tất từ cuối cùng (hoặc ngram) đang được nhập. Trong ví dụ trước, từ này chỉ mở rộng "a" thành "adventure", "action" và "avengers" vì không có văn bản nào bắt đầu bằng "hermione a" cùng nhau. Gợi ý này được gọi là đề xuất đuôi; chỉ tự động hoàn thành từ/n-gram cuối cùng đang được nhập.

Tính năng tự động hoàn thành của Cloud Search trả về tối đa 5 đề xuất từ nội dung tài liệu và các đề xuất của 2 người.

Theo mặc định, các cụm từ trong tiêu đề tài liệu sẽ xuất hiện trong tính năng tự động hoàn thành. Bạn phải đánh dấu rõ ràng các thuộc tính giản đồ là is_suggestable để API đề xuất tự động hoàn tất tên và giá trị thuộc tính tương ứng.

Tích hợp với Autocomplete API

Nếu bạn đang sử dụng ứng dụng tìm kiếm mặc định hoặc tiện ích tìm kiếm có thể nhúng, thì tính năng tự động hoàn thành của Cloud Search sẽ được hỗ trợ sẵn mà không cần thực hiện thêm thao tác nào. Hãy nhớ rằng, theo mặc định, các cụm từ trong tiêu đề tài liệu sẽ xuất hiện trong tính năng tự động hoàn thành. Bạn phải đánh dấu các thuộc tính giản đồ là is_suggestable một cách rõ ràng để API đề xuất tự động hoàn thành tên và giá trị thuộc tính tương ứng.

Nếu đang tạo một ứng dụng tìm kiếm tuỳ chỉnh, bạn có thể sử dụng tính năng tự động hoàn thành bằng cách truy vấn các điểm cuối API /query/suggest.

Các điểm hạn chế

Tính năng tự động hoàn thành có các giới hạn sau:

  • Chúng tôi không hỗ trợ việc hạn chế cụm từ tự động hoàn thành của Cloud Search bằng FilterOptions được xác định trong giản đồ, ngoại trừ các bộ lọc tích hợp sau đây: objectype, mimetype và bộ lọc loại.

  • Nội dung đề xuất dựa trên nhật ký truy vấn (những nội dung tìm kiếm do người dùng thực hiện trước đó trong ứng dụng tìm kiếm) không được hỗ trợ

  • Bạn có thể đánh dấu tối đa 20 cơ sở lưu trú là is_suggestable. Bạn có thể tăng hạn mức này bằng cách liên hệ với nhóm hỗ trợ Cloud Search.

  • Tính năng tự động hoàn thành toán tử tìm kiếm không dùng được cho những tài sản có exact_match_with_operator.

  • Tính năng tự động hoàn thành của Cloud Search trả về tối đa 5 đề xuất từ nội dung tài liệu và các đề xuất của 2 người.

  • Tính năng tự động hoàn thành của Cloud Search chỉ đề xuất các cụm từ trong những tài liệu mà người dùng có quyền truy cập.