
搜索模块
Hiber12
I'm waiting
展开
-
面包屑功能的实现,在上篇文章得到了去重的属性值。现使用迭代器iterator游标指向商品的属性值,并与用户点击的属性值对比,如相同,则去除该行的属性,让用户点击的属性值成为面包屑
一、京东和淘宝都一样,每一个搜索都是一次独立的get请求,都是一个独立的URL请求:既不用post请求,也不用异步,为什么这样做?1、方便分享好友。2、get请求是同步请求,可以大幅度为服务器争取缓冲时间,减少服务器压力。异步恰恰相反!!!二、理解URL请求、面包屑、属性值列表中的每一个get请求:(1)当前请求url中所包含的属性=面包屑中所包含的属性(2)在面包屑请求中的属性值,在属性列表都被剔除了当我点击15.0英寸-15.9英寸,属性列表就变成这样了:由此可以得出结论:当点原创 2020-12-19 22:50:19 · 489 阅读 · 1 评论 -
用户搜索es某些商品,该商品的属性和属性值很多相同的,使用数据结构的set集把它们全部去重,再去查询数据库,最后显示没重复的属性值!
一、显示这些平台属性值列表,是根据用户搜索的内容提取出来(剔除不符合的其他属性值),不全部显示平台属性值。比如符合16G属性值的产品,用户点击16G,就把16G的产品中没有的属性值剔除。(1)可以使用es的aggregation聚合函数抽取平台属性这个效率比较低,因为它不同于mysql,它这个聚合结果的过程损耗太多时间了。es查询的效率虽然很高,但查询到的数据,使用聚合函数,还要统计每个商品拥有多少相同的属性值id,等待统计结果,再把它返回给你,性能较低!// es的聚合函数aggsTerm原创 2020-12-19 21:50:24 · 658 阅读 · 1 评论 -
搜索模块功能分析
1、搜索功能模块步骤:(1)数据结构的准备(2)项目的初始化(3)es客户端的整合(4)谷粒搜索代码的开发搜索功能和面包屑功能2、分析数据结构:(1)商品名称(展示/查询)(2)商品价格(展示/查询)(3)商品图片(展示)(4)平台属性和属性值的列表(查询)(5)商品描述(展示/查询)(6)热度值(查询,指搜索热度较高的商品,暂时不用)(7)三级分类id(查询)(8)系列商品productId(隐藏)(9)具体商品skuId主键(隐藏)3、参数结构:关键字((1)商品名称原创 2020-12-18 02:43:49 · 1563 阅读 · 0 评论