问题如:把看过A电影的用户同时看过的其它所有电影按照每部电影的点击率取出前10条。
这问题好如jd下的“买过aaa的人还买过产品cc...”。
目前准备用php+mysql来弄,但感觉这不是php能干的,求大牛指导!
伊谢尔伦2017-04-10 14:51:00
应该说,这不是mysql能干的。
也许你以为group by
+order by
能干这事,但终究你会发现其实干不了。
PS. 从IMDB上可知,截止目前,共有2877662部电影,5899065名演职员,观影人数没有准确数字,不过怎么说也有很多亿,想象下你的数据库里会放多少条记录,再想想一下当你在几个表之间JOIN的时候,数据库会累成什么样子……
PPS. 给你些参考资料
http://zh.wikipedia.org/wiki/%E5%8D%94%E5%90%8C%E9%81%8E%E6%BF%BE
http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/