Aller au contenu

Requête SQL MATCH


Sujets conseillés

Posté (modifié)

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
  • 1 year later...
Posté

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.

Veuillez vous connecter pour commenter

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



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