J'ai des articles sur mon site, et je voudrais ajouter des balises qui décriraient chaque article, mais j'ai des problèmes avec la conception de table mysql pour les balises. J'ai deux idées:Comment concevoir une table MySql pour un nuage de tags?
- chaque article aurait champ "balises", et les balises seraient en format: "balise1, tag2, tag3"
- créer d'autres balises appelé table avec des champs: tag_name, article_ID
alors, quand je veux des tags pour l'article avec ID 1, je courrais
SELECT ... FROM tags WHERE `article_id`=1;
Mais, je voudrais aussi savoir 3 articles les plus semblables en comparant les étiquettes, donc si je l'article qui a des balises " php, mon sql, erlang ", et 5 articles avec des balises:" php, mysql "," erlang, ruby "," php erlang "," mysql, erlang, javascript ", je choisirais 1., 3. et 4., puisque ceux 3 ont la plupart des mêmes tags avec l'article principal.
Également une autre question, quelle est la meilleure façon d'obtenir 10 "tags les plus utilisés"?
oui, mais vous n'avez pas répondu à ma question principale, comment obtenir 3 articles les plus similaires? – mfolnovich
@mfolnovich: J'ai édité ma réponse plusieurs fois, pour ajouter plus d'informations sur le design; et, ensuite, en voyant votre commentaire, j'ai réédité, pour ajouter une idée possible de solution pour obtenir les 3 articles les plus similaires. –