MySQL hỗ trợ tìm kiếm toàn văn bản (full-text search) thông qua MATCH() ... AGAINST(). Yêu cầu cột phải có chỉ mục FULLTEXT.
Ví dụ minh họa
Tạo bảng và thêm chỉ mục FULLTEXT:
mysql> CREATE TABLE DemoTable1833 (Name VARCHAR(20)); mysql> ALTER TABLE DemoTable1833 ADD FULLTEXT(Name);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable1833 VALUES('John Doe'),('Adam Smith'),('Chris Brown'),('John Smith');
Tìm kiếm cụm từ "John Smith" (chế độ boolean với + bắt buộc có từ):
mysql> SELECT * FROM DemoTable1833 WHERE MATCH(Name) AGAINST('+John +Smith' IN BOOLEAN MODE);
Kết quả:
+------------+ | Name | +------------+ | John Smith | | John Doe | | Adam Smith | +------------+
Giải thích: Dấu + yêu cầu từ phải xuất hiện. Kết quả bao gồm các hàng chứa "John" HOẶC "Smith". Để khớp chính xác cụm từ, dùng AGAINST('"John Smith"' IN BOOLEAN MODE).