Optimisation de résultats de recherche MySql
Résolu/Fermé
ensixte
-
23 févr. 2009 à 15:31
Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016 - 27 févr. 2009 à 02:35
Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016 - 27 févr. 2009 à 02:35
A voir également:
- Optimisation de résultats de recherche MySql
- Optimisation pc - Accueil - Utilitaires
- Lexer resultats - Télécharger - Sport
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche de pairs utorrent ✓ - Forum Téléchargement
- Recherche de musique - Guide
8 réponses
Torkass
Messages postés
166
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
21 janvier 2016
95
23 févr. 2009 à 23:29
23 févr. 2009 à 23:29
Pourquoi faire une recherche si tu sais qu'ils sont dans la cuisine et dans le jardin ? O_o
XD désolé c'était plus fort que moi...
Bon, plaisanterie à part, tu ne peux pas simplement ajouter une case à cocher pour dire au script de prendre en compte AND au lieu de OR si besoin ?
genre :
en gros ça ferait comme les guillemets dans un moteur de recherche comme google.
XD désolé c'était plus fort que moi...
Bon, plaisanterie à part, tu ne peux pas simplement ajouter une case à cocher pour dire au script de prendre en compte AND au lieu de OR si besoin ?
genre :
Recherche : [_______________] [] Rechercher la phrase exacte
en gros ça ferait comme les guillemets dans un moteur de recherche comme google.
j'ai deja pensé a ça mais ça serais pas très utile sur mon site puisque les recherches effectuées sont dans la majorité des cas ( environ 80% ) avec du faux orthographe :p !! c'est pour ça que je cherche une solution pour ordonner les résultats avec un "OR" ^^ , merci pour la réponse :) .
Torkass
Messages postés
166
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
21 janvier 2016
95
24 févr. 2009 à 00:09
24 févr. 2009 à 00:09
Ok lol ^^
J'ai juste une idée en tete mais je ne sais apas du tout si c'est faisable... Ce serait de compter le nombre de mots, les chercher dans les articles et compter le nombre d'occurence pour chacun d'entre eux et retourner en premier les résultats comportant le plus grand nombre d'occurences pour la plupart des mots (voire même pour les plus longs simplement...).
Et désolé de ne pas pouvoir t'aider davantage.
J'ai juste une idée en tete mais je ne sais apas du tout si c'est faisable... Ce serait de compter le nombre de mots, les chercher dans les articles et compter le nombre d'occurence pour chacun d'entre eux et retourner en premier les résultats comportant le plus grand nombre d'occurences pour la plupart des mots (voire même pour les plus longs simplement...).
Et désolé de ne pas pouvoir t'aider davantage.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
vola je met à jour ma Question :
" Comment faire Un "order By" des résultats en Fonction du Nombre de mots clefs trouvées dans le Champ"
Merci !
" Comment faire Un "order By" des résultats en Fonction du Nombre de mots clefs trouvées dans le Champ"
Merci !
Torkass
Messages postés
166
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
21 janvier 2016
95
27 févr. 2009 à 00:19
27 févr. 2009 à 00:19
Et bien tu pourrais compter le nombre de chaque résultat, enregistrer dans une table "recherches" un champs du nom de la requete (en retirant les accents, espaces, etc...) le nombre de résultats de chaque mot dans un champs de même nom pour chacun, puis utiliser cette table dans le "SELECT * from recherches WHERE requete_sans_accents="$requete-sans-accents" ORDER BY $nombre DESC";
Non ? Je dis ça comme ça, c'set une idée fiolle qui me passe par la tête. ^^
et à la fin de l'affichage, supprimer les enregistrements dans la table, ou bien lors d'une prochaine requete, juste avant de lancer la nouvelle.
Non ? Je dis ça comme ça, c'set une idée fiolle qui me passe par la tête. ^^
et à la fin de l'affichage, supprimer les enregistrements dans la table, ou bien lors d'une prochaine requete, juste avant de lancer la nouvelle.
mdr !! :p C'est vrai que C'est une idée impeu folle ! mais je vien de trouver la solution qui se résume sur une ligne en SQL !!:| !!!
$SQL= " SELECT * , MATCH (mots_clefs) AGAINST ('%$recherche%') FROM table WHERE MATCH (mots_clefs) AGAINST ('%$recherche%') LIMIT 20";
la variable$recherche étant la chaine de caractères la recherche koi .. ! et mots_clefs c'est le nom du champ , et voial ça marche !! :D ça retourne les résultats en fonction du nombre d'occurrences ! Merci Torkass !! :)
$SQL= " SELECT * , MATCH (mots_clefs) AGAINST ('%$recherche%') FROM table WHERE MATCH (mots_clefs) AGAINST ('%$recherche%') LIMIT 20";
la variable$recherche étant la chaine de caractères la recherche koi .. ! et mots_clefs c'est le nom du champ , et voial ça marche !! :D ça retourne les résultats en fonction du nombre d'occurrences ! Merci Torkass !! :)
Torkass
Messages postés
166
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
21 janvier 2016
95
27 févr. 2009 à 02:35
27 févr. 2009 à 02:35
Ah ! Même si je n'ai pas eu la solution exacte, je suis ravis d'avoir pu t'orienter. :)
Et puis ça risque de me servir, alors merci bien ! ^^
Et puis ça risque de me servir, alors merci bien ! ^^