Jump to content
Sign in to follow this  
yep

Requête SQL MATCH

Rate this topic

Recommended Posts

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 ?

Edited by yep

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...