Tính năng tìm kiếm toàn văn bản mới của InnoDB trong MySQL 5.6 giúp ích trong trường hợp này. Tôi sử dụng truy vấn sau:
SELECT MATCH(column) AGAINST('(word1* word2*) ("word1 word1")' IN BOOLEAN MODE) score, id, column
FROM table
having score>0
ORDER BY score
DESC limit 10;
ở đâu ( )
nhóm các từ vào một biểu thức con. Nhóm đầu tiên có like word%
Ý nghĩa; thứ hai tìm kiếm cụm từ chính xác. Điểm được trả về dưới dạng float.