Autocomplete API
Lấy gợi ý autocomplete cho tiêu đề anime và manga khi người dùng gõ.
Endpoints
Lấy gợi ý Autocomplete
GET /api/v1/autocomplete
Kiểm tra trạng thái Autocomplete
GET /api/v1/autocomplete/status
Lấy gợi ý Autocomplete
Trả về danh sách tiêu đề media khớp với tiền tố truy vấn tìm kiếm.
Tham số
| Tham số | Kiểu | Bắt buộc | Mô tả | Ràng buộc |
|---|---|---|---|---|
q | string | Có | Tiền tố truy vấn tìm kiếm | Tối thiểu 1 ký tự |
mediaType | string | Không | Lọc theo loại media | ANIME hoặc MANGA |
locale | string | Không | Mã ngôn ngữ cho tìm kiếm tiêu đề | ví dụ: en, ja, vi |
limit | integer | Không | Số lượng gợi ý | 1-10 (mặc định: 5) |
Ví dụ Request
GET /api/v1/autocomplete?q=attack&mediaType=ANIME&limit=5
GET /api/v1/autocomplete?q=shingeki&locale=ja
Response thành công (200 OK)
{
"success": true,
"query": "attack",
"suggestions": [
{
"id": 16498,
"title": "Attack on Titan",
"mediaType": "ANIME"
},
{
"id": 11061,
"title": "Hunter x Hunter (2011)",
"mediaType": "ANIME"
}
]
}
Response lỗi (400 Bad Request)
{
"success": false,
"message": "Query parameter 'q' is required and must not be empty",
"code": "MISSING_PARAMETER"
}
Các trường Response
| Trường | Kiểu | Mô tả |
|---|---|---|
success | boolean | Trạng thái thành công của request |
query | string | Truy vấn tìm kiếm đã sử dụng |
suggestions | array | Danh sách gợi ý autocomplete |
Đối tượng Suggestion
| Trường | Kiểu | Mô tả |
|---|---|---|
id | integer | ID media |
title | string | Tiêu đề media (theo ngôn ngữ được yêu cầu nếu có) |
mediaType | string | ANIME hoặc MANGA |
Kiểm tra trạng thái Autocomplete
Kiểm tra xem Meilisearch có sẵn cho chức năng autocomplete không.
Tham số
Không có
Ví dụ Request
GET /api/v1/autocomplete/status
Response thành công (200 OK)
{
"success": true,
"meilisearchEnabled": true,
"fallbackEnabled": true
}
Các trường Response
| Trường | Kiểu | Mô tả |
|---|---|---|
success | boolean | Trạng thái thành công của request |
meilisearchEnabled | boolean | Meilisearch có sẵn hay không |
fallbackEnabled | boolean | Tìm kiếm dự phòng có sẵn hay không |
Lưu ý
- Autocomplete yêu cầu ít nhất 1 ký tự trong truy vấn
- Kết quả được sắp xếp theo độ liên quan
- Nếu Meilisearch không khả dụng, API sẽ chuyển sang tìm kiếm database
- Tham số
localeảnh hưởng đến tiêu đề nào được trả về trong gợi ý - Tối đa 10 gợi ý có thể được trả về mỗi request
Trường hợp sử dụng
- Hộp tìm kiếm Autocomplete: Hiển thị gợi ý khi người dùng gõ trong hộp tìm kiếm
- Tra cứu nhanh: Tìm media bằng khớp tiêu đề một phần
- Ứng dụng di động: Cung cấp autocomplete nhanh cho giao diện di động