我的意思是说真的“标签相关”列表?
让我们假设这篇文章有3个标签:A,B,C。这个项目真正的“标签相关”文章将是拳头上有A,B,C标签的文章,然后是(A,B),(A,C) ),(B,C)等。
table:tags
tag_id
tag_title
tag_nicetitle
table:tags2articles
article_id
tag_id
使用此表结构太难以计算真实的“与标签相关”。
我们可以添加一个包含article_id的表,它是md5(A,B,C)。在散列之前,我们应该按字母顺序对标签进行排序。
table:article_tags_hashed
id
article_id
md5
count
此表将帮助我们找到包含完整标签集(A,B,C)的文章,但它无助于查找仅包含(A,B),(A,C),(B, C)
最佳做法是什么?
PS:对不起我的英文,这很糟糕。
答案 0 :(得分:1)
我认为您不需要 article_tags_hashed ,因为您可以在结束时对结果进行分组和统计 查询 tags2articles 。
示例:
select article_id, count(article_id) as tagcnt from tags2articles
where tag_id in (...)
group by article_id
order by tagcnt desc
首先放置包含最多标签的文章。