Anonymus Posté 3 Septembre 2003 Posté 3 Septembre 2003 Bonsoir, En haut à droite, il y a le bouton 'rechercher'. Lorsque l'on lance la recherche, un script jettes un oeil dans la base, à la recherche d'occurences semblables à la chaine renseignée. Le principe est de ne pas tester toutes les formes possibles de déclinaisons de chaque mot. Ceci alourdi les scripts inutilement. Donc : Pour effectuer cette recherche, on peut utiliser les fonctions : similar_text et soundex. Similar_text calcule la similarité entre deux chaines, et renvoie : soit le pourcentage de similarité, soit le nombre de caractères identiques. Pour un mot donné, soundex renvoie une chaine de 4 lettres, correspondant à la facon dont on prononce ce mot. Pour 2 mots différents, si l'on compare les 4 lettres de chaque, on peut voir s'ils se prononcent pareil, et donc s'il y a des chances qu'ils soient similaires. Seul probleme, c'est que ca marche très bien pour l'anglais....mais pas pour le francais. Il y aurait une version francaise, mais non distribuée avec php. Votre avis ? Voilà, A+, Anonymus.
Dan Posté 3 Septembre 2003 Posté 3 Septembre 2003 Salut anonymus, A ma connaissance, la recherche dans Invision se fait sur base d'un "exact match" et non en utilisant un algo du type soundex. Une recherche sur "soundex" donne d'ailleurs bien ton article alors qu'une recherche sur le mot "sondex" ne donne rien (enfin jusqu'à maintenant car je viens d'ajouter ce mot en l'utilisant dans ce post ) Il est vrai que l'algorithme soundex est ancien et uniquement adapté à la langue anglaise. Il existe quelques scripts dans différents langages dont php qui essyent d'adapter soundex à la langue française, et y réussissent plus ou moins bien (plutôt moins que plus, d'ailleurs) Soundex a été décrit par Donald Knuth dans "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392. qui a déjà 30 ans et n'a pas énormément évolué depuis, malgré la publication de soundex2 et soundex3. Je pense que les bases de données telles que mySQL n'offriront jamais le support pour un soundex français, comme elles en sont toujours au soundex originel. Dan PS: pour quelle raison forces-tu tous tes messages à s'afficher en gris?... cela doit les rendre peu lisibles pour ceux qui ont un écran vieillissant.
Anonymus Posté 4 Septembre 2003 Auteur Posté 4 Septembre 2003 Bien noté pour soundex.. Dommage, j'avais trouvé la fonction intéressante. Pour exact match, si c'est le nom d'une fonction, elle m'intéresse. Si c'est une anglo-façon de dire 'terme exacte', c'était un peu le probleme soulevé : Rechercher un peu plus que le terme exacte, chercher aussi les termes approximatifs. Lorsque la requete n'a rien retourné, ce peut etre intéressant d'envoyer des résultats, (avec mises en garde), pour dire : "Vous avez peut etre fait une erreur de frappe, les mots se rapprochant sont : ....."; Voilà, A+, Anonymus. J'aime bien, gris : Ca personnalise le message, non ? C'est vrai que j'ai pas de problemes d'écran. J'ai déjà arreté d'écrire en plus petit pour ceux qui avaient des problemes de vue Je vais donc essayer en italique ou en bold en gris bold
Dan Posté 4 Septembre 2003 Posté 4 Septembre 2003 C'est mieux ainsi, car plus lisible même sur un bon écran! Le "exact math" était une formulation anglo-saxone, et non une fonction Tu devrais regarder du côté de Htdig, qui a différents algorithmes de recherche intégrés (dont une recherche approximative et une basée sur soundex). Dan
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant