一种基于局部刷新的高级分类检索方法与流程

文档序号:15143820发布日期:2018-08-10 20:12阅读:156来源:国知局

本发明涉及一种基于局部刷新的高级分类检索方法,属于计算机技术领域。



背景技术:

随着时代的发展,人们生活水平的提高,人们购物方式也发生了变化。现在网上购物已成为一种时尚,与传统的购物方式相比,网上购物有很多好处,比如方便、快捷、种类齐全、省时省力。为了给用户提供更好的体验,一个性能优秀良好的高级分类检索模块就有了它存在的价值和意义。

目前,普遍存在的高级分类检索模块的实现大多数是在多个页面进行操作,而不是局部刷新,它们会根据不同的搜索条件创建不同的搜索界面,并且在检索数据库中早就加入了分类的标签,这样会造成资源和内存的浪费,并且需要多个页面不断地去做切换,当分类的标签种类特别多时,这将要花费很多的时间去构造展示界面。因此,一个功能模块完善、基于局部刷新的高级分类算法就有了它存在的价值和意义。



技术实现要素:

针对现有技术的不足,本发明提供了一种基于局部刷新的高级分类检索方法;

本发明类似于现在主流购物网站上的高级分类检索,使用自己设计的基于局部刷新的高级分类检索算法设计了一个多级分类检索功能模块。用户可以按照不同的标签去筛选自己需要的产品,比如说空调的品牌有格力,美的等,又比如说空调的能效有一级,二级等,空调的安置方式有立柜式,壁挂式等,既可以按照一种标签分类进行筛选,也支持多种标签共同使用筛选,这极大的提高了系统的使用性能。并且局部刷新这个特点不论是对用户的使用体验提升,还是系统效率提升都有很大程度上的帮助。

本发明的技术方案为:

一种基于局部刷新的高级分类检索方法,包括:

(1)利用自动化处理程序采集商品的高级分类标签,并存入数据库;所述数据库包括用户数据表、商品数据表、用户商品关联表;用户数据表包括用户的基本信息,用户的基本信息包括用户的姓名,电话,邮箱,身份证号;商品数据表中包含商品的名称、价格、销量、评价分数、购买链接、三个分类标签;用户商品关联表包括用户和商品的主键信息;三类标签是指从各类商品信息中提取的商品标签,针对每一类商品它都会有所不同,比如针对冰箱产品,它的标签就会是开门方式、制冷方式以及能效等级;而针对电视的话,它的标签则会是尺寸、清晰度以及能效等级。用户和商品的主键信息就是将用户和商品进行区分的唯一指标信息,每一个用户,每一件商品都有自己唯一的主键信息。

(2)初始化高级分类标签中对应的session中的值,即将高级分类标签中对应的session中的值设置为空;即:session用于存储特定用户会话所需要的属性及配置信息,当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中,在session中创建三类标签,并将三类标签初始值均设置为空。

(3)监听普通搜索功能,在搜索过程中获取所有商品的高级分类标签;

(4)监听用户点击,当点击步骤(3)获取的某个商品时,获取该商品的高级分类标签对应的session中的值a,并反馈给后端;即用http的post方法将用户点击的高级分类标签传到后台。

(5)判断与步骤(4)监听到的高级分类标签对应的session中的值是否为空,如果是,进入步骤(7),否则,进入步骤(6);

(6)将与步骤(4)监听到的高级分类标签对应的session中的值替换为a;a是指通过http的post方法传入的值。

(7)根据所有session中的条件和大的搜索类目构造搜索结果,session中的条件是指在步骤(2)中在session中创建的三类标签;大的搜索类目是指:根据商品的标题进行搜索,该搜索没有细致分类,列举出所有属于该标题的产品。

根据本发明优选的,所述步骤(1),利用自动化处理程序采集商品的高级分类标签,包括:

a、采用python构造的scapy爬虫对京东、淘宝网站上商品的分类标签进行爬取;

b、对步骤a爬取的商品的分类标签进行分类处理,采集商品的高级分类标签。确保每一给商品的高级分类标签都是唯一的;高级分类标签就是商品的比较特殊的标签,它们在此类商品的属性中至关重要,就比如空调的能效指数,安置方式,与其它商品的标签有所不同。

本发明将商品高级分类的标签通过python中的session进行可擦除、可覆盖形式地存储,这样就可以实现多次的标签检索和替换,而不是进行一次不可替换的检索,用多类session产生细分类条件的搜索结果与原来的商品搜索做一个交集运算,并将结果反馈给相同的前端,反馈的前端页面和之前的前端页面是一个,只是局部的去改变检索结果和相应的标签显示。

根据本发明优选的,所述步骤(2),在session中创建三类标签,是指:通过http的post方法不断传入新的参数,在后台判断该参数属于哪类标签并写入相对应的session。

这样,当用户在应用程序的web页面之间跳转时,存储在session中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的web页面时,如果该用户还没有会话,则web服务器将自动创建一个session对象。当会话过期或被放弃后,服务器将终止该会话。

根据本发明优选的,所述步骤(3),监听普通搜索功能,在搜索过程中获取所有商品的高级分类标签,通过在监听过程中获取的商品标题,将所述数据库中的该类商品的高级分类标签查找出来,并将该类商品的高级分类标签在前端界面展示给用户。方便用户选择更细类目的商品。

本发明的有益效果为:

1、利用查询集合缓存机制提高了搜索速度;

2、局部的改变检索结果和相应的标签显示,不需要多个前端界面响应;

3、采用q函数可以对关键字参数进行封装,从而更好地应用多个查询。

附图说明

图1为本发明高级分类检索方法的流程示意图;

图2为采用现有技术算法搜索的结果示意图;

图3为采用本发明高级分类检索方法的结果示意图;

图4为采用本发明高级分类检索方法实现平板电视的乐视品牌的、超高清的65英寸的商品的高级分类检索的效果示意图。

具体实施方式

下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。

实施例1

一种基于局部刷新的高级分类检索方法,如图1所示,包括:

(1)利用自动化处理程序采集商品的高级分类标签,并存入数据库;所述数据库采用mysql数据库,所述数据库包括用户数据表、商品数据表、用户商品关联表;用户数据表包括用户的基本信息,用户的基本信息包括用户的姓名,电话,邮箱,身份证号;商品数据表中包含商品的名称、价格、销量、评价分数、购买链接、三个分类标签;用户商品关联表包括用户和商品的主键信息;三类标签是指从各类商品信息中提取的商品标签,针对每一类商品它都会有所不同,比如针对冰箱产品,它的标签就会是开门方式、制冷方式以及能效等级;而针对电视的话,它的标签则会是尺寸、清晰度以及能效等级。用户和商品的主键信息就是将用户和商品进行区分的唯一指标信息,每一个用户,每一件商品都有自己唯一的主键信息。

(2)初始化高级分类标签中对应的session中的值,即将高级分类标签中对应的session中的值设置为空;即:session用于存储特定用户会话所需要的属性及配置信息,当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中,在session中创建三类标签,并将三类标签初始值均设置为空。在session中创建三类标签,是指:通过http的post方法不断传入新的参数,在后台判断该参数属于哪类标签并写入相对应的session。

这样,当用户在应用程序的web页面之间跳转时,存储在session中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的web页面时,如果该用户还没有会话,则web服务器将自动创建一个session对象。当会话过期或被放弃后,服务器将终止该会话。

(3)监听普通搜索功能,在搜索过程中获取所有商品的高级分类标签;是指:监听普通搜索功能,在搜索过程中获取所有商品的高级分类标签,通过在监听过程中获取的商品标题,将所述数据库中的该类商品的高级分类标签查找出来,并将该类商品的高级分类标签在前端界面展示给用户。方便用户选择更细类目的商品。

(4)监听用户点击,当点击步骤(3)获取的某个商品时,获取该商品的高级分类标签对应的session中的值a,并反馈给后端;即用http的post方法将用户点击的高级分类标签传到后台。

(5)判断与步骤(4)监听到的高级分类标签对应的session中的值是否为空,如果是,进入步骤(7),否则,进入步骤(6);

(6)将与步骤(4)监听到的高级分类标签对应的session中的值替换为a;a是指通过http的post方法传入的值。

(7)根据所有session中的条件和大的搜索类目构造搜索结果,session中的条件是指在步骤(2)中在session中创建的三类标签;大的搜索类目是指:根据商品的标题进行搜索,该搜索没有细致分类,列举出所有属于该标题的产品。

图2为采用现有技术算法搜索的结果示意图;图3为采用本实施例高级分类检索方法的结果示意图;由图2、图3对比可知,使用高级分类检索算法之前,完成搜索的总时长为959ms,网站加载完成用时为1.25s。使用之后,完成搜索的总时长为548ms,网站加载完成用时为809ms。因此在高级分类搜索方面,搜索效率提高了一倍,在网站整体加载方面,整体加效率提高了0.5倍。

图4为采用本实施例高级分类检索方法实现平板电视的乐视品牌的、超高清的65英寸的商品的高级分类检索的效果示意图。通过对于局部刷新的高级分类检索算法的设计,用户目前可以进行的比对不再是粗糙的针对某一整个类目的商品的比对,用户可以随心所欲的选择自己需要的特定类型或者品牌的商品,进行细粒度的比对。

实施例2

根据实施例1所述的一种基于局部刷新的高级分类检索方法,其区别在于,

所述步骤(1),利用自动化处理程序采集商品的高级分类标签,包括:

a、采用python构造的scapy爬虫对京东、淘宝网站上商品的分类标签进行爬取;

b、对步骤a爬取的商品的分类标签进行分类处理,采集商品的高级分类标签。确保每一给商品的高级分类标签都是唯一的;高级分类标签就是商品的比较特殊的标签,它们在此类商品的属性中至关重要,就比如空调的能效指数,安置方式,与其它商品的标签有所不同。

本发明将商品高级分类的标签通过python中的session进行可擦除、可覆盖形式地存储,这样就可以实现多次的标签检索和替换,而不是进行一次不可替换的检索,用多类session产生细分类条件的搜索结果与原来的商品搜索做一个交集运算,并将结果反馈给相同的前端,反馈的前端页面和之前的前端页面是一个,只是局部的去改变检索结果和相应的标签显示。

算法伪代码

该伪代码以四类高级分类标签为例,详尽的展示了该算法的运行机制,包括前端的数据交互和后台的数据处理。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1