为登录用户提供个性化搜索结果的一些技巧是什么?我能想到的一种方式是分析用户的浏览记录。基于历史记录的个性化搜索结果
跟踪:用户的活动(如浏览页面和点击“喜欢”按钮的日志可用于偏好搜索结果。
问题1:您如何跟踪用户的浏览记录?列表user_id
,number_of_hits
, page id
?如果我每天有1000位访问者,每个浏览平均10页,那么每次需要个性化推荐时,是否会有大量记录到select
?这张桌子每月将增长30万行!每次执行搜索时,这些行需要更长和更长的时间。 我猜表格'喜欢'将采取相同的表设计。
问题2:您如何偏见搜索结果?例如,如果用户一直在搜索苹果产品,搜索引擎realise
如何让用户喜欢苹果产品并随后将搜索偏向他们?标记页面并在浏览的页面上累积标记记录?
至于第二个问题,标记网页只会在最简单的情况下起作用。更好的方法是在历史记录表上运行关联规则挖掘算法(如频繁项目集/先验)以找出页面/用户等之间的依赖关系...然后将搜索结果偏向最重要的项集(例如。信心和支持是有效的) – Mario
所有这些对我来说都是新的,这可以在mysql中完成吗?你知道关于这个的任何教程吗? – Nyxynyx
它不是真的很难: 分区:你想要的是范围分区(http://dev.mysql.com/doc/refman/5.1/en/partitioning-range.html) 索引:一个简单的B树索引(在表名(时间戳)上创建索引idxname)。在mysql中,所有索引默认都是本地分区(与oracle不同)。 至于报表/挖掘工作,您有两种选择,可以是预定作业(http://dev.mysql.com/doc/refman/5.1/en/events-overview.html),也可以在数据库,即检索必要的行并脱机运行算法,并将结果返回到数据库中。取决于你的情况。 – Mario