sql >> Databáze >  >> RDS >> Mysql

Detekce spammerů pomocí MySQL

Fulltext Match

Můžete se podívat na implementaci něčeho podobného jako MATCH příklad zde :

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)

Takže pro váš příklad možná:

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

Všimněte si, že k použití těchto funkcí váš content sloupec by musel být FULLTEXT index.

Co je score v tomto příkladu?

Je to relevance value . Vypočítává se pomocí procesu popsaného níže:

Z dokumentace stránku.




  1. Použijte TYPEPROPERTY() k vrácení informací o datovém typu na serveru SQL Server

  2. Zablokování v MySQL kvůli vkládání více vlákny

  3. Připojení ADO a msqli je velmi pomalé

  4. MySQL, DELETE Query with a Join