MySQL,类似主题

大家好!

我有3张桌子:

topics
(id*, title, body) 

tags
(id*,name)

topic_tags
(topic_id,tag_id)

每个主题都有一些标签.我想仅基于标签(而不是基于主题的标题和正文)找到与另一个主题“最相关”的主题.

如果2个主题具有更常见的标签,则它们之间的相关性更高.我想通过相似性(=​​通用标签数)对结果进行排序.

你有什么建议?

解决方法:

SELECT  tr.*
FROM    topic t
JOIN    topic_tag tt
ON      tt.topic_id = t.id
JOIN    topic_tag ttr
ON      ttr.tag_id = tt.tag_id
JOIN    topic tr
ON      tr.id = ttr.topic_id
WHERE   t.id = $topicid
GROUP BY
        tr.id
ORDER BY
        COUNT(*) DESC
上一篇:PHP评论标签


下一篇:java-在h:panelGrid中具有多个子组件的自定义Facelets-Tag