IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Pertinence FullText de MySQL


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut Pertinence FullText de MySQL
    Bonjour,

    Ayant parcouru pas mal de doc et de Forum sur la fonction FullText (avec ou sans Boolean de Mysql). Je l'a trouve trés performante sur ce point rien à dire, mais comme on en veut toujours plus....

    En gros :

    EN MODE NON BOOLEAN :
    • On a un calcul de la pertinence qui est facteur de plusieurs résultats (cf doc officiel)
    • Si les mots sont dans + de 50% des resultats, on ne retourne rien ( mais c'est parametrable)
    • les mots de 3 caractères ne sont pas pris en compte ( mais c'est parametrable aussi)


    En mode BOOLEAN
    • Pas de seuil de 50%
    • Pas de tri sur pertinence (uniquement un pseudo tri qui renvoi 1,2,3 en fonction du nombre de mot clé que l'on a saisi et qui se trouve dans la ligne de notre table)
    • Support des booléen (+,- ....)



    Moi j'ai un champ de saisie sur une page de mon CMS, faut-il demander à l'utilisateur de choisir ou non le mode booleen ? Puisque par défault si on met par exemple toto tata (en mode booleen), il ne met pas de pertinence.

    Ya-til une possibilité de mixer les deux en amont juste après la saisie ou avant la création de la requete ?
    Apparemment il est impossible d'avoir le score de pertinence en mode Booléen (trop complexe à faire pour les développeurs de MySQL ou impossible à mettre en place).


    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 290
    Par défaut
    voici un exemple de requête utilisant les deux modes de recherche ; le WHERE utilise le mode booléen pour ne garder que les lignes avec au moins un mot-clé, le ORDER BY effectue le tri selon la pertinence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select titre, 
      match(titre, resume) against ('guerre grecs') AS Pertinence, 
      match(titre, resume) against ('guerre grecs' in boolean mode) AS NbMotsClefs
    from resumes
    where match(titre, resume) against ('guerre grecs' in boolean mode) >= 1
    order by 2 desc
    PS : au passage, le terme de "boolean mode" désigne simplement le fait qu'un mot-clé est trouvé (1) ou pas trouvé (0), sans calcul de pertinence. Cela n'a rien à voir avec les "opérateurs booléens +, -, etc.", qui ne sont pas des opérateurs booléens, mais des options accessibles seulement en mode booléen.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Par défaut
    Merci je teste tout ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête Fulltext sous Mysql
    Par sheira dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/02/2009, 14h29
  2. [MySQL] Recherche FULLTEXT et pertinance
    Par izbing dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/01/2007, 12h28
  3. [MySQL] Pertinence FULLTEXT
    Par izbing dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/01/2007, 16h59
  4. mysql fulltext boolean mode
    Par vodasan dans le forum Requêtes
    Réponses: 4
    Dernier message: 01/09/2006, 08h10
  5. Pertinence d'une connexion à une base mysql.
    Par gigigao dans le forum Visual C++
    Réponses: 4
    Dernier message: 11/08/2006, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo