Aller au contenu

Requête SQL MATCH


yep

Sujets conseillés

Bonjour

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 :

SELECT
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) :

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')

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 ?

Modifié par yep
Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Si tu veut faire un match sur plusieurs colonnes tu peut le faire comme ca :

WHERE MATCH (colonne1, colonne2, colonne3) AGAINST ('chainerechercher')

mais a premiere vu pas de ponderation possible dans le SQL.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...