Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/11/2011, 10h21   #1
Membre habitué
 
Avatar de issoram
 
Homme Zeco
Développeur informatique
Inscription : janvier 2009
Messages : 219
Détails du profil
Informations personnelles :
Nom : Homme Zeco
Localisation : France, Saône et Loire (Bourgogne)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2009
Messages : 219
Points : 121
Points : 121
Envoyer un message via MSN à issoram
Par défaut recherche full text: valeurs de pertinence retournées par MATCH

Bonjour,

J'aimerais savoir comment interpréter les valeurs renvoyées par un match against.

D'après l'aide en ligne je cite:
Citation:
Pour chaque ligne de la table, MATCH() retourne une valeur de pertinence, qui est une mesure de la ressemblance entre le chaîne recherchée et le texte de la ligne dans le colonne donnée dans la liste de MATCH()...
La pertinence est un nombre décimal positif. La pertinence de zéro signifie qu'il n'y a pas de similarité. La pertinence est calculé en fonction du nombre de mots dans la ligne, du nombre de mots uniques dans cette ligne, du nombre total de mots dans la liste, et du nombre de documents (lignes) qui contiennent un mot en particulier.
D'après ce qui précède l'indice de pertinence renvoyé est donc un nombre décimal >= 0 quelconque. Du coup, à partir de quelle valeur peut on considérer que 2 chaines matchées sont proches???!

Peut on, par exemple, "normer" ce résultat pour obtenir une valeur en % ?

Je vous remercie par avance.
issoram est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/11/2011, 12h29   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Un indice de pertinence n'a rien à voir avec un indice de similitude.
Par exemple la recherche de document contenant les mots :
poupée, avion, tarte
renverra le même indice de pertinence si une occurrence contient poupée et avion et l'autre poupée et tarte.

De plus la recherche textuelle de MySQL est l'une des plus mauvaise de tous les SGBSR.

A lire : http://blog.developpez.com/sqlpro/p9...ext-search-no/

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2011, 14h15   #3
Membre habitué
 
Avatar de issoram
 
Homme Zeco
Développeur informatique
Inscription : janvier 2009
Messages : 219
Détails du profil
Informations personnelles :
Nom : Homme Zeco
Localisation : France, Saône et Loire (Bourgogne)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2009
Messages : 219
Points : 121
Points : 121
Envoyer un message via MSN à issoram
Merci pour la réponse,

Citation:
Un indice de pertinence n'a rien à voir avec un indice de similitude.
Effectivement je faisais la confusion entre les 2 d'où mon post... mais je trouve l'aide MySql assez ambiguë à ce sujet:
Citation:
Pour chaque ligne de la table, MATCH() retourne une valeur de pertinence, qui est une mesure de la ressemblance entre le chaîne recherchée et le texte de la ligne dans le colonne donnée dans la liste de MATCH()...
J'ai relu plus attentivement le passage sur la recherche plain Text de votre bouquin, c'est maintenant plus clair. Mais du coup le match against de MySql (hormis le score retourné) peut largement être remplacé par un like

Pour mon problème, je vais donc me pencher sur une fonction de comparaison de chaine( la distance de Jaro Winkler me parait assez adaptée)

Cordialement.
issoram est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h02.


 
 
 
 
Partenaires

Hébergement Web