Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Fulltext Boolean Mode tìm kiếm trả về quá nhiều kết quả

Để tăng cường sắp xếp các kết quả trong chế độ boolean, bạn có thể sử dụng các cách sau:

SELECT column_names, MATCH (text) AGAINST ('word1 word2 word3')
AS col1 FROM table1
WHERE MATCH (text) AGAINST ('+word1 +word2 +word3' in boolean mode) 
order by col1 desc;

Sử dụng đầu tiên MATCH() chúng tôi nhận được điểm ở chế độ tìm kiếm không boolean (đặc biệt hơn) . thứ hai MATCH() đảm bảo rằng chúng tôi thực sự chỉ nhận lại kết quả chúng tôi muốn (với cả 3 từ) .

Vì vậy, truy vấn của bạn sẽ trở thành:

SELECT *, MATCH (artist, title) AGAINST ('paul van dyk')
    AS score FROM tracks
    WHERE MATCH (artist, title) 
    AGAINST ('+paul +van +dyk' in boolean mode) 
    order by score desc;

Hy vọng rằng; bạn sẽ nhận được kết quả tốt hơn bây giờ.

Nếu nó hoạt động hoặc không hoạt động; vui lòng cho tôi biết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính toán MySQL Trung bình động?

  2. Cách tốt nhất để xóa các giá trị trùng lặp khỏi Bảng MySQL là gì?

  3. Lỗi MySQL chuỗi trống được cung cấp làm đối số cho! tính cách

  4. Cách bao gồm một biến PHP bên trong một câu lệnh MySQL

  5. Sprintf () bảo vệ chống lại SQL injection như thế nào?