Base de Donnée et requête de recherche élaborée
2 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
- simplyhere
- Nouveau WRInaute
- Messages: 1
- Inscription: Dim Jan 14, 2007 17:13
Base de Donnée et requête de recherche élaborée
Bonjour, j'ai réalisé un mini moteur de recherche de mots clefs dans une base.
J'ai un formulaire avec un champ a=motclef1 motclef2 motclef3 ...
Je récupère la valeur :
et ensuite je pars sur la requête sql comme ceci :
Petit programme que l'on retrouve facilement sur le web.Seulement, si les mots contiennent des accents ça marche mais comment faire une recherche plus rapide si cela existe, plus précise car les résultats sont vastes, et surtout si je cherche théo puis-je touver theo (sans accent)?
J'ai trouvé des expressions comme ceci mais je ne fais pas le rapprochement :
LIKE CONVERT( _utf8 '%motclef%' USING ) COLLATE
OR `champ` LIKE CONVERT( _utf8 '%motclef%' USING utf8 ) ...
Quel est le mieux ?
J'ai un formulaire avec un champ a=motclef1 motclef2 motclef3 ...
Je récupère la valeur :
- Code: Tout sélectionner
$a=$_GET['a'];
et ensuite je pars sur la requête sql comme ceci :
- Code: Tout sélectionner
$var=explode(' ',$a);
for ($i=0 ; $i<count ($var) ; $i++)
{
$t0=$var[$i];
$selectcommande.="LIKE '%$t0%' OR membres LIKE '%$t0%' ";
}
$requete="SELECT * FROM matable WHERE listingpage ".$selectcommande." ";
Petit programme que l'on retrouve facilement sur le web.Seulement, si les mots contiennent des accents ça marche mais comment faire une recherche plus rapide si cela existe, plus précise car les résultats sont vastes, et surtout si je cherche théo puis-je touver theo (sans accent)?
J'ai trouvé des expressions comme ceci mais je ne fais pas le rapprochement :
LIKE CONVERT( _utf8 '%motclef%' USING ) COLLATE
OR `champ` LIKE CONVERT( _utf8 '%motclef%' USING utf8 ) ...
Quel est le mieux ?
Il ne me semble que MySQL est insensible à la casse et aux accents, en tout cas sur mon MySQL 4.0. Tu peux donc trouver "theo" en tapant "théo".
Pour avoir des résultats plus précis lorsque l'utilisateur tape plusieurs mots, tu as deux options :
- limiter à l'expression exacte sans tenir compte des accents (ce qui peut amener beaucoup de résultats nuls)
- mettre en place un système de pondération en attribuant un score de pertinence à chaque résultat.
Sur les grosses bases (recherche plein texte dans les titres, accroches et corps d'articles), j'ai un système plutôt lourd mais apparemment assez fonctionnel qui :
- crée une table temporaire recherche_temp avec l'intégralité des résultats obtenus par la requête de base
- attribue des points par des UPDATES sur les lignes de recherche_temp : +1 si l'un des mots apparaît dans le corps, +3 dans l'accroche, +5 dans le titre
- attribue des points supplémentaires si le titre ou l'accroche contient l'expression exacte (espaces compris)
Tu te retrouves donc avec une table où tu peux faire un SELECT sur l'ensemble des résultats et les afficher par score descendant.
J'espère que c'est assez clair....
Pour avoir des résultats plus précis lorsque l'utilisateur tape plusieurs mots, tu as deux options :
- limiter à l'expression exacte sans tenir compte des accents (ce qui peut amener beaucoup de résultats nuls)
- mettre en place un système de pondération en attribuant un score de pertinence à chaque résultat.
Sur les grosses bases (recherche plein texte dans les titres, accroches et corps d'articles), j'ai un système plutôt lourd mais apparemment assez fonctionnel qui :
- crée une table temporaire recherche_temp avec l'intégralité des résultats obtenus par la requête de base
- attribue des points par des UPDATES sur les lignes de recherche_temp : +1 si l'un des mots apparaît dans le corps, +3 dans l'accroche, +5 dans le titre
- attribue des points supplémentaires si le titre ou l'accroche contient l'expression exacte (espaces compris)
Tu te retrouves donc avec une table où tu peux faire un SELECT sur l'ensemble des résultats et les afficher par score descendant.
J'espère que c'est assez clair....
2 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Importer tout son blog dans Google Base
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- Deux nouveaux blogs officiels : Google Talk et Google Base
- Google facilite les recherches par site
- Google API : guide de développement de l'API Google
- L'algorithme de Google en résumé (mars 2003)
- The Technology Behind Google
- Liens et référencement : techniques de base
- Nouvelle version de GoogleStats : v1.1
- Informations sur l'infrastructure technique de Google
- Recherche base de données spécifique [Moteur de recherche]
- recherche base de donnée !!!
- Recherche script base de connaissance
- Recherche base de donnée monde
- recherche base de données + carte interactive
- Recherche base de données de jeux vidéo
- recherche dans une base de donnée
- Recherche dans une base de données MySQL
- Nouveau moteur de recherche basé sur les ancres
- Recherche mutualisé sans limite de taille base de données.
- Comment faire une recherche simple dans une base de donnée ?
- Base de données de Google Base
Consultez la description détaillée des produits ou services de Google suivants : Google Base
- Suggestions Google Suggest
Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum