Mysql
 sql >> Base de données >  >> RDS >> Mysql

Détecter les spammeurs avec MySQL

Correspondance du texte intégral

Vous pourriez envisager d'implémenter quelque chose de similaire au MATCH exemple ici :

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)

Donc, pour votre exemple, peut-être :

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

Notez que pour utiliser ces fonctions votre content la colonne devrait être un FULLTEXT indice.

Qu'est-ce que le score ? dans cet exemple ?

C'est une relevance value . Il est calculé selon le processus décrit ci-dessous :

À partir de la documentation page.