基于属性的搜索导航方法及系统与流程

文档序号:11155078阅读:344来源:国知局
基于属性的搜索导航方法及系统与制造工艺
本申请涉及互联网
技术领域
,尤其涉及一种基于属性的搜索导航方法及系统。
背景技术
:随着搜索技术的不断成熟,越来越多的网站开始提供搜索导航功能,例如提供类目导航、属性导航等,以便于用户快速搜索。其中,属性与类目是父子关系,属性挂在类目下。在实际应用中,用户可以手动选择叶子类目,或者也可以由网站自动根据用户输入的搜索词默认匹配叶子类目,然后再在该叶子类目下进行属性筛选。在属性筛选过程中,用户需要选择具体属性的属性值作为筛选条件。最初的属性筛选采用单项筛选模式,即用户每次搜索只能使用一个属性值作为筛选条件。为了更加高效引导用户进行搜索,逐渐出现了多项筛选模式。与单项筛选模式相比,多项筛选模式是指用户每次搜索可以使用多个属性值作为筛选条件的筛选模式。在现有多项筛选模式中,用户需要先触发“多选”按钮,展开多选面板,然后选中多个属性值,再触发“确定”按钮提交给搜索引擎,搜索引擎返回搜索结果,此时搜索结果页面跟着刷新。当用户想增加/替换已选择的属性值时,需要先删除已选择的属性值,恢复到初始状态,然后重新执行前面描述的操作,这种方式不太灵活,用户操作繁琐,搜索效率较低。技术实现要素:本申请的多个方面提供一种基于属性的搜索导航方法及系统,用以简化用户操作,提高搜索效率。本申请的一方面,提供一种基于属性的搜索导航方法,包括:获取搜索请求,所述搜索请求包括至少一个已选属性下的已选属性值以及指示所述至少一个已选属性中最后被选的属性的最后被选指示信息;根据所述至少一个已选属性值及所述最后被选指示信息,获取第一网络对象集合中各网络对象具有的属性值中属于所述最后被选的属性下的属性值作为第一待展示属性值,所述第一网络对象集合是指根据所述至少一个已选属性中除所述最后被选的属性之外的其余已选属性下的已选属性值搜索到的网络对象集合;将所述第一待展示属性值展示于搜索结果页面上,并设置所述第一待展示属性值中的未选属性值处于可选择状态,以供用户继续选择。本申请的另一方面,提供一种基于属性的搜索导航系统,包括:第一获取模块,用于获取搜索请求,所述搜索请求包括至少一个已选属性下的已选属性值以及指示所述至少一个已选属性中最后被选的属性的最后被选指示信息;第二获取模块,用于根据所述至少一个已选属性值及所述最后被选指示信息,获取第一网络对象集合中各网络对象具有的属性值中属于所述最后被选的属性下的属性值作为第一待展示属性值,所述第一网络对象集合是指根据所述至少一个已选属性中除所述最后被选的属性之外的其余已选属性下的已选属性值搜索到的网络对象集合;展示标记模块,用于将所述第一待展示属性值展示于搜索结果页面上,并设置所述第一待展示属性值中的未选属性值处于可选择状态,以供用户继续选择。在本申请基于属性的搜索引导方案中,搜索请求除了包括搜索所需的至少一个已选属性下的已选属性值之外,还包括:用于指示该至少一个已选属性中最后一个被选择的已选属性的最后被选指示信息,这样可以获取根据至少一个已选属性中除最后被选的属性之外的其余已选属性下的已选属性值搜索到的网络对象集合,即第一网络对象集合,然后可以获取第一网络对象集 合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值,将所获得的第一最后被选的属性待展示属性值展示在搜索结果页面上,并设置第一待展示属性值中的未选属性值处于可选择状态,这样可以达到在搜索结果页面上保留最后被选的属性下的属性值的目的。基于此,如果用户在选择最后一个属性下的属性值之后,想要增加/替换已选属性值时,可以直接进行选择操作,与现有技术相比,这种方式比较灵活,简化了用户操作,有利于提高搜索效率。【附图说明】为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有多项筛选模式中用户选择属性值的界面示意图;图2为本申请一实施例提供的基于属性的搜索导航方法的流程示意图;图3和图4为本申请一实施例提供的基于属性的搜索引导方法应用过程中的搜索结果页面的状态示意图;图5为本申请另一实施例提供的基于属性的搜索导航系统的结构示意图;图6为本申请又一实施例提供的基于属性的搜索导航系统的结构示意图。【具体实施方式】为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为现有多项筛选模式中用户选择属性值的多选面板示意图。用户触发“多选”按钮,展开如图1所示的多选面板,该多选面板中显示有多个品牌属性下的属性值,用户在选择一个或多个属性值之后,通过触发“确定”按钮发出搜索请求,此时,该多选面板就会消失,页面上仅保留用户选择的属性值。如果用户想增加/替换已选择的属性值时,需要先删除已选择的属性值,恢复到初始状态,然后重新调出多选面板重新选择并提交,这种方式不太灵活,用户操作繁琐,搜索效率较低。针对该问题,本申请提供一种技术方案,主要原理是:在用户选择最后一个属性下的属性值后,做到在搜索结果页面上保留用户选择的最后一个属性下可供用户继续选择的属性值,以便用户继续选择或修改。由于搜索结果页面上保留有用户选择的最后一个属性下可供用户继续选择的属性值,因此若用户想要增加/替换已选属性值时,可以直接进行选择操作,简化了用户操作,有利于提高搜索效率。本申请以下实施例将详细描述上述主要原理的具体实现。图2为本申请一实施例提供的基于属性的搜索导航方法的流程示意图。如图2所示,该方法包括:201、获取搜索请求,该搜索请求包括至少一个已选属性下的已选属性值以及指示至少一个已选属性中最后被选的属性的最后被选指示信息。202、根据上述至少一个已选属性值及上述最后被选指示信息,获取第一网络对象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值,第一网络对象集合是指根据至少一个已选属性中除最后被选的属性之外的其余已选属性下的已选属性值搜索到的网络对象。203、将第一待展示属性值展示于搜索结果页面上,并设置第一待展示属性值中的未选属性值处于可选择状态,以供用户继续选择。在本实施例中,为了实现基于属性的搜索导航,要求页面(例如搜索结果页面)至少包括两部分区域,一部分用于展示搜索结果(简称为搜索结果展示区),一部分用于展示属性及其属性值(简称为属性筛选区)。除此之外,页面上还可以包括类目区域、输入框区域等。在属性筛选区中,包括至少一个属性,每个属性具有至少一个属性值,用于供用户选择。其中,根据用户选择的叶子类目的不同或者根据用户输入的搜索词的不同,属性筛选区中展示的属性及其属性值也会有所不同。一种页面的样式如图3所示。图3所示页面的左侧上面部分为类目区域(RelatedCatgeory),左侧下面部分为属性筛选区(ProductFeatures),靠近顶部的区域是输入框区域,右侧中间大块区域为搜索结果展示区。在图3展示的页面中,用户尚未勾选任何属性下的任何属性值。值得说明的是,图3所示为一英文网站上的页面,由于图3的主要目的是展示页面样式,并不十分关注页面上的内容,故本申请中未对图3中的有关英文进行翻译。在本实施例中,当用户需要搜索网络对象时,需要在页面上选择属性及属性值作为待搜索网络对象需要满足的筛选条件,即用户所需的网络对象是指属性符合用户选择的属性及属性值的网络对象。为便于区分和描述,本实施例将用户选择的属性称为已选属性,相应的,未被用户选择的属性称为未选属性;已选属性下用户选择的属性值称为已选属性的已选属性值,相应的,已选属性下未被用户选择的属性值称为已选属性下的未选属性值。为了获取用户所需的网络对象,客户端需要将用户选择的属性(即已选属性)下的属性值提供给服务端,以供服务端获取符合用户需求的网络对象并返回。具体的,客户端可以根据已选属性下的已选属性值生成搜索请求,将搜索请求发送给服务端,以供服务端根据该搜索请求获取搜索结果并返回。值得说明的是,客户端可以在用户选择结束后,根据用户的提交指令,生成搜索请求;或者,也可以是在用户每次执行选择操作后自动生成搜索请求。在一种优选实施方式中,用户每次只能选择一个属性中的一个属性值。在用户完成一次选择操作之后,客户端可以根据用户触发的提交指令,生成搜索请求,例如用户可以点击提交或确定按钮以发出提交指令。或者,在用户完成一次选择操作之后,客户端自动生成搜索请求,在该方式中,用户的选择操作不仅向客户端传递用户选择的属性及属性值,而且同时出发客户端生成搜索请求,这个方式可以简化用户操作,用户在执行选择属性值的操作之后就会看到搜索结果,用户体验更好。为便于描述,以用户本次选择属性值的操作为例详细说明自动生成搜索请求的过程。具体的,客户端响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成搜索请求。其中,本次已选属性是指用户在本次发起的属性值选择操作中所选择的属性,相应的,本次已选属性下的已选属性值是指用户在本次发起的属性值选择操作中在所选择的属性下所选择的属性值。在用户发起下一次属性值选择操作之前,本次已选属性即为到当前为止用户最后选择的属性,简称为最后被选的属性。相应的,本次已选属性和之前已选属性即为搜索请求中携带的至少一个已选属性;而本次已选属性下的已选属性值和之前已选属性下的已选属性值即为搜索请求中携带的至少一个已选属性下的已选属性值。在本实施例中,需要识别除至少一个已选属性中的最后被选的属性。为了实现该目的,本实施例的搜索请求中,除了需要携带至少一个已选属性下的已选属性值之外,还需要携带能够指示至少一个已选属性中最后被选的属性的信息,简称为最后被选指示信息。本实施例对上述最后被选指示信息的信息形式不做限定,凡是能够起到指示最后被选的属性的作用的信息形式均适用于本实施例。例如,可以通过搜索请求中的特定位表示最后被选指示信息,该特定位的具体取值指示最后被选的属性,该具体取值可以是最后被选的属性的标识,但不限于这种方式。又例如,最后被选指示信息还可以是表示至少一个已选属性之间选择顺序的信息,简称为选择顺序指示信息,这样该选择顺序指示信息最后指示的已选 属性即为最后被选的属性。在一可选实施方式中,客户端可以响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成动态URL,然后根据动态URL生成搜索请求。在动态URL中,这些已选属性之间是按照已选属性之间的选择顺序排列的。换句话说,当按照不同顺序选择本次已选属性和之前已选属性时,本次已选属性和之前已选属性在动态URL中的顺序不相同,本次已选属性和之前已选属性在动态URL中的先后顺序可以作为表示这些已选属性之间选择顺序的选择顺序指示信息。在另一可选实施方式中,客户端可以响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成静态URL;其中,当按照不同顺序选择本次已选属性和之前已选属性时,本次已选属性和之前已选属性在静态URL中的顺序相同,这意味着,这些已选属性在静态URL中的顺序不能表示这些已选属性之间的选择顺序;因此还需要生成本次已选属性和之前已选属性之间的选择顺序指示信息,以作为最后被选指示信息,并添加在静态URL中,以生成搜索请求。与动态URL相比,静态URL中无法体现已选属性之间的选择顺序,也就是说,对于同样的已选属性,无论选择顺序是否相同,所生成的静态URL是相同的。因此,客户端需要生成选择顺序指示信息。可选的,客户端可以根据选择本次已选属性和之前已选属性时的先后顺序,将本次已选属性和之前已选属性的标识符进行组合,以作为选择顺序指示信息。其中,属性的标识符可以由属性的标识和属性值组成。例如,假设一些属性的标识和取值如下表1所示:表1属性标识属性值意义ATTRATTR-36选择产品属性中的颜色属性(36代表颜色)SUPPSUPP-25选择供应商属性下的top3market供应商AREAAREA-1选择区域属性下的亚洲(1代表亚洲)CONTCONT-143选择国家属性下的美国(143代表美国)PROVPROV-31选择省份属性下的云南(31代表云南)在上述表1中,ATTR表示产品属性,例如,取值为36表示颜色属性;SUPP表示供应商属性用,例如,取值为25表示top3market供应商;AREA表示地理位置属性,例如,取值为1表示亚洲;CONT表示国家属性,例如取值为143表示美国;PROV表示省份属性,例如取值为31表示云南。其中,可以用“--”作为已选属性之间的分隔符,用“-”作为已选属性和已选属性值之间的分隔符。举例说明,假设一搜索请求为:http://[host]/[path]/mp3/CID63710/a-1,2--b-3,4.html,该搜索请求包括两个已选属性分别为a和b,a-后面的1,2表示该已选属性a下的已选属性值,同理,b-后面的3,4表示已选属性b下的已选属性值。客户端在生成搜索请求之后,将该搜索请求发送给服务端。服务端接收客户端发送的搜索请求。服务端对搜索请求进行解析,从中获取至少一个已选属性下的已选属性值以及用于指示至少一个已选属性中最后被选的属性的最后被选指示信息。之后,服务端根据至少一个已选属性下的已选属性值及最后被选指示信息,获取第一网络对象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值。其中,第一网络对象集合是指根据至少一个已选属性中除最后被选的属性之外的其余已选属性下的已选属性值搜索到的网络对象集合,主要包括属性满足其余已选属性下的已选属性值的网络对象。第一待展示属性值可能包括最后被选的属性下的已选属性值(即用户选择的属性值),也可能包括最后被选的属性下的未选属性。在获得第一待展示属性值之后,可以将第一待展示属性值展示于搜索结果页面上。对于第一待展示属性值中的已选属性值,可以将其标记为选中状 态,例如将其对应的勾选框置为勾选状态;对于第一待展示属性值中的未选属性值,将其设置为处于可选择状态,例如将其对应的勾选框置为未勾选状态,以供用户继续选择。至此,用户在选择最后一个属性下的属性值之后,可以继续看到该最后被选的属性下的属性值,如果用户希望增加/替换属性值,则可以直接进行操作,无需像现有技术那样通过删除已选属性值调出多选面板重新选择,对用户来说,操作相对简单,用户选择属性值的效率较高,有利于提高搜索效率。结合图3和图4进行举例说明。在图3中,用户输入的搜索词是mp3,但用户并未选择任何属性下的任何属性信息。之后,用户选择了功能(Function)属性下的录音(VoiceRecorder)这一属性值,符合该筛选条件的mp3会被展示在搜索结果展示区,该状态未被显示。接着,基于之前选择的功能(Function)属性下的录音(VoiceRecorder)属性值,用户继续选择了颜色(Color)属性下的黑色(Black)、蓝/绿色(Blue/Green)这两个属性值。当用户选择了蓝/绿色(Blue/Green)这一属性值时,搜索结果页面如图4所示。在图4中,左侧属性筛选区内依然显示有颜色(Color)属性下的属性值,并且红色/粉红色(Red/Pink)、黄色/金色(Yellow/Gold)这两个属性值处于可选择状态,同时,在图4所示搜索结果页面的结果展示区内展示有具有录音(VoiceRecorder)功能且颜色是黑色或蓝/绿色的mp3的相关信息。在图4所示搜索结果页面上,用户仍能看到颜色(Color)属性下的属性值,如果用户不想搜索蓝/绿色(Blue/Green)的mp3,而是想搜索黄色/金色(Yellow/Gold)的mp3,则可以直接将蓝/绿色(Blue/Green)这个属性值前面的“√”取消,并勾选黄色/金色(Yellow/Gold)这个属性值,即在前面的勾选框内打上“√”。这种操作方式相对简单,符合用户的使用习惯,对用户的引导效果较好,有利于提高搜索效率。进一步,服务端还可以根据至少一个已选属性下的已选属性值,获取第二网络对象集合中各网络对象具有的属性值中属于未选属性下的属性值作为第二待展示属性值。其中,第二网络对象集合是指根据至少一个已选属性中 所有已选属性下的已选属性值搜索到的网络对象集合,主要包括属性满足至少一个已选属性下的已选属性值的网络对象。在获得第二待展示属性值之后,可以将第二待展示属性值展示于搜索结果页面上,并设置第二待展示属性值处于可选择状态,以供用户继续选择,如图4中的内存大小(MemorySize)属性下的各内存值等。另外,除了将第二待展示属性值展示于搜索结果页面之外,还需要将作为此次搜索结果的第二网络对象集合展示于搜索结果页面上。在一可选实施方式中,服务端在获取搜索请求之后,可以将搜索请求拆分为搜索结果获取请求、第一属性值获取请求和第二属性值获取请求,然后,根据搜索结果获取请求获取搜索结果(即第二网络对象集合),根据第一属性值获取请求获取第一待展示属性值,根据第二属性值获取请求获取第二待展示属性值。具体的,服务端可以根据搜索请求携带的至少一个已选属性下的已选属性值及最后被选指示信息,生成第一属性值获取请求;根据第一属性值获取请求,获得第一待展示属性值。另外,服务端可以根据搜索请求携带的至少一个已选属性下的已选属性值,生成第二属性值获取请求;根据第二属性值获取请求,获得第二待展示属性值。服务端可以根据搜索请求携带的至少一个已选属性下的已选属性值,生成搜索结果获取请求;根据搜索结果获取请求,获得第二网络对象集合。上述第一属性值获取请求包括其余已选属性下的已选属性值。上述第二属性值获取请求包括至少一个已选属性中所有已选属性下的已选属性值。上述搜索结果获取请求包括至少一个已选属性中所有已选属性下的已选属性值。例如,用户选择了属性a和b,选择顺序为a,b,这意味着最后被选的属性为b,则由此形成的搜索请求为:http://[host]/[path]?q=mp3&catid=63710&a=1,2&b=3,4,则第一属性值获取请求可以表示为:http://[host]/[path]?q=mp3&catid=63710&a=1,2,第二属性值获取请求可以表示为:http://[host]/[path]?q=mp3&catid=63710&a=1,2&b=3,4,搜索结果获取请求 可以表示为:http://[host]/[path]?q=mp3&catid=63710&a=1,2&b=3,4。由此可见,第二属性值获取请求与搜索结果获取请求相同。在一可选实施方式中,具体可由服务端本身根据第一属性值获取请求进行搜索以获得第一网络对象集合,并统计出第一网络对象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值。同理,具体可由服务端本身根据搜索结果获取请求进行搜索以获得第二网络对象集合,并将第二网络对象集合展示于搜索结果页面上。同理,具体可由服务端本身根据第二属性值获取请求进行搜索以获得第二网络对象集合,并统计出第二网络对象集合中各网络对象具有的属性值中属于未选属性下的属性值作为第二待展示属性值。例如,服务端直接根据第一属性值获取请求或搜索结果获取请求或第二属性值获取请求在数据库中进行搜索。在上述过程中容易发现:服务端需要根据搜索结果获取请求和第二属性值获取请求进行两次搜索,但实际上,由于两次搜索结果所依据的搜索条件相同,所以搜索结果是相同的。基于该发现,在获得第二网络对象集合后,服务端可以将搜索结果获取请求与第二网络对象集合保存在内存中,当需要获取第二待展示属性值时,服务端可以直接根据第二属性值获取请求在内存中进行查找,获取第二网络对象集合,然后统计出第二网络对象集合中各网络对象具有的属性值中属于未选属性下的属性值作为第二待展示属性值,不需要再次进行搜索,有利于提高处理效率,节约搜索所消耗的资源。在另一可选实施方式中,服务端可以通过搜索引擎进行搜索处理。对于第一待展示属性值:服务端可以至少一个已选属性值及最后被选指示信息,生成第一属性值获取请求;将第一属性值获取请求发送给搜索引擎,以供搜索引擎根据第一属性值获取请求进行搜索以获得第一网络对象集合,并统计出第一网络对象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值;然后,接收搜索引擎返回的第一待展示属性值。进一步,考虑到第一网络对象集合仅为一中间数据,搜索引擎可以不返 回,这样可以节约传输第一网络对象集合所消耗的网络带宽等资源。为了达到搜索引擎不返回第一网络对象集合的目的,服务端可以在第一属性值获取请求中携带用于指示无需返回第一网络对象集合的预设参数,例如可以在第一属性值获取请求中增加statistic=true的参数,用以指示无需返回第一网络对象集合。基于此,生成第一属性值获取请求的过程包括:根据最后被选指示信息,将最后被选的属性下的已选属性值从至少一个已选属性下的已选属性值中去除,以获得其余已选属性值下的已选属性值;将其余已选属性值下的已选属性值和用于指示无需返回第一网络对象集合的预设参数进行拼接,以形成第一属性值获取请求。对于搜索引擎来说,根据该预设参数不返回第一网络对象集合,仅仅返回第一待展示属性值。对于第二网络对象集合:服务端可以根据至少一个已选属性下的已选属性值,生成搜索结果获取请求;将搜索结果获取请求发送给搜索引擎,以供搜索引擎根据该搜索结果获取请求进行搜索以获得第二网络对象集合;搜索引擎在获得第二网络对象集合后,将第二网络对象集合返回给服务端;服务端接收搜索引擎返回的第二网络对象集合,并将第二网络对象集合展示于搜索结果页面上。值得说明的是,由于在获取第二待展示属性值的过程中,还需要用到第二网络对象集合,故搜索引擎除了将第二网络对象集合返回给服务端之外,还可以将搜索结果获取请求和第二网络对象集合保存在本地内存中。例如,对搜索引擎来说,可以利用Java的切面技术,搜索结果获取请求作为键(key),将第二网络对象集合作为值(value)保存在本地内存中。另外,值得说明的是,本实施例以搜索结果获取请求先到达搜索引擎为例,但并不限于此。对搜索引擎来说,可以将第二属性值获取请求和搜索结果获取请求中先到的那个请求作为键(key),将根据先到的请求搜索到的第二网络对象集合作为值(value)保存在本地内存中,当后一个请求到达时,搜索引擎可以直接从本地内存中获取所需返回的信息即可,对搜索引擎来说,两个属性值获取请求只进行一次搜索,可以节约搜索引擎的资源。基于上述,对于第二待展示属性值:服务端可以根据至少一个已选属性下的已选属性值,生成第二属性值获取请求;将第二属性值获取请求发送给搜索引擎,以供搜索引擎从本地内存中获取之前根据搜索结果获取请求搜索到的第二网络对象集合,并统计出第二网络对象集合中各网络对象具有的属性值中属于未选属性下的属性值作为第二待展示属性值;然后,接收搜索引擎返回的第二网络对象集合以及第二待展示属性值。进一步,考虑到第二网络对象集合已经被返回,搜索引擎无需再次返回,这样可以节约传输第二网络对象集合所消耗的网络带宽等资源。为了达到搜索引擎不返回第二网络对象集合的目的,服务端可以在第二属性值获取请求中携带用于指示无需返回第二网络对象集合的预设参数,例如可以在第二属性值获取请求中增加statistic=true的参数,用以指示无需返回第二网络对象集合。基于此,生成第二属性值获取请求的过程包括:将至少一个已选属性值中所有已选属性下的已选属性值和用于指示无需返回第二网络对象集合的预设参数进行拼接,以形成第二属性值获取请求。对于搜索引擎来说,根据该预设参数不返回第二网络对象集合,仅仅返回第二待展示属性值。在本实施例中,向搜索引擎请求第二网络对象集合的过程和向搜索引擎请求第二待展示属性值的过程作为两个独立的过程实现,主要是考虑了系统时差,但并不限于此。例如,向搜索引擎请求第二网络对象集合的过程和向搜索引擎请求第二待展示属性值的过程也可以在一个过程实现,这样可以减少请求次数,有利于节约资源。在获得第二网络对象以及第二待展示属性值之后,将第二网络对象以及第二待展示属性值展示于搜索结果页面上,并设置第二待展示属性值处于可选择状态。在一可选实施方式中,为了用户及时了解自己选择了哪些属性下的哪些属性值以及能够更加灵活的选择属性值,除了获取第一待展示属性值和第二待展示属性值之外,还可以获取第二网络对象集合中各网络对象具有的属性 值中属于其余已选属性下的属性值作为第三待展示属性值,并将第三待展示属性值展示于搜索结果页面上;若第三待展示属性值中包括未选属性值,设置第三待展示属性值中的未选属性值处于可选择状态,以供用户继续选择。举例说明,用户依次选了属性a下的属性值1,2,属性b下的属性值3,4,以及属性c下的属性值5。其中,根据属性a下的属性值1,2和属性b下的属性值3,4进行搜索的结果为第一网络对象集合,第一网络对象集合中各网络对象具有的属性值中包括属性a下的属性值1,2和属性b下的属性值3,4,除此之外,发现第一网络对象集合中各网络对象具有的属性值中还包括属性c下的属性值5,6,7,则可以将属性c下的属性值5,6,7展示在搜索结果页面上,并标记属性c下的属性值6,7为可选择状态,标记属性c下的属性值5为选中状态;另外,根据属性a下的属性值1,2、属性b下的属性值3,4以及属性c下的取值5进行搜索的结果为第二网络对象集合,发现第二网络对象集合中各网络对象的属性值中包括属性a下的属性值1,2、属性b下的属性值3,4以及属性d下的属性值8,9,则需要将第二网络对象集合以及属性a下的属性值1,2、属性b下的属性值3,4以及属性d下的属性值8,9显示在搜索结果页面上,并标记属性d下的属性值8,9为可选状态,标记属性a下的属性值1,2、属性b下的属性值3,4为选中状态。在上述实施方式中,若用户对之前已经选择的属性值不满意,或者发现之前选择的属性下还有可选的属性值,则可以替换或增加属性值,以便于进一步明确筛选条件,提高搜索效率和精确度。在另外实施方式中,服务端不需要获取第三待展示属性值,而是直接对至少一个已选属性中除最后被选的属性之外的其余已选属性下的属性值进行处理。例如,对于上述至少一个已选属性中除最后被选的属性之外的其余已选属性下的未选属性值,可以直接将其隐藏或灰度化;对于上述至少一个已选属性中除最后被选的属性之外的其余已选属性下的已选属性值,将其显示于搜索结果页面上并标记为选中状态。最后值得说明的是:在本申请中,不同已选属性之间是且的关系,同一 已选属性下的不同已选属性值之间是或的关系。换句话来说,在根据多个已选属性进行搜索时,搜索到的网络对象需要同时满足多个已选属性,而在根据同一已选属性下的不同已选属性值进行搜索时,搜索到的网络对象只需满足多个已选属性值中的至少一个属性值即可。举例说明,以搜索请求为:http://[host]/[path]?q=mp3&catid=63710&a=1,2&b=3,4为例,则搜索到的网络对象集合可以表达为:网络对象集合∈[关键词=mp3]∩[类目ID=63710]∩[属性a的值=1∪属性a的值=2]∩[属性b的值=3∪属性b的值=4]。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。图5为本申请另一实施例提供的基于属性的搜索导航系统的结构示意图。该系统包括:第一获取模块51、第二获取模块52和展示标记模块53。第一获取模块51,用于获取搜索请求,搜索请求包括至少一个已选属性下的已选属性值以及指示至少一个已选属性中最后被选的属性的最后被选指示信息。第二获取模块52,用于根据至少一个已选属性值及最后被选指示信息,获取第一网络对象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值,第一网络对象集合是指根据至少一个已选属性中除最后被选的属性之外的其余已选属性下的已选属性值搜索到的网络对象集合。展示标记模块53,用于将第一待展示属性值展示于搜索结果页面上,并设置第一待展示属性值中的未选属性值处于可选择状态,以供用户继续选择。在一可选实施方式中,第二获取模块52还用于:根据至少一个已选属 性下的已选属性值,获取第二网络对象集合中各网络对象具有的属性值中属于未选属性下的属性值作为第二待展示属性值;第二网络对象集合是指根据至少一个已选属性中所有已选属性下的已选属性值搜索到的网络对象集合。展示标记模块53还用于:将第二待展示属性值展示于搜索结果页面上,并设置第二待展示属性值处于可选择状态,以供用户继续选择。在一可选实施方式中,第二获取模块52还用于:获取第二网络对象集合中各网络对象具有的属性中属于其余已选属性下的属性值作为第三待展示属性值。展示标记模块53还用于:将第三待展示属性值展示于搜索结果页面上,并在第三待展示属性值中包括未选属性值,设置第三待展示属性值中的未选属性值处于可选择状态,以供用户继续选择。在一可选实施方式中,如图6所示,该系统还包括:请求生成模块54。请求生成模块54,用于在第一获取模块52获取搜索请求之前,响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成搜索请求。例如,第一获取模块52可以从请求生成模块54获取搜索请求,或者接收请求生成模块54发送的搜索请求。进一步,请求生成模块54在响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成搜索请求时,具体用于:响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成静态URL,其中,当按照不同顺序选择本次已选属性和之前已选属性时,本次已选属性和之前已选属性在静态URL中的顺序相同;生成本次已选属性和之前已选属性之间的选择顺序指示信息,以作为最后被选指示信息,并添加在静态URL中,以生成搜索请求。更进一步,请求生成模块54在生成本次已选属性和之前已选属性之间的选择顺序指示信息,以作为最后被选指示信息时,具体用于:根据选择本次已选属性和之前已选属性时的先后顺序,将本次已选属性和之前已选属性的标识符进行组合,以作为选择顺序指示信息。或者,请求生成模块54在响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成搜索请求时,具体用于:响应于用户本次发起的属性值选择操作,根据本次已选属性下的已选属性值和之前已选属性下的已选属性值,生成动态URL,其中,当按照不同顺序选择本次已选属性和之前已选属性时,本次已选属性和之前已选属性在动态URL中的顺序不相同;根据动态URL,生成搜索请求。在一可选实施方式中,第二获取模块52在根据至少一个已选属性值及最后被选指示信息,获取第一网络对象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值时,具体用于:根据至少一个已选属性值及最后被选指示信息,生成第一属性值获取请求;其中,第一属性值获取请求包括其余已选属性下的已选属性值;根据第一属性值获取请求,获得第一待展示属性值。进一步,第二获取模块52在根据至少一个已选属性值及最后被选指示信息,生成第一属性值获取请求时,具体用于:根据所述最后被选指示信息,将所述最后被选的属性下的已选属性值从所述至少一个已选属性下的已选属性值中去除,以获得所述其余已选属性下的已选属性值;将所述其余已选属性下的已选属性值和用于指示无需返回所述第一网络对象集合的预设参数进行拼接,以形成所述第一属性值获取请求。进一步,第二获取模块52在根据第一属性值获取请求,获得第一待展示属性值时,具体用于:将所述第一属性值获取请求发送给搜索引擎,以供所述搜索引擎根据所述第一属性值获取请求进行搜索以获得第一网络对象集合,并统计出第一网络对 象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值;接收搜索引擎根据预测参数仅返回的第一待展示属性值。在一可选实施方式中,第二获取模块52在根据至少一个已选属性下的已选属性值,获取第二网络对象集合中各网络对象具有的属性值中属于未选属性下的属性值作为第二待展示属性值时,具体用于:根据至少一个已选属性下的已选属性值,生成第二属性值获取请求,第二属性值获取请求包括至少一个已选属性中所有已选属性下的已选属性值;根据第二属性值获取请求,获得第二待展示属性值。进一步,如图6所示,该系统还包括:搜索结果处理模块55。搜索结果处理模块55,用于根据至少一个已选属性下的已选属性值,生成搜索结果获取请求,搜索结果获取请求包括至少一个已选属性中所有已选属性下的已选属性值;将搜索结果获取请求发送给搜索引擎,以供搜索引擎根据搜索结果获取请求进行搜索以获得第二网络对象集合;接收搜索引擎返回的第二网络对象集合,并将第二网络对象集合展示于搜索结果页面上。在上述过程中,搜索引擎将搜索结果获取请求与第二网络对象集合存储在本地内存中。基于上述,第二获取模块52在根据至少一个已选属性下的已选属性值,生成第二属性值获取请求时,具体用于:将至少一个已选属性中所有已选属性下的已选属性值和用于指示无需返回第二网络对象集合的预设参数进行拼接,以形成第二属性值获取请求。基于上述,第二获取模块52在根据第二属性值获取请求,获得第二待展示属性值时,具体用于:将第二属性值获取请求发送给搜索引擎,以供搜索引擎从本地内存中获取根据搜索结果获取请求搜索到的第二网络对象集合,并统计出第二网络对象集 合中各网络对象具有的属性值中属于未选属性下的属性值作为第二待展示属性值;接收搜索引擎根据预设参数仅返回的第二待展示属性值。值得说明的是,在申请中,不同已选属性之间是且的关系,而同一已选属性下的不同已选属性值之间是或的关系。换句话说,在根据多个已选属性进行搜索时,搜索到的网络对象需要同时满足多个已选属性,而在根据同一已选属性下的不同已选属性值进行搜索时,搜索到的网络对象只需满足多个已选属性值中的至少一个属性值即可。在具体部署实施上,基于属性的搜索导航系统中的各模块可以集中部署,例如部署于同一设备上实现,也可以分布式部署,例如部署于不同设备上实现。较为优选的,该系统中的各模块可以分布式部署于服务端和客户端,其中,第一获取模块51、第二获取模块52、展示标记模块53以及搜索结果处理模块55可部署于服务端实现,请求生成模块54可部署于客户端实现。本实施例提供的基于属性的搜索导航系统,可以根据搜索请求携带的至少一个已选属性下的已选属性值以及指示至少一个已选属性中最后被选的属性的最后被选指示信息,获取根据至少一个已选属性中除最后被选的属性之外的其余已选属性下的已选属性值搜索到的网络对象集合,即第一网络对象集合,然后可以获取第一网络对象集合中各网络对象具有的属性值中属于最后被选的属性下的属性值作为第一待展示属性值,将所获得的第一待展示属性值展示在搜索结果页面上,并设置其中未选属性值处于可选择状态,这样可以达到在搜索结果页面上保留最后被选的属性下的属性值的目的。基于此,如果用户在最后选择属性下的属性值之后,想要增加/替换已选属性值时,可以直接进行选择操作,与现有技术相比,这种方式比较灵活,简化了用户操作,有利于提高搜索效率。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本申请各实施例技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1