用户浏览记录的添加
- 什么时候添加历史浏览记录?
- 在商品详情的视图里面添加浏览记录,
- 之前使用的list来存储浏览记录,
- 注意:如果good_id之前已经浏览过了,那就要移除,conn.lrem(history_key, 0, goods_id),0代表移除所有,
- 然后再在左侧加入, conn.lpush(history_key, goods_id),
- 只保存5条,conn.ltrim(history_key, 0, 4),只保留这个区间内的元素,
商品详情信息的获取和显示:
获取同一个spu的其他规格的商品:
商品列表页,
- 这个列表页是先点击一个种类,然后进入这个种类的列表页面,
- 所以要先验证种类的信息,把种类的id传过来,type_id
- 还需要一个页码,这是第二个参数,
- 以那种方式排序,这是第三个参数,
- 页面的类,django还需要好好的研究一下,
- from django.core.paginator import Paginator
商品的全文搜索功能:
- 如果要你自己做,你要怎么实现???
- 搜索关键字草莓,我们可以在商品里面进行模糊查询,名字或者简介包含草莓都查出来,
- 但是一般不这么用, 因为like查询效率是很低的,比如百度的搜索,
- 这就涉及到一个搜索引擎的作用,它可以根据表里面的某些字段,进行关键词的分析,搜索引擎可以对一句话进行分词,比如很好吃的草莓,可以分成很,好吃,草莓,这样分词之后会先查询结果,建立了关键字和表数据的关系,
- 这样就很快的查出来了,
- 还有一个全文检索的框架
- 这个框架可以使用搜索引擎,
- 所以流程是:
- 用户通过全文检索框架,然后全文检索框架去使用搜索引擎来搜索,
- 搜索引擎有很多种
- 我们使用haystack,这是一个全文检索框架,
- 它支持始终全文搜索的引擎,whoosh,solr,ES(这是java的)
- whoosh这是一个纯python编写的,虽然性能比不上es,但是对于小型的站点,whoosh足够使用了,
- 配合haystack全文检索框架,使用whoosh引擎,来帮助我们做搜索,