Bài 1: Giới thiệu series bài viết full-text search

Giới thiệu về Tìm kiếm toàn văn bản của MySQL

Tóm tắt : trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn về tìm kiếm toàn văn bản của MySQL và các tính năng của nó.

MySQL hỗ trợ tìm kiếm văn bản bằng cách sử dụng toán tử THÍCHbiểu thức chính quy . Tuy nhiên, khi cột văn bản lớn và số lượng hàng trong bảng được tăng lên, sử dụng các phương thức này có một số hạn chế:

  • Hiệu suất: MySQL phải quét toàn bộ bảng để tìm văn bản chính xác dựa trên một mẫu trong LIKE câu lệnh hoặc mẫu trong các biểu thức thông thường.

  • Tìm kiếm linh hoạt: với LIKEtoán tử và tìm kiếm biểu thức chính quy, thật khó để có một truy vấn tìm kiếm linh hoạt, ví dụ: để tìm sản phẩm có mô tả chứa car nhưng không classic.

  • Xếp hạng mức độ liên quan: không có cách nào để chỉ định hàng nào trong tập kết quả phù hợp hơn với cụm từ tìm kiếm.

Do những hạn chế này, MySQL đã mở rộng một tính năng rất hay được gọi là tìm kiếm toàn văn. Về mặt kỹ thuật, MySQL tạo một chỉ mục từ các từ của các cột tìm kiếm toàn văn bản được kích hoạt và thực hiện tìm kiếm trên chỉ mục này. MySQL sử dụng một thuật toán tinh vi để xác định các hàng khớp với truy vấn tìm kiếm.

Sau đây là một số tính năng quan trọng của tìm kiếm toàn văn bản MySQL:

  • Giao diện giống như SQL gốc: bạn sử dụng câu lệnh giống như SQL để sử dụng tìm kiếm toàn văn.

  • Chỉ mục hoàn toàn động: MySQL tự động cập nhật chỉ mục của cột văn bản bất cứ khi nào dữ liệu của cột đó thay đổi.

  • Kích thước chỉ mục vừa phải: không mất nhiều bộ nhớ để lưu trữ chỉ mục.

  • Cuối cùng nhưng không kém phần quan trọng, thật nhanh chóng để tìm kiếm dựa trên các truy vấn tìm kiếm phức tạp.

Lưu ý rằng không phải tất cả các công cụ lưu trữ đều hỗ trợ tính năng tìm kiếm toàn văn. Trong phiên bản MySQL 5.6 trở lên, chỉ có các công cụ lưu trữ MyISAM và InnoDB hỗ trợ tìm kiếm toàn văn.

Xác định chỉ mục FULLTEXT cho Tìm kiếm toàn văn bản của MySQL

Last updated