我的网站上有文章,我想添加描述每篇文章的标签,但我在为标签设计 mysql 表时遇到问题。我有两个想法:
- 每篇文章都有“标签”字段,标签格式为:“tag1,tag2,tag3”
- 创建其他名为 tags 的表,其中包含以下字段:tag_name、article_id
因此,当我想要 ID 为 1 的文章的标签时,我会运行
SELECT ... FROM tags WHERE `article_id`=1;
但是,我还想通过比较标签知道 3 篇最相似的文章,所以如果我有标签为“php,mysql,erlang”的文章,以及 5 篇标签为:“php,mysql”、“erlang,ruby”的文章, “php erlang”、“mysql,erlang,javascript”,我会选择 1.、3. 和 4.,因为这 3 个与主要文章的标签大部分相同。
还有其他问题,获得 10 个“最常用标签”的最佳方法是什么?