1.1、根据用户的购买情况
淘宝会获取用户的 ip 地址,可以定位省份(获取通过用户所填写的收货地址),所有该省份的人员购买情况做统计,首先做分类统计:
-
北京市
家电类(多少人购买)
食品类(多少人购买)
-
南京市
家电类...
...
再根据当前的用户进行推荐
一般情况下,淘宝是不会把你曾经买过的商品再次推荐给你,一般会推荐比较类似的商品,曾经购买了一台笔记本电脑 --> 可能会认为你需要台式电脑 --> 最终会把台式电脑推荐给你
1.2、没有大数据的年代,淘宝是如何做的商品推荐呢?
淘宝会把用户比较感兴趣的商品推荐给用户。一般来说进入淘宝页面,当你打开感兴趣的商品页面(开始浏览的时间 --> 获取当前系统的毫秒数
),最后关闭页面时。(结束浏览的时间 --> 获取当前时间的毫秒数
)。
结束浏览的时间 - 开始浏览的时间 = 用户在页面所停留的时间
id item_id time user_id chrom_time
1 3(电脑) 1314 1 2020-3-30 15:00
2 7(鼠标) 3323 1 2020-3-30 16:00
...
这些数据会常年累积:
需要对 time 进行倒叙 --> 在上面的数据就是浏览时间长的数据(感兴趣的)
笔记本电脑类型:
游戏本(会根据用户实际购买数量来推荐,其它的游戏本)
轻薄本
商务本
如果是10年前感兴趣的商品,现在可能不感兴趣了,一般是通过浏览器的时间,获取半年前的数据。
比如:现在是2020年3月,那么有效数据最早能查到2019年9月的数据。
1.3、会根据用户所搜索的商品进行推荐
select * from item where item_name like ....
模糊查询有局限性,无法满足所有的查询情况!!!
所有框架的诞生就是因为当前市面上的框架已经满足不了程序的需求就会衍生出新的框架
面试题
模糊查询是否高效?
select * 和 select 字段哪个效率更高? 为什么?
select count(1) 和 select count(*) 和 select count(主键) 哪一个效率更高? 为什么?
1.4、为什么会有ES搜索框架
就是因为整个模糊查询无法解决当前的项目问题 --> 查询出的数据不准确,所以才会诞生出ES搜索框架
1.5、全文检索(了解)
全文检索其实就是爬虫/程序 ... 扫描/定位一篇文章
---> 把这些文章中所必要的语句建立索引
---> 指出被建立索引的词语在这一篇文章中所出现的次数
---> 用户可以根据所建立的索引直接进行索引查找
select * from xxx where keyword like '%庭前云落%'
其实全文检索就是类似于通过字典的目录去查询某些字/某些词的过程