Bonjour,
Je suis en train de me poser quelques questions sur la réalisation d'une base de donnée et sur l'optimisation de celle ci.
Voila mon soucis :
J'aimerai suivant la recherche de l'utilisateur sur des tag, retourner le topic le plus pertinent.
Exemple concret :
J'ai 4 topics avec un ou plusieurs tag avec une ou pas de note.
Topic A
--> Tag A
--> Note 5
Topic B
--> Tag A
--> Pas de note
Topic C
--> Tag A
--> Tag B
--> Tag C
--> Tag D
Topic D
--> Tag A
--> Tag D
J'aimerai qu'avec une recherche sur le Tag A, le résultat soit :
Topic A
Topic B
Topic D
Topic C
Sur une recherche avec le Tag D :
Topic D
Topic C
Explication des pondérations :
Moins le topic est affecté à des tag plus il est pertinent sur celui affecté.
Un topic ayant une note supérieur à la moyenne sera plus pertinent qu'un topic sans note.
Comment dois je réaliser mes tables avec une base de données de millier de tag et d'une dizaine de milliers de topics ?
Faut il créer une tables temporaire pour chaque Tag, et faire un select bidon dessus (Cela me parrait fous de créer des milliers de table)
Faire une table avec tous les tags, mais ça veut dire qu'il y aurait des millions de ligne dans cette table.
Faut il faire plusieurs requetes pour retourner le resultat voulu (risque de surcharge du serveur)
Que me conseillez vous ?
Merci de votre réponse.
Cordialement.
Romain
PS: Si vous avez des sujets interressant sur Facebook, sur la pertinence des résultats proposés, je suis preneur.
Je me demande toujours comment il fond pour nous proposer une liste d'amis que nous pouvons connaitre.
Partager