Inscription : 13 Jan 2010, 14:25 Message(s) : 2270
Oui, à partir du moment ou tu peux rafraichir la liste en temps réel, c'est la méthode la plus simple à condition de connaitre le nom recherché... BLASTERMEGA ne ressortira jamais par exemple.
On ne cherche pas forcément ce que l'on connait, donc avoir plusieurs réponses "anagrammes" n'est pas une mauvaise chose en soi.
Je suis d'accord avec toi, une fonction "google-suggest" ne ramène les termes que si tu tapes au moins les premières lettres du mot. Même Google ne fait pas mieux :
Si tu tapes "cpc" dans google, "cpc p0wer" est immédiatement proposé en haut de la liste.
Mais si tu tapes "power cpc" même la fonction "suggest" de Google ne le trouve pas. Par contre il trouvera le site cpc p0wer en affichant les résultats.
La fonction de découpe de chaine que j'ai proposé trouvera "megablaster" à partir de "BLASTERMEGA".
Elle va passer le mot en lowercase, puis regarder les correspondances de chaines : "megablaster" et "blastermega" ont 2 chaines en commun : blaster + mega. Les probabilités sont donc fortes.
Donc le jeu est trouvé et sera proposé dans les résultats.
Une fonction "google-suggest" ne remplace pas la recherche complète, mais souvent elle évite d'y recourir si le résultat s'y trouve. Quand un gars se rappelle plus si le jeu de son enfance s'appellait "socelleri", "sorcelery"... Il tape "sor" et voit apparaître immédiatement "SORCERY".
Evidemment, s'il tape "SRYSOR", on va devoir lui faire des propositions plus ou moins proches...
Il y a déjà "sor" comme chaine commune, donc la propabilité augmente un peu, je le propose dans les résultats.
On ne cherche pas forcément ce que l'on connait, donc avoir plusieurs réponses "anagrammes" n'est pas une mauvaise chose en soi.
Ce n'est pas une mauvaise chose évidement. Mais comme on procède par pertinence, on va rechercher par les chaines les plus longues possibles qui soient communes aux 2 termes, puis on va, en cas d'échec, réduire la longueur des chaines pour finalement rechercher simplement les lettres communes.
Si "SRYSOR" est proposé, "SOR" me permet de ramener "SORCERY".
mais RYSOR (5 lettres) me permettra de ramener "GRYSOR" avant SORCERY.
En terme de pertinence, son pourcentage est plus élevé. Pourtant, peut être que le gars recherchait bien SORCERY.
Mais dans les résultats, je vais afficher GRYSOR en premier.
Ensuite, j'afficherai "SOKOBAN", etc... pour terminer par les anagrames.
Plus une chaine commune trouvée est longue, plus la propabilité d'avoir trouvé le résultat juste est élevée.
Mais pas toujours. Le gars cherche "Frigidaire" , il tape "frigidère" et tu lui ramène "Frigide"... ça colle pas.
Par contre, avec l'Ajax suggest, dès qu'il tapera "frigi" il verra les 2 termes apparaître, il peut choisir.
Les problèmes de fautes de frappes, ou d'utilisation d'espaces/tirets et cie quand c'est nécessaire ou pas peuvent être résolus en effectuant des recherches de texte sembables, plutôt que des recherches de texte strictement identique. Il existe des algos pour ça depuis 50 ans.
La distance de Leveinshtein permet de retourner un score de comparison entre deux chaines de caractères. Ce score dépend du nombre de modifications à faire pour obtenir la seconde chaine à partir de la première. Ça ne m'étonnerai pas que les bases données puissent utiliser nativement une telle fonction.
Donc, dans le moteur de recherche tu calcules la distance de ton mot clé avec tous les textes de la base, et tu ne retournes que ceux dont la distance est inférieure à un seuil que tu fixes toi-même. Une explication minimale en francais
Les problèmes de fautes de frappes, ou d'utilisation d'espaces/tirets et cie quand c'est nécessaire ou pas peuvent être résolus en effectuant des recherches de texte semblables, plutôt que des recherches de texte strictement identique. Il existe des algos pour ça depuis 50 ans.
Je suis d'accord qu'il y a de multiples façons d'arriver à un résultat. Le tout est de choisir la solution qui te convienne. Pour mes bases de données, je m'en tiens à la recherche de trames.
Quand le gars cherche le titre "Green beret" et qu'il tape "Green berret", ça ramène "green", "ber+et". et c'est nickel. Même s'il tape "Grine Berai" ça marche aussi. Simple et efficace.
Mais la révolution de l'Ajax-suggest fait gagner énormément de temps. Utile quand un nouvel utilisateur s'inscrit sur un site et crée son pseudo : avant même qu'il ait fini de le taper, on peut lui dire si ce pseudo est déjà pris! C'est pour ça que j'apprécie Ajax!
Qui se souvient du temps ou on devait lancer une requête en Php, (une fois seulement que le gars envoyait le formulaire), puis rechercher dans la base, réafficher la page... beurk.
D'ailleurs Google affiche les résulats sans qu'on n'ait même besoin d'appuyer sur la touche entrée. Avec simplement une recherche sur les premières lettres du mot qu'on est en train de taper, c'est suffisant dans 98% des cas.
Mais de toute façon, tu dois pouvoir taper des termes un minimum approchants, sinon même Google ne trouvera pas ce que tu cherches.
Après il y a le rapport qualité/prix,ou plus exactement temps de mise en place /intérêt final,il ne faudrait pas que ça rajoute trop de taf a kukulcan et que cela alourdisse le site.
Donc trouver une solution a mis chemin entre complexité et efficacité c'est déjà pas mal
_________________ Tout le monde il es beau,tout le monde il est gentil .
Inscription : 04 Jan 2008, 09:09 Message(s) : 1107 Localisation : Var
sPOKE a écrit :
Kukulcan a écrit :
* Moteur de recherche : MacDeath26 : "megablaster " =>tu a tapé un espace après le nom, donc logique qu'il ne trouve pas, sans espace il aurait trouvé.
Tu filtres le mot-clef reçu avec la fonction "trim" en Php : ça te supprimera les espaces avant et après.
Coucou Spoke, Je connais bien la commande TRIM ou LTRIM ou RTRIM mais je refuse de la rajouter. Pourquoi va tu me dire ? et bien dans mes recherches, parfois le fait de rajouter un espace avant me permet de ne pas avoir certaines réponse et je trouve ça bien pratique.
_________________ Mes pokes et Cheat-Mode sont tous vérifiés Mon site sur le CPC : http://www.cpc-p0wer.com
Inscription : 04 Jan 2008, 09:09 Message(s) : 1107 Localisation : Var
sPOKE a écrit :
Par exemple : on peut voir que "meegablaster" et "megablaster" ont 2 chaines en commun : "me" et "gablaster". On peut les extraire, puis joindre les 2 chaines : ça donne bien "megablaster". Mais il faut pondre un algo qui teste tout un tas de situations, c'est pas toujours aussi simple.
Il existe une autre technique qui consiste a se fier a la phonétique du mot, mais je l'ai abandonné car on avait énormément de réponses farfelues. Si tu tapes "Blaster" la fiche sera visible aussi et oublie les espaces.
Après, certaines technologies mangent trop de ressource a mon gout pour un gain qui au final est assez faible.
_________________ Mes pokes et Cheat-Mode sont tous vérifiés Mon site sur le CPC : http://www.cpc-p0wer.com
Dernière édition par Kukulcan le 19 Sep 2012, 09:29, édité 1 fois.
Inscription : 04 Jan 2008, 09:09 Message(s) : 1107 Localisation : Var
sPOKE a écrit :
La fonction "Google-suggest" est une des plus simples à mettre en place : Dès que le gars tape la lettre "m" les jeux commençant par m apparaissent (sans recharger la page grace à Ajax) Puis dès qu'il tape "me", les jeux commençant par "me" apparaissent. Arrivé à "meg", normalement, "megablaster" doit apparaitre dans la liste. C'est une bête comparaison lettre à lettre de la racine des noms, mais ça marche. Ce n'est qu'une solution parmi tant d'autres évidemment, mais qui aide contre la mauvaise orthographe. Après, tout n'est qu'une question de temps disponible pour coder.
Je confirme les explications de sPOKE, j'ai mis cette technique en place sur le site arcade-history pour la recherche par manufacturer (cf la capture écran), mais je n'avais pas envie de la rajouter sur cpc-p0wer, car cette technique ne me plait pas.
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
_________________ Mes pokes et Cheat-Mode sont tous vérifiés Mon site sur le CPC : http://www.cpc-p0wer.com
Inscription : 04 Jan 2008, 09:09 Message(s) : 1107 Localisation : Var
Aujourd'hui je fais pollution avec un 4ème poste.
* Recherches Le message d'Hermol m'a donné l'idée de masquer par défaut les options de recherche avancées.
Voici 2 nouveaux textes : Si quelqu'un veux bien m'aider en me fournissant les traductions en anglais, espagnol et allemand, ça serait appréciable
- "Options de recherche avancées : " - "Les options de recherche avancées doivent être activé dans 'Mon Compte/Configuration'."
* Ascenseur sur les SELECT Je n'ai pas réussi a faire disparaitre l'ascenseur vertical, du coups j'ai tout transformé en bouton radio En espérant que ça convienne.
_________________ Mes pokes et Cheat-Mode sont tous vérifiés Mon site sur le CPC : http://www.cpc-p0wer.com
Inscription : 13 Jan 2010, 14:25 Message(s) : 2270
- "Options de recherche avancée" Advanced search options
- "Les options de recherche avancée doivent être activées dans 'Mon Compte/Configuration'." The advanced search options must be enabled from "My profile/settings" ou "My account/configuration" suivant les termes anglais utilisés par ton outil.
C'est la recherche qui est avancée (donc pas de pluriel) Se sont les options qui doivent être activées (donc au pluriel)
Inscription : 04 Jan 2008, 09:09 Message(s) : 1107 Localisation : Var
TotO a écrit :
- "Options de recherche avancée" Advanced search options - "Les options de recherche avancée doivent être activées dans 'Mon Compte/Configuration'." The advanced search options must be enabled from "My profile/settings" ou "My account/configuration" suivant les termes anglais utilisés par ton outil. C'est la recherche qui est avancée (donc pas de pluriel) Se sont les options qui doivent être activées (donc au pluriel)
Merci TotO, Et oui, en français je suis un boulet J'ai corrigé et c'est en ligne. Je devrai recevoir la traduction en espagnole (par Rafa) et en allemand (par Markus)
_________________ Mes pokes et Cheat-Mode sont tous vérifiés Mon site sur le CPC : http://www.cpc-p0wer.com
Inscription : 13 Jan 2010, 14:25 Message(s) : 2270
Kukulcan a écrit :
Je connais bien la commande TRIM ou LTRIM ou RTRIM mais je refuse de la rajouter. Pourquoi va tu me dire ? et bien dans mes recherches, parfois le fait de rajouter un espace avant me permet de ne pas avoir certaines réponse et je trouve ça bien pratique.
C'est l'éternel problème de vouloir faire pour soi et non pour les autres... Toi, tu connais le fonctionnement, pas l'utilisateur.
Je m'excuse, je ne pensais pas donner autant de boulot avec ce topic/sujet... Mais bon si ça motive et améliore l'outil et le site c'est cool, merci pour ce site en tout cas, ça reste "the reference"*
*trad : La référence.
je suppose qu'il est en travaux là car j'arrive pas a m'y connecter présentement.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum