Script pour "Sujets en rapport"

WRInaute discret
Bonjour tout le monde !

Pour mon forum, je recherche un script qui permettrait d'afficher des liens vers d'autres sujets sur le même thème. (Comme le "Lectures recommandées sur ce thème" au bas de cette page)

J'ai fait quelques recherches mais je n'ai encore rien trouvé d'intéressant.

Je ne recherche pas forcément un script prêt à l'emploi (ou presque), mais des pistes pour pouvoir développer ça moi-même et sortir de la BDD des sujets vraiment pertinents et bien "en rapport" avec le sujet lu.

J'ai bien quelques idées pour développer ce "mini-mini moteur de recherche" mais je voudrais être certain de partir dans la bonne direction pour avoir le plus de chances de proposer les sujets les plus proches.

Merci pour vos conseils !

Olivier
 
WRInaute accro
Hi

Alors pour des éléments "statiques" et gérés par mes soins, j'ai simplifié le truc en créant juste un champ Mot clé dans ma table. Ensuite je fais une recherche des mots clés dans les autres éléments du site. Bien sur, c'est pas fonctionnel pour un forum mais pour d'autres trucs, ca a plein d'avantages dont celui de controler au mieux les résultats.

A bientôt
 
WRInaute discret
Merci pour ta réponse ! :)

Comment fais-tu pour déterminer les principaux mots-clés du sujet ?

Tu considères comme mot-clé tous les mots de plus de "X" (?) caractères qui se répètent plus de "X" (?) fois dans le contenu et le titre du sujet ? (En donnant éventuellement plus d'importance aux mots contenus dans le titre du sujet ?)

Tu détermines les "X" en fonction du nombre total de mots dans le sujet ?

Ou tu sélectionnes les mots-clés d'une tout autre manière ?

Merci encore !

Olivier
 
WRInaute accro
c plus simple que ca... c fait à la mano... je sélectionne selon le thème... ainsi le mot clé peut ne meme pas apparaitre dans le contenu
 
WRInaute discret
Okay ...

Moi, j'ai finalement développé mon script de "sujets en rapport" avec à peu près la technique expliquée plus haut.

Mon script analyse les sujets du forum (sujet et réponses) et en fait sortir tous les mots de plus de 2 caractères. Il leur donne un "poids" en fonction de leur position dans le texte, en fonction de la présence du mot dans le titre ou pas, en fonction du nombre de fois que le mot est répété dans le texte et en fonction du nombre total de mots-clés dans le texte. Les résultats sont stockés dans une table avec 3 champs : id_sujet, mot_clé, poids. Pour sélectionner les sujets "en rapport", le script recherche dans cette table tous les sujets contenants un ou plusieurs même mots-clés que le sujet "principal" et classe les résultats en fonction de la somme des "poids" des mots-clés. Bien sur, vu que le script est quand même assez gourmand en ressources, les "correspondances" entre les sujets sont calculés une seule fois (mais "régulièrement") et stockés à l'avance dans une table avec deux champs : id_sujet1 et id_sujet2.

J'espère avoir été à peu près clair. Si pas ... tans pis ! :D

Prochaine étape, adapter mon script pour permettre aux visiteurs de faire des recherches "manuelles" parmi les sujets du forum. Les résultats seront à mon avis bien plus pertinents et performants qu'avec mon actuelle simple requête "SELECT ... WHERE champ LIKE '%motcle%' ... " .

Je vais voir avec le temps si c'est efficace (Je pense que ça l'est mais comme j'ai pas encore des tonnes de sujets, c'est difficile à dire ... ) Si ça ne l'est pas, je tenterais de faire plus simple et d'utiliser ta technique.

Oui, j'aime le compliqué :lol:
 
Discussions similaires
Haut