Corrispondenza fulltext
Potresti prendere in considerazione l'implementazione di qualcosa di simile a MATCH
esempio qui
:
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)
Quindi, per il tuo esempio, forse:
SELECT id, MATCH (content) AGAINST ('your string') AS score
FROM messages
WHERE MATCH (content) AGAINST ('your string')
AND score > 1;
Nota che per utilizzare queste funzioni il tuo content
la colonna dovrebbe essere un FULLTEXT
indice.
Che cos'è il score
in questo esempio?
È un relevance value
. Viene calcolato attraverso il processo descritto di seguito:
Dalla documentazione pagina.