首页 > 根据标签查找相关书籍的mysql语句

根据标签查找相关书籍的mysql语句

有两个表
1.书籍表
book_id
2.标签表
tag_id
3.书籍,标签关系表
book_id,tag_id

可以很简单地实现相关书籍的查找,但是根据“有相同标签就是相关书籍”的话忽略了相关度。比如三个标签相同的书籍比一个标签相同的书籍明显相关度更高。

想请教,如何实现按照相关度高低排序?有没有相关算法?


SELECT *, 
CASE
    WHEN tag_id IN (tags1) THEN 1
    WHEN tag_id IN (tags2) THEN 2
    WHEN tag_id IN (tags3) THEN 3
END as r
FROM relations
WHERE tag_id IN (tags3)
ORDER BY r;

事先算好
tag只是相关度的一个feature,计算时也要考虑其他因素。

【热门文章】
【热门文章】