我在我的网站上有一些文章,我想为每篇文章添加标签来描述它们,但是我在设计mysql标签表时遇到了问题。我有两个想法:
- 每篇文章将拥有一个“标签”字段,并且标签将以“标签1,标签2,标签3”的格式出现。
- 创建另一个名为“标签”的表,包含字段:标签名称、文章ID。
因此,当我想获取ID为1的文章的标签时,我将运行
SELECT ... FROM tags WHERE `article_id`=1;
但是,我还想通过比较标签知道三篇最相似的文章,因此如果我的文章有标签“php,mysql,erlang”,并且有5篇文章的标签为:“php,mysql”,“erlang,ruby”,“php erlang”,“mysql,erlang,javascript”,我会选择第1、3和4篇文章,因为这些文章与主要文章具有最相似的标签。
另外一个问题是,获取10个“最常用的标签”的最佳方法是什么?