Tiện ích tìm kiếm cung cấp một giao diện tìm kiếm có thể tuỳ chỉnh cho các ứng dụng web. Tiện ích này yêu cầu tối thiểu HTML và JavaScript để triển khai, đồng thời hỗ trợ các tính năng phổ biến như khía cạnh và phân trang. Bạn cũng có thể tuỳ chỉnh giao diện bằng CSS và JavaScript.
Nếu bạn cần linh hoạt hơn, hãy sử dụng Query API. Xem bài viết Tạo giao diện tìm kiếm bằng Query API.
Tạo giao diện tìm kiếm
Để tạo giao diện tìm kiếm, bạn cần thực hiện các bước sau:
- Định cấu hình ứng dụng tìm kiếm.
- Tạo mã ứng dụng cho ứng dụng.
- Thêm ngôn ngữ đánh dấu HTML cho hộp tìm kiếm và kết quả.
- Tải tiện ích trên trang.
- Khởi chạy tiện ích.
Định cấu hình ứng dụng tìm kiếm
Mỗi giao diện tìm kiếm đều yêu cầu một ứng dụng tìm kiếm được xác định trong Bảng điều khiển dành cho quản trị viên. Ứng dụng này cung cấp các chế độ cài đặt truy vấn, chẳng hạn như nguồn dữ liệu, khía cạnh và các tham số chất lượng tìm kiếm.
Để tạo ứng dụng tìm kiếm, hãy xem bài viết Tạo trải nghiệm tìm kiếm tuỳ chỉnh.
Tạo mã ứng dụng cho ứng dụng
Ngoài các bước trong phần Định cấu hình quyền truy cập vào Cloud Search API, hãy tạo mã ứng dụng cho ứng dụng web của bạn.
Khi định cấu hình dự án:
- Chọn loại ứng dụng Trình duyệt web.
- Cung cấp URI gốc của ứng dụng.
- Ghi lại mã ứng dụng. Tiện ích này không yêu cầu mật khẩu ứng dụng.
Để biết thêm thông tin, hãy xem bài viết OAuth 2.0 cho ứng dụng web phía máy khách.
Thêm ngôn ngữ đánh dấu HTML
Tiện ích này yêu cầu các phần tử HTML sau:
- Phần tử
inputcho hộp tìm kiếm. - Phần tử để neo hộp thoại đề xuất.
- Phần tử cho kết quả tìm kiếm.
- (Không bắt buộc) Phần tử cho các nút điều khiển khía cạnh.
Đoạn mã này cho thấy các phần tử được xác định bằng thuộc tính id:
Tải tiện ích
Bao gồm trình tải bằng thẻ <script>:
Cung cấp lệnh gọi lại onload. Khi trình tải đã sẵn sàng, hãy gọi
gapi.load()
để tải ứng dụng API, tính năng Đăng nhập bằng Google và các mô-đun Cloud Search.
Khởi chạy tiện ích
Khởi chạy thư viện ứng dụng bằng gapi.client.init() hoặc gapi.auth2.init() bằng mã ứng dụng và phạm vi https://www.googleapis.com/auth/cloud_search.query. Sử dụng các lớp trình tạo để định cấu hình và liên kết tiện ích.
Ví dụ về quá trình khởi chạy:
Biến cấu hình:
Tuỳ chỉnh trải nghiệm đăng nhập
Tiện ích này nhắc người dùng đăng nhập khi họ bắt đầu nhập. Bạn có thể sử dụng tính năng Đăng nhập bằng Google cho trang web để có trải nghiệm phù hợp.
Trực tiếp cấp quyền cho người dùng
Sử dụng tính năng Đăng nhập bằng Google để theo dõi và quản lý trạng thái đăng nhập.
Ví dụ này sử dụng GoogleAuth.signIn() khi nhấp vào nút:
Tự động đăng nhập người dùng
Cấp quyền trước cho ứng dụng đối với người dùng trong tổ chức của bạn để đơn giản hoá quá trình đăng nhập. Tính năng này cũng hữu ích với Cloud Identity Aware Proxy. Xem bài viết Sử dụng tính năng Đăng nhập bằng Google với các ứng dụng CNTT Apps.
Tuỳ chỉnh giao diện
Bạn có thể thay đổi giao diện của tiện ích bằng cách:
- Ghi đè kiểu bằng CSS.
- Trang trí các phần tử bằng bộ chuyển đổi.
- Tạo các phần tử tuỳ chỉnh bằng bộ chuyển đổi.
Ghi đè kiểu bằng CSS
Tiện ích này bao gồm CSS riêng. Để ghi đè, hãy sử dụng bộ chọn phần tử mẹ để tăng tính cụ thể:
#suggestions_anchor .cloudsearch_suggestion_container {
font-size: 14px;
}
Xem tài liệu tham khảo về các lớp CSS được hỗ trợ.
Trang trí các phần tử bằng bộ chuyển đổi
Tạo và đăng ký bộ chuyển đổi để sửa đổi các phần tử trước khi kết xuất. Ví dụ này thêm một lớp CSS tuỳ chỉnh:
Đăng ký bộ chuyển đổi trong quá trình khởi chạy:
Tạo các phần tử tuỳ chỉnh bằng bộ chuyển đổi
Triển khai createSuggestionElement, createFacetResultElement hoặc createSearchResultElement để tạo các thành phần giao diện người dùng tuỳ chỉnh. Ví dụ này sử dụng
HTML <template> thẻ:
Đăng ký bộ chuyển đổi:
Các phần tử khía cạnh tuỳ chỉnh phải tuân theo các quy tắc sau:
- Đính kèm
cloudsearch_facet_bucket_clickablevào các phần tử có thể nhấp. - Bọc từng nhóm trong một
cloudsearch_facet_bucket_container. - Duy trì thứ tự nhóm từ phản hồi.
Ví dụ: đoạn mã sau đây kết xuất các khía cạnh bằng cách sử dụng đường liên kết thay vì hộp kiểm.
Tuỳ chỉnh hành vi tìm kiếm
Ghi đè chế độ cài đặt ứng dụng tìm kiếm bằng cách chặn các yêu cầu bằng bộ chuyển đổi.
Triển khai interceptSearchRequest để sửa đổi các yêu cầu trước khi thực thi. Ví dụ này giới hạn các truy vấn đối với một nguồn đã chọn:
Đăng ký bộ chuyển đổi:
HTML sau đây được dùng để hiển thị hộp chọn để lọc theo nguồn:
Mã sau đây theo dõi sự thay đổi, đặt lựa chọn và thực thi lại truy vấn nếu cần.
Bạn cũng có thể chặn phản hồi tìm kiếm bằng cách triển khai
interceptSearchResponse
trong bộ chuyển đổi.
Ghim phiên bản
- Phiên bản API: Đặt
cloudsearch.config/apiVersiontrước khi khởi chạy. - Phiên bản tiện ích: Sử dụng
gapi.config.update('cloudsearch.config/clientVersion', 1.1).
Cả hai đều mặc định là 1.0 nếu không được đặt.
Ví dụ: để ghim tiện ích vào phiên bản 1.1:
Bảo mật giao diện tìm kiếm
Làm theo các phương pháp hay nhất về bảo mật cho ứng dụng web, đặc biệt là để ngăn chặn hành vi tấn công bằng cách nhấp chuột.
Bật tính năng gỡ lỗi
Sử dụng
interceptSearchRequest
để bật tính năng gỡ lỗi:
if (!request.requestOptions) {
request.requestOptions = {};
}
request.requestOptions.debugOptions = {enableDebugging: true};
return request;