Foundational guides remain in Vietnamese. Reviewed news is available in Vietnamese, Thai, English and Chinese.

A foundational launch article, not breaking news. The publication date was corrected to the actual initial creation time.

Practice

Tìm kiếm tiếng Việt: dấu thanh không nên trở thành rào cản

Một lớp chuẩn hóa nhỏ giúp “du lieu” tìm thấy “dữ liệu”, nhưng bạn vẫn cần giữ nguyên văn bản gốc để hiển thị.

Lines of code on a computer screen
Illustration: Ilya Pavlov / Unsplash
THE ESSENTIALS IN 30 SECONDS

Một lớp chuẩn hóa nhỏ giúp “du lieu” tìm thấy “dữ liệu”, nhưng bạn vẫn cần giữ nguyên văn bản gốc để hiển thị.

Kết quả bạn sẽ có

Một hàm chuẩn hóa dùng cùng ở lúc lập chỉ mục và lúc tìm kiếm. Người dùng nhập “du lieu” vẫn tìm được bài có tiêu đề “Dữ liệu”. Văn bản có dấu vẫn được giữ để hiển thị.

Điều kiện: biết JavaScript cơ bản. Không cần API trả phí. Phần này không triển khai xếp hạng ngữ nghĩa hay sửa lỗi chính tả.

Bước 1 — Tách dữ liệu hiển thị và dữ liệu tìm kiếm

Lưu title gốc và searchText đã chuẩn hóa. Đừng thay trực tiếp chữ có dấu trong nội dung bài viết. Unicode normalization giúp đưa những chuỗi có biểu diễn khác nhau về dạng dễ xử lý hơn.

Bước 2 — Chuẩn hóa nhất quán

export function fold(text) {
  return text.normalize('NFD')
    .replace(/[\u0300-\u036f]/g, '')
    .replace(/đ/g, 'd')
    .replace(/Đ/g, 'D')
    .toLowerCase();
}

Chữ đ cần xử lý riêng vì phép phân rã dấu không tự chuyển nó thành d. Đây là một hàm thực dụng cho văn bản tiếng Việt phổ biến; không phải bộ chuẩn hóa cho mọi hệ chữ.

Bước 3 — Tìm trước, phân trang sau

Tạo điều kiện tìm kiếm ở cơ sở dữ liệu trên toàn bộ tập bài đã xuất bản. Sau đó mới phân trang kết quả. Lọc mảng bài đang hiển thị trong trình duyệt sẽ làm người dùng bỏ lỡ bài nằm ở các trang khác.

Với nhiều từ khóa, xác định rõ bạn muốn tất cả từ đều xuất hiện hay chỉ cần một từ. Trong Mở Máy, truy vấn nhiều từ yêu cầu từng từ xuất hiện trong chỉ mục nội dung.

Bước 4 — Kiểm thử các biên

Thử “độ trễ”, “DO TRE”, “du lieu”, chuỗi chỉ có khoảng trắng và cụm từ kỹ thuật như “API”. Kiểm tra bài nháp không xuất hiện. Khi bài đổi tiêu đề hoặc nội dung, chỉ mục phải được cập nhật.

Khi cần nâng cấp

Nếu tập dữ liệu lớn, cần typo tolerance, xếp hạng hay từ đồng nghĩa, hãy đánh giá một search engine chuyên dụng. Giữ bộ kiểm thử tiếng Việt để so sánh trước và sau thay đổi. Không dùng tìm kiếm ngữ nghĩa để bỏ qua yêu cầu về quyền truy cập.

Practice checklist

0/4 completed · Sign in to save progress

Resources to get started

Hàm chuẩn hóa và bộ ca kiểm thử
vietnamese-search.mjs

Sources & verification

1. Unicode — Normalization Forms ↗Bài biên soạn cho phiên bản đầu tiên. Tài liệu tải xuống là mẫu minh họa; không phải benchmark hay kết quả thử nghiệm độc lập.
Content updated: 30 Oct 2026.
Something to correct? Send feedback to the editors.

Ask about this article

AI answers use this article and its sources. Errors are possible; check the sources.

Sign in to ask ↗

Keep exploring

View all