Giao diện
@digiforce-nc/plugin-multi-keyword-filter
Plugin bộ lọc nhiều từ khóa — cho phép tìm kiếm và lọc dữ liệu bằng nhiều từ khóa cùng lúc, hỗ trợ AND/OR logic.
Plugin này làm gì?
Bộ lọc mặc định chỉ tìm một từ khóa. Khi cần tìm record chứa nhiều từ khóa đồng thời (VD: "iPhone" AND "128GB" AND "đỏ") hoặc một trong nhiều (VD: "Hà Nội" OR "HCM"), plugin mở rộng filter với multi-keyword support.
Cơ chế hoạt động
Tính năng chính
| # | Tính năng | Mô tả |
|---|---|---|
| 1 | Multi-keyword | Nhập nhiều từ khóa (phân cách bằng dấu phẩy hoặc xuống dòng) |
| 2 | AND/OR toggle | Chuyển đổi giữa logic AND (tất cả) và OR (một trong) |
| 3 | Multi-field | Tìm kiếm trên nhiều field cùng lúc |
| 4 | Tag input | Giao diện nhập dạng tag (chip) |
| 5 | Exact match | Tùy chọn tìm chính xác hoặc LIKE |
| 6 | Save preset | Lưu bộ lọc hay dùng |
Cấu hình
| Tham số | Mặc định | Mô tả |
|---|---|---|
separator | , | Ký tự phân cách từ khóa |
defaultLogic | or | Logic mặc định (and/or) |
maxKeywords | 20 | Số từ khóa tối đa |
searchFields | ['title'] | Fields tìm kiếm mặc định |
matchType | contains | Kiểu match (contains, exact, startsWith) |
Thành phần client
| Thành phần | Mô tả |
|---|---|
MultiKeywordInput | Input nhập nhiều từ khóa dạng tag |
LogicToggle | Toggle AND/OR |
FieldSelector | Chọn fields tìm kiếm |
FilterPreset | Lưu/load bộ lọc preset |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/server | Server framework — filter extension |
@digiforce-nc/client | Client UI framework |
@digiforce-nc/database | Database ORM — query builder |
Lưu ý triển khai
- Nhiều keyword + LIKE query trên bảng lớn có thể chậm — cần index full-text
- Nên giới hạn maxKeywords để tránh query quá nặng