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

Phát hiện người gửi thư rác bằng MySQL

Đối sánh toàn văn bản

Bạn có thể xem cách triển khai thứ gì đó tương tự như MATCH ví dụ tại đây :

mysql> SELECT id, body, MATCH (title,body) AGAINST
    -> ('Security implications of running MySQL as root') AS score
    -> FROM articles WHERE MATCH (title,body) AGAINST
    -> ('Security implications of running MySQL as root');
+----+-------------------------------------+-----------------+
| id | body                                | score           |
+----+-------------------------------------+-----------------+
|  4 | 1. Never run mysqld as root. 2. ... | 1.5219271183014 |
|  6 | When configured properly, MySQL ... | 1.3114095926285 |
+----+-------------------------------------+-----------------+
2 rows in set (0.00 sec)

Vì vậy, đối với ví dụ của bạn, có lẽ:

SELECT id, MATCH (content) AGAINST ('your string') AS score
FROM messages 
WHERE MATCH (content) AGAINST ('your string')
    AND score > 1;

Lưu ý rằng để sử dụng các chức năng này, content của bạn cột cần phải là FULLTEXT chỉ mục.

score là gì trong ví dụ này?

Nó là một relevance value . Nó được tính toán thông qua quy trình được mô tả bên dưới:

Từ tài liệu trang.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng khóa ngoại với PHP

  2. aws - ec2 - mysql - instance stop, reboot - password của người dùng khác đã thay đổi

  3. Gửi Email HTML kết quả trong Email hiển thị nguồn HTML (Lớp Email Codeigniter)

  4. Chèn vào cơ sở dữ liệu (mysql) bằng Ajax và PHP

  5. Sự kiện Cronjob hoặc MySQL?