pour pouvoir détecter la présence d'un mot clé dans un champ d'une base, il est possible d'écrire une requête du type :
CODE
SELECT
MATCH('nom_colonne') AGAINST ('mot_cle') AS 'valeur'
FROM nom_table
WHERE
MATCH('nom_colonne') AGAINST ('mot_cle')
MATCH('nom_colonne') AGAINST ('mot_cle') AS 'valeur'
FROM nom_table
WHERE
MATCH('nom_colonne') AGAINST ('mot_cle')
(plus d'infos : -http://omiossec.developpez.com/mysql/fulltext/etudes/)
Cette requête s'effectue sur une colonne; est-il possible de le faire sur plusieurs colonnes (3 par exemple) en y intégrant des pondérations ?
soit une requête pouvant ressembler à ça (sans les pondérations) :
CODE
SELECT
MATCH('nom_colonne') AGAINST ('mot_cle') AS 'valeur',
MATCH('nom_colonne2') AGAINST ('mot_cle') AS 'valeur2',
MATCH('nom_colonne3') AGAINST ('mot_cle') AS 'valeur3'
FROM nom_table
WHERE MATCH('nom_colonne') AGAINST ('mot_cle')
MATCH('nom_colonne') AGAINST ('mot_cle') AS 'valeur',
MATCH('nom_colonne2') AGAINST ('mot_cle') AS 'valeur2',
MATCH('nom_colonne3') AGAINST ('mot_cle') AS 'valeur3'
FROM nom_table
WHERE MATCH('nom_colonne') AGAINST ('mot_cle')
Avec cette requête, aucune pondération n'est de mise. On peut créer la pondération avec du PHP, mais est-il possible de le faire en SQL ?