[SQL] recherche textes similaires

Discussion dans 'Administration d'un site Web' créé par lesbonsplansdesophie, 25 Mai 2005.

  1. lesbonsplansdesophie
    lesbonsplansdesophie WRInaute occasionnel
    Inscrit:
    1 Mars 2004
    Messages:
    399
    J'aime reçus:
    0
    Bonjour,

    Quelqun connait une fonction qui permet de rechercher des champs texte similaires dans une base SQL ?

    Plus clairement, imaginons que j'ai une table avec un champ "MOT" et que celle-ci contient:
    voiture
    voiturette
    maison
    chien

    une requete du style "SELECT MOT FROM TBL WHERE MOT 'resssemble a' voiture", qui me renverrait voiture et voiturette ?

    Je sais qu'en php il existe des fonctions d'anlyse de similarite (similar-text, levenshtein etc.) et je voudrais savoir si il existe une fonction pour le faire directement en SQL...

    Merci de votre aide !
     
  2. Phobos
    Phobos WRInaute impliqué
    Inscrit:
    21 Mars 2004
    Messages:
    726
    J'aime reçus:
    0
    Salut,
    Code:
    SELECT mot FROM tbl WHERE mot LIKE '%voiture%'
    te renverras les résultats contenant mot motion émotion moteur motricité etc ;)
     
  3. lesbonsplansdesophie
    lesbonsplansdesophie WRInaute occasionnel
    Inscrit:
    1 Mars 2004
    Messages:
    399
    J'aime reçus:
    0
    Merci, malheureusement je n'ai pas ete assez explicite et mon exemple etait trop simple :?

    En fait je cherche une fonction capable de savoir que
    "Le chien jaune court dans la prairie le matin et tout les francais sont contents et sautent de joie"
    est tres proche de
    "Un chien jaune court dans la prairie et tous les francais sont content"

    (pardonnez moi l'exemple bidon mais j'ai un mal de crane pas possible)

    En php avec similar_text ou levhenstein c'est facile, en sql je me demandais si il y avait une fonction toute faite ?
     
  4. sgaze
    sgaze WRInaute occasionnel
    Inscrit:
    2 Février 2004
    Messages:
    452
    J'aime reçus:
    0
    euh là tu t'es gouré. "mot" c'est le nom du champ, pas son contenu.
    Ca va renvoyer voitures, voiturettes, totovoiture mais pas moteur !
     
  5. lesbonsplansdesophie
    lesbonsplansdesophie WRInaute occasionnel
    Inscrit:
    1 Mars 2004
    Messages:
    399
    J'aime reçus:
    0
    Oui je pense que Phobos a fait un lapsus, mais pour en revenir a ma question personne n'a d'idee ?
     
  6. Phobos
    Phobos WRInaute impliqué
    Inscrit:
    21 Mars 2004
    Messages:
    726
    J'aime reçus:
    0
    oui effectivement, j'ai lapsé :lol:
    désolé mais je ne vois pas quelle syntaxe permettrait cela, tu peux utiliser les expressions régulières dans la recherche mais ça ne suffit pas pour faire ce que tu veux, après recherche, il y a similar mais ce doit être pareil que like :(
     
  7. lesbonsplansdesophie
    lesbonsplansdesophie WRInaute occasionnel
    Inscrit:
    1 Mars 2004
    Messages:
    399
    J'aime reçus:
    0
  8. webmister62
    webmister62 WRInaute discret
    Inscrit:
    10 Février 2005
    Messages:
    106
    J'aime reçus:
    0
  9. lesbonsplansdesophie
    lesbonsplansdesophie WRInaute occasionnel
    Inscrit:
    1 Mars 2004
    Messages:
    399
    J'aime reçus:
    0
    Non, car comme je le disais plus haut je cherchais exactement l'equivalent de cet algorithme, mais en SQL. Et ca existe, c'est le fameux full search dont je parle dans mon dernier post :lol:

    Merci quand meme :wink:
     
  10. webmister62
    webmister62 WRInaute discret
    Inscrit:
    10 Février 2005
    Messages:
    106
    J'aime reçus:
    0
    lol ah oui c'est vrai sorry... la fatigue :lol:
     
  11. herve01
    herve01 WRInaute discret
    Inscrit:
    3 Mars 2004
    Messages:
    92
    J'aime reçus:
    0
    J'ai testé le FULLTEXT ça fonctionne parfaitement (avec les tables de types MyISAM uniquement, donc adieu InnoDB et les clés étrangères).

    Il faut voir aussi la clause WITH QUERY EXPANSION, très puissante.
     
Chargement...
Similar Threads - [SQL] recherche textes Forum Date
[SQL] Recherche dans une base de données Développement d'un site Web ou d'une appli mobile 7 Juin 2011
[SQL] Moteur de recherche, petit problème Développement d'un site Web ou d'une appli mobile 6 Novembre 2006
[sql] clé étrangaire Développement d'un site Web ou d'une appli mobile 9 Mai 2014
[SQL] Changement d'etat d'une table au bout de x jours Développement d'un site Web ou d'une appli mobile 26 Avril 2012
[SQL] Meme requete qui ne donne pas le meme résultat Développement d'un site Web ou d'une appli mobile 12 Avril 2012
[SQL] une somme un peu spéciale... Développement d'un site Web ou d'une appli mobile 1 Avril 2011
[SQL] Stocker nombre à virgules Développement d'un site Web ou d'une appli mobile 21 Octobre 2010
[SQL] Element pas dans le IN Développement d'un site Web ou d'une appli mobile 23 Février 2010
[SQL] Trouver le mauvais id Développement d'un site Web ou d'une appli mobile 12 Mars 2009
[Sql] Optimalisation des connections Développement d'un site Web ou d'une appli mobile 10 Décembre 2008
[SQL]Verifier la presence d'une entrée dans plusieurs tables Développement d'un site Web ou d'une appli mobile 20 Août 2008
[sql] Tri d'une table selon un champ dans une autre table Développement d'un site Web ou d'une appli mobile 26 Juillet 2008
[résolu][sql] Requête avec WHERE Développement d'un site Web ou d'une appli mobile 1 Juillet 2008
[résolu] [sql] Savoir si un GROUP BY a été appliqué Développement d'un site Web ou d'une appli mobile 2 Mai 2008
[sql] Requête Développement d'un site Web ou d'une appli mobile 27 Novembre 2007
[sql] Identifier ses pages gourmandes Développement d'un site Web ou d'une appli mobile 5 Novembre 2007
[sql] Requête "croisée" Développement d'un site Web ou d'une appli mobile 29 Septembre 2007
[sql] Recencer les différentes valeurs d'un champ Développement d'un site Web ou d'une appli mobile 26 Septembre 2007
[SQL] Problème avec un HAVING Développement d'un site Web ou d'une appli mobile 1 Avril 2007
[SQL] UNIQUE mais pas indéxé Développement d'un site Web ou d'une appli mobile 27 Mars 2007