搜索方法及装置制造方法

文档序号:6503047阅读:121来源:国知局
搜索方法及装置制造方法
【专利摘要】本发明提出一种搜索方法及装置,其方法包括:接收用户端发出的用户搜索条件;提取所述用户搜索条件中的搜索类目;判断所述用户搜索条件中是否包含用户选择的条件属性值;若所述搜索条件中包含条件属性值,则获取每个条件属性值所属的属性项;逐一对每个属性值进行条件聚类运算,所述条件聚类运算包括以所述搜索类目和与要聚类的属性值不属于同一属性项的所有条件属性值为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集;将非空集的对象聚类结果集返回给用户端。本申请通过对被搜索项所在属性值进行实时全聚类,从而可以实现搜索引擎中同一属性项中属性值之间的直接切换,且不会出现搜索无结果的情况,大大提高了搜索效率。
【专利说明】搜索方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种搜索方法及装置。

【背景技术】
[0002]购物搜索引擎中,通常在进行关键词搜索后或者在“外套”、“皮包”等类目浏览时,会提供如“品牌”、“风格”、“颜色”等属性值链接供用户进行筛选。一般有两类处理方案:
[0003]方案一
[0004]在一些搜索引擎中,用户选择了一个属性值后,该属性值所在的属性项将会被隐藏。这就导致用户必须取消原属性值的选中状态,否则无法直接切换到属性项的其他属性值,这就带来浏览时的冗余操作。
[0005]请参见图1?图3。图1中,通过用户输入的关键词“外套”所得的分类列表中,包括“品牌”、“选购热点” “风格”、“好店推荐”、“颜色”等属性项,每个属性项下都包括了多个属性值供用户选择。现假设用户想查看“品牌”属性项中的“七匹狼”属性值的商品。
[0006]图2中,当用户点击了“品牌”属性项中的“七匹狼”属性值后,“品牌”属性项被整个收起了。这样,除非清除“七匹狼”属性值的选中态,否则无法回到图1的状态来选择“品牌”属性项中的其它属性值。
[0007]图3中,当用户在图2的基础上再选择一个“风格”属性项中的“日韩个性”属性值后,“风格”属性项就会被隐藏了。这意味着如果用户想切换浏览“风格”属性项中的“英伦风格”属性值的商品,还需要再清除原“日韩个性”的选择。
[0008]可见,方案一虽然能保证属性值显示的准确性,但无法提供同一属性项中不同属性值的直接切换功能,导致用户浏览同一属性项中另一属性值的商品时,需要先清除原属性值的选中状态,无端浪费了一次PV (Page View,页面浏览量),也降低了搜索效率。
[0009]方案二
[0010]在另外一些搜索引擎中,虽然可以允许同一属性项中不同属性值的切换,但无法判断对属性值组合的搜索是否有结果。
[0011]请参见图4?图6。图4中,通过用户输入的关键词“手机”所得的分类列表中,包括“品牌”、“操作系统” “合约计划”、“屏幕尺寸范围”等属性项,每个属性项下都包括了多个属性值供用户选择。现假设用户想查看“品牌”属性项中的“nokia”属性值和“操作系统”属性项中的“塞班”属性值组合的商品。
[0012]图5中,当用户点击了 “nokia”属性值和“塞班”属性值后,页面上便显示出符合搜索要求的商品图标。此时,“品牌”属性项和“操作系统”属性项并没有被隐藏,各个属性项仍然显示多个属性值可供选择。
[0013]图6中,当用户点击“操作系统”属性项中的“10S苹果”属性值,此时,“nokia”属性值和“10S苹果”属性值的组合便会造成搜索无结果。
[0014]可见,方案二虽然可以在同一属性项中不同属性值之间切换,具有一定便捷性,但是无法有效地判断搜索是否有结果,一次无效的搜索也会浪费一次PV,从而也无法有效提高搜索效率。
[0015]综上所述,现有的购物搜索引擎存在搜索效率低的问题。


【发明内容】

[0016]本发明的目的是提供一种搜索方法及装置,现有的购物搜索引擎存在搜索效率低的问题。
[0017]本发明提出一种搜索方法,包括:
[0018]接收用户端发出的用户搜索条件;
[0019]提取所述用户搜索条件中的搜索类目;
[0020]判断所述用户搜索条件中是否包含用户选择的条件属性值;
[0021]若所述搜索条件中包含条件属性值,则获取每个条件属性值所属的属性项;
[0022]逐一对每个属性值进行条件聚类运算,所述条件聚类运算包括以所述搜索类目和与要聚类的属性值不属于同一属性项的所有条件属性值为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集;
[0023]将非空集的对象聚类结果集返回给用户端。
[0024]本发明还提出一种搜索装置,包括:
[0025]接收单元,用于接收用户端发出的用户搜索条件;
[0026]提取单元,用于提取所述用户搜索条件中的搜索类目;
[0027]判断单元,用于判断所述用户搜索条件中是否包含用户选择的条件属性值;
[0028]属性项判别单元,用于当所述搜索条件中包含条件属性值,获取每个条件属性值所属的属性项;
[0029]第一聚类单元,用于逐一对每个属性值进行条件聚类运算,所述条件聚类运算包括以所述搜索类目和与要聚类的属性值不属于同一属性项的所有条件属性值为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集;
[0030]反馈单元,用于将非空集的对象聚类结果集返回给用户端。
[0031]相对于现有技术,本发明的有益效果是:本申请通过对被搜索项所在属性值进行实时全聚类,从而可以实现搜索引擎中同一属性项中属性值之间的直接切换,且不会出现搜索无结果的情况,大大提高了搜索效率。
[0032]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

【专利附图】

【附图说明】
[0033]图1为现有的方案一的搜索过程的第一示意图;
[0034]图2为现有的方案一的搜索过程的第二示意图;
[0035]图3为现有的方案一的搜索过程的第三示意图;
[0036]图4为现有的方案二的搜索过程的第一示意图;
[0037]图5为现有的方案二的搜索过程的第二示意图;
[0038]图6为现有的方案二的搜索过程的第三示意图;
[0039]图7为本发明实施例的第一种搜索方法的流程图;
[0040]图8为本发明实施例的第二种搜索方法的流程图;
[0041]图9为本发明实施例的第三种搜索方法的流程图;
[0042]图10为本发明实施例的第一应用示意图;
[0043]图11为本发明实施例的第二应用示意图;
[0044]图12为本发明实施例的第三应用示意图;
[0045]图13为本发明实施例的第四应用示意图;
[0046]图14为本发明实施例的第五应用示意图;
[0047]图15为本发明实施例的一种搜索装置的结构图;
[0048]图16为本发明实施例的一种第二聚类单元的结构图;
[0049]图17为本发明实施例的一种第一聚类单元的结构图;
[0050]图18为本发明实施例的另一种第一聚类单元的结构图。

【具体实施方式】
[0051]为更进一步阐述本发明达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的搜索方法及装置其【具体实施方式】、方法、步骤及功效,详细说明如后。
[0052]有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过【具体实施方式】的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
[0053]本申请的方法可以应用于购物网站服务器,网站服务器中预设有数据库,数据库中存储有对象的信息,包括对象名称、对象图片、对象的属性值,属性值所属于的属性项等,其中所述的对象即指商品对象。本申请的方法用于根据用户输入或选择的搜索条件,从预设的数据库中搜索出相应的对象信息,并返回给用户。
[0054]请参见图7,其包括以下步骤:
[0055]S701,接收用户端发出的用户搜索条件。
[0056]用户在浏览对象信息时,搜索引擎会提供对象类目、属性值等对象信息供用户筛选,用户也可以直接输入关键词,这些用户输入的关键词、选择的对象类目或者属性值以及用户自身信息(性别、年龄、地区等)即构成了搜索条件。
[0057]S702,提取所述用户搜索条件中的搜索类目。本申请所述的搜索类目是指“外套”、“大衣”、“笔记本”等表示对象类别的信息,搜索条件中必然包括搜索类目。
[0058]S703,判断所述用户搜索条件中是否包含用户选择的条件属性值,若否则进入步骤S704,若是则进入步骤S705。
[0059]本申请所述的条件属性值是指用户利用页面显示的搜索列表搜索对象时,所选择的表示对象特性的词,例如“红色”、“商务休闲”等。每个属性值至少属于一个属性项,例如属性值“红色”属于属性项“颜色”,属性值“商务休闲”属于属性项“风格”。
[0060]S704,逐一对每个属性值进行聚类运算,所述聚类运算包括以所述搜索类目为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集,并进入步骤S706。
[0061]通过此步骤所获取的每一个属性值对应的对象聚类结果集,可能包含多个对象信息,也可能是一个空集。对象聚类结果集中所包括的对象必然属于搜索类目,且含有对应的属性值。对象聚类结果集为空集则说明数据库中不存在既属于搜索类目,又包含对应属性值的对象。
[0062]S705,逐一对每个属性值进行条件聚类运算,所述条件聚类运算包括以所述搜索类目和与要聚类的属性值不属于同一属性项的所有条件属性值为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集,并进入步骤S706。
[0063]通过此步骤所获取的每一个属性值对应的对象聚类结果集,可能包含多个对象信息,也可能是一个空集。对象聚类结果集中所包括的对象必然属于搜索类目,且含有对应的属性值和与对应属性值不属于同一属性项的所有条件属性值。对象聚类结果集为空集则说明数据库中不存在既属于搜索类目,又包含这些属性值的对象。
[0064]S706,将非空集的对象聚类结果集返回给用户端。
[0065]用户端在接收到对象聚类结果集后,就可以在页面上渲染相应的属性值,例如某个属性值对应的对象聚类结果集中含有10个商品的对象信息,就可以直接将10个商品的个数渲染在相应的属性值后。可以一目了然地让用户看到,通过搜索,各个属性值对应几个商品对象,当用户点击相应的属性值链接,可以直接将相应的商品图片显示在页面上。而且,由于本申请实现了对符合搜索条件的每一个属性值的聚类,所以无须将没有点击的属性值链接收回,用户可以直接在属性值链接上切换点击,且不会出现搜索无结果的情况,大大提高了搜索效率。
[0066]请参见图8,其为本发明实施例的另一种搜索方法的流程图,其包括以下步骤:
[0067]S801,接收用户端发出的用户搜索条件。
[0068]S802,提取所述用户搜索条件中的搜索类目。
[0069]S803,判断所述用户搜索条件中是否包含用户选择的条件属性值,若否则进入步骤S804,若是则进入步骤S807。
[0070]S804,以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集。
[0071]S805,逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集。
[0072]S806,将每一个属性值的对象集与所述第一结果集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。并进入步骤S810。
[0073]S807,以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集。
[0074]S808,逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集。
[0075]S809,将每一个属性值对应的对象集与所述第一结果集、与待运算属性值不属于同一属性项的所有条件属性值的对象集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。并进入S810。
[0076]S810,将非空集的对象聚类结果集返回给用户端。
[0077]举例来说,假设用户输入搜索类目后,在页面上看到的搜索列表如下:
[0078]A: Al A2 A3
[0079]B: BI B2 B3 B4
[0080]C: Cl C2 C3
[0081]其中,A、B、C为属性项,Al、A2、A3为属于A的属性值,B1、B2、B3、B4为属于B的属性值,Cl、C2、C3为属于C的属性值。
[0082]场景一,如果用户没有选择任何属性值作为过滤条件,则通过本实施例的运算过程如下:
[0083]1、以搜索类目为搜索条件进行搜索,得到第一结果集Xl,第一结果集Xl中包含所有属于该搜索类目的对象;
[0084]2、逐个用属性值(AI,A2,A3,BI,-,C2,C3)进行搜索,得到每个属性值对应的对象集Y1,Y2,…,Y10。其中Al对应Υ1,Α2对应Υ2,…C3对应Υ10。只要Yl中包含某个对象,则该对象的信息必然含有属性值Al,…,YlO中含有的每一个对象都包含属性值C3。
[0085]3、将对象集Yl,Υ2,…,YlO逐个与第一结果集Xl交集运算,获取每一个属性值对应的对象聚类结果集。其中,某一个属性值对应对象聚类结果集中的对象,必然属于搜索类目,且包含该属性值。
[0086]4、将各个属性值对应的非空集的对象聚类结果集返回给用户端进行显示。
[0087]场景二,如果用户选择了属性值Α2进行过滤,即属性值Α2为条件属性值,则通过本实施例的运算过程如下:
[0088]1、以搜索类目为搜索条件进行搜索,得到第一结果集Xl,第一结果集Xl中包含所有属于该搜索类目的对象;
[0089]2、逐个用属性值(Al,Α2,A3,B1-C2, C3)进行搜索,得到每个属性值对应的对象集Yl,Υ2,…,Υ10。其中Al对应Υ1,Α2对应Υ2,…C3对应Υ10。Yl中含有的每一个对象都包含属性值Al,-YlO中含有的每一个对象都包含属性值C3。
[0090]3、将每一个属性值对应的对象集Yl,Υ2,…,YlO与所述第一结果集X1、与待运算属性值不属于同一属性项的所有条件属性值的对象集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。
[0091]其中,条件属性值为Α2,条件属性值Α2对应的对象集为Υ2,条件属性值Α2与属性值Al、A3同属于属性项Α,所以计算属性值Al,Α2,A3的对象聚类结果集时,只需要逐一将属性值Al,Α2,A3与第一结果集Xl进行交集运算,而计算属性值BI,Β2,…,C3的对象聚类结果集时,需要逐一将属性值Β1,Β2,…,C3与第一结果集Xl和条件属性值Α2对应的对象集为Υ2进行交集运算。按照位置对应关系,属性值A1,A2,A3,B1-C2,C3对应的对象聚类结果集的计算分别为:
[0092]Yl & XlY2 & XlY3 & Xl
[0093]Y4 & Xl & Y2 Y5 & Xl & Y2 Y6 & Xl & Y2 Y7 & Xl & Y2
[0094]Y8 & Xl & Y2 Y9 & Xl & Y2 YlO & Xl & Y2
[0095]4、将各个属性值对应的非空集的对象聚类结果集返回给用户端进行显示。
[0096]场景三,如果用户选择了属性值A2和属性值B3进行过滤,即属性值A2和B3为条件属性值,则通过本实施例的运算过程如下:
[0097] 1、以搜索类目为搜索条件进行搜索,得到第一结果集Xl,第一结果集Xl中包含所有属于该搜索类目的对象;
[0098]2、逐个用属性值(Al,A2,A3,B1-C2, C3)进行搜索,得到每个属性值对应的对象集Yl,Y2,…,Y10。其中Al对应Y1,A2对应Y2,…C3对应Y10。Yl中含有的每一个对象都包含属性值Al,-YlO中含有的每一个对象都包含属性值C3。
[0099]3、将每一个属性值对应的对象集Yl,Y2,…,YlO与所述第一结果集X1、与待运算属性值不属于同一属性项的所有条件属性值的对象集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。
[0100]其中,条件属性值为A2和B3,条件属性值A2对应的对象集为Y2,条件属性值B3对应的对象集为Y6。条件属性值A2与属性值Al、A3同属于属性项A,条件属性值B3与属性值B1、B2、B4同属于属性项B。所以计算属性值Al,A2,A3的对象聚类结果集时,需要逐一将属性值Al,A2,A3与第一结果集Xl和条件属性值B3对应的对象集为Y6进行交集运算;计算属性值BI,B2,B3,B4的对象聚类结果集时,需要逐一将属性值BI,B2,B3,B4与第一结果集Xl和条件属性值A2对应的对象集为Y2进行交集运算;计算属性值C1、C2、C3的对象聚类结果集时,需要逐一将属性值Cl、C2、C3与第一结果集X1、对象集为Y2及对象集为Y6进行交集运算。按照位置对应关系,属性值Al,A2,A3,B1-C2, C3对应的对象聚类结果集的计算分别为:
[0101]Yl & Xl & Y6 Y2 & Xl & Y6 Y3 & Xl & Y6
[0102]Y4 & Xl & Y2 Y5 & Xl & Y2 Y6 & Xl & Y2 Y7 & Xl & Y2
[0103]Y8 & Xl & Y2 & Y6 Y9 & Xl & Y2 & Y6 YlO & Xl & Y2 & Y6
[0104]4、将各个属性值对应的非空集的对象聚类结果集返回给用户端进行显示。
[0105]请参见图9,其为本发明实施例的再一种搜索方法的流程图,其包括以下步骤:
[0106]S901,接收用户端发出的用户搜索条件。
[0107]S902,提取所述用户搜索条件中的搜索类目。
[0108]S903,判断所述用户搜索条件中是否包含用户选择的条件属性值,若否则进入步骤S804,若是则进入步骤S807。
[0109]S904,以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集。
[0110]S905,逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集。
[0111]S906,将每一个属性值的对象集与所述第一结果集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。并进入步骤S913。
[0112]S907,以所述搜索类目和所有条件属性值作为搜索条件对预设数据库进行搜索,
获取第二结果集。
[0113]S908,逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应对象集。
[0114]S909,提取预设数据库的所有属性项中不含有条件属性值的无条件属性项以及含有条件属性值的条件属性项。
[0115]S910,将第二结果集与所述无条件属性项的各个属性值对应的对象集进行逐一交集运算,获取所述无条件属性项的每一个属性值对应的对象聚类结果。
[0116]S911,以所述搜索类目和轮流去除一个条件属性值后剩余的所有条件属性值作为搜索条件对预设数据库进行搜索,获取至少一个第三结果集。
[0117]S912,将每一个条件属性项中的每一个属性值逐一与去除该条件属性项中的条件属性值时获取的第三结果集作交集运算,获取每个条件属性项的每一个属性值对应的对象聚类结果。并进入步骤S913。
[0118]S913,将非空集的对象聚类结果集返回给用户端。
[0119]举例来说,假设用户输入搜索类目后,在页面上看到的搜索列表如下:
[0120]A: Al A2 A3
[0121]B: BI B2 B3 B4
[0122]C: Cl C2 C3
[0123]其中,A、B、C为属性项,Al、A2、A3为属于A的属性值,B1、B2、B3、B4为属于B的属性值,Cl、C2、C3为属于C的属性值。
[0124]场景一,如果用户没有选择任何属性值作为过滤条件,则通过本实施例的运算过程如下:
[0125]1、以搜索类目为搜索条件进行搜索,得到第一结果集Xl,第一结果集Xl中包含所有属于该搜索类目的对象;
[0126]2、逐个用属性值(AI,A2,A3,BI,-,C2,C3)进行搜索,得到每个属性值对应的对象集Y1,Y2,…,Y10。其中Al对应Υ1,Α2对应Υ2,…C3对应Υ10。只要Yl中包含某个对象,则该对象的信息必然含有属性值Al,…,YlO中含有的每一个对象都包含属性值C3。
[0127]3、将对象集Yl,Υ2,…,YlO逐个与第一结果集Xl交集运算,获取每一个属性值对应的对象聚类结果集。其中,某一个属性值对应对象聚类结果集中的对象,必然属于搜索类目,且包含该属性值。
[0128]4、将各个属性值对应的非空集的对象聚类结果集返回给用户端进行显示。
[0129]场景二,如果用户选择了属性值Α2进行过滤,即属性值Α2为条件属性值,则通过本实施例的运算过程如下:
[0130]1、以搜索类目和条件属性值Α2作为搜索条件进行搜索,获取第二结果集Χ2。第二结果集Χ2中的每一个对象既属于搜索类目,又包含属性值Α2。
[0131]2、逐个用属性值(Al,Α2,A3,B1-C2, C3)进行搜索,得到每个属性值对应的对象集Yl,Υ2,…,Υ10。其中Al对应Υ1,Α2对应Υ2,…C3对应Υ10。Yl中含有的每一个对象都包含属性值Al,-YlO中含有的每一个对象都包含属性值C3。
[0132]3、提取所有属性项中不含有条件属性值的无条件属性项以及含有条件属性值的条件属性项。即属性项B和属性项C为无条件属性项,属性项A为条件属性项。
[0133]4、将无条件属性项B和无条件属性项C中的每一个属性值对应的对象集Υ4,Υ5,…,YlO分别与第二结果集Χ2进行交集运算,获取属性值BI,Β2,…,C3对应的对象聚类结果。属性值BI的对象聚类结果中的对象即属于搜索类目又包含属性值BI和Α2,...属性值C3的对象聚类结果中的对象即属于搜索类目又包含属性值C3和Α2。
[0134]5、以述搜索类目为搜索条件进行搜索(在第I步的搜索条件的基础上去除条件属性值Α2),得到第三结果集Χ3,第三结果集Χ3中包含所有属于该搜索类目的对象。
[0135]6、将条件属性项A中的属性值Al,Α2,A3对应的对象集Yl,Υ2,Υ3分别与第三结果集X3作交集运算,获取属性值Al,A2,A3对应的对象聚类结果。
[0136]7、将各个属性值对应的非空集的对象聚类结果集返回给用户端进行显示。
[0137]此过程中,按照位置对应关系,属性值A1,A2,A3,B1-C2,C3对应的对象聚类结果集的计算分别为:
[0138]Yl & X3 Y2 & X3 Y3 & X3
[0139]Y4 & X2 Y5 & X2 Y6 & X2 Y7 & X2
[0140]Y8 & X2Y9 & X2YlO & X2
[0141]场景三,如果用户选择了属性值A2和属性值B3进行过滤,即属性值A2和B3为条件属性值,则通过本实施例的运算过程如下:
[0142]1、以搜索类目、条件属性值A2和条件属性值B3作为搜索条件进行搜索,获取第二结果集X2’。第二结果集X2’中的每一个对象既属于搜索类目,又包含属性值A2和属性值B3。
[0143]2、逐个用属性值(Al,A2,A3,B1-C2, C3)进行搜索,得到每个属性值对应的对象集Yl,Y2,…,Y10。其中Al对应Y1,A2对应Y2,…C3对应Y10。Yl中含有的每一个对象都包含属性值Al,-YlO中含有的每一个对象都包含属性值C3。
[0144]3、提取所有属性项中不含有条件属性值的无条件属性项以及含有条件属性值的条件属性项。即属性项C为无条件属性项,属性项A和属性项B为条件属性项。
[0145]4、将无条件属性项C中的每一个属性值对应的对象集Y8,Y9,YlO分别与第二结果集X2’进行交集运算,获取属性值Cl,C2,C3对应的对象聚类结果。属性值Cl的对象聚类结果中的对象即属于搜索类目又包含属性值Cl、A2和B3,…属性值C3的对象聚类结果中的对象即属于搜索类目又包含属性值C3、A2和B3。
[0146]5、以所述搜索类目和条件属性值B3作为搜索条件(在第I步的搜索条件的基础上去除条件属性值A2)进行搜索,得到第三结果集X3’,第三结果集X3’中包含的对象既属于搜索类目又包含属性值B3。
[0147]6、将条件属性项A中的属性值Al,A2,A3对应的对象集Yl,Y2,Y3分别与第三结果集X3’作交集运算,获取属性值Al,A2,A3对应的对象聚类结果。属性值Al的对象聚类结果中的对象即属于搜索类目又包含属性值Al、B3,…属性值A3的对象聚类结果中的对象即属于搜索类目又包含属性值Al和B3。
[0148]7、以所述搜索类目和条件属性值A2作为搜索条件(在第I步的搜索条件的基础上去除条件属性值B3)进行搜索,得到第三结果集X3’ ’,第三结果集X3’ ’中包含的对象既属于搜索类目又包含属性值A2。
[0149]8、将条件属性项B中的属性值BI,B2,B3,B4对应的对象集Y4,Y5,Y6,Y7分别与第三结果集X3’’作交集运算,获取属性值B1,B2,B3对应的对象聚类结果。属性值BI的对象聚类结果中的对象即属于搜索类目又包含属性值B1、A2,…属性值B4的对象聚类结果中的对象即属于搜索类目又包含属性值B4和A2。
[0150]9、将各个属性值对应的非空集的对象聚类结果集返回给用户端进行显示。
[0151]此过程中,按照位置对应关系,属性值A1,A2,A3,B1-C2,C3对应的对象聚类结果集的计算分别为:
[0152] Yl & X3,Y2 & X3,Y3 & X3,
[0153]Y4&X3’’ Y5&X3’’ Y6&X3’’ Y7&X3’’
[0154]Y8 & Χ2’Υ9 & Χ2’YlO & Χ2’
[0155]请参见图10~图14,其分别为本发明实施例的应用示意图。
[0156]用户输入关键词“外套”后,页面会显示“男士卫衣”、“男士风衣”、“女士夹克”等类目供用户选择。当用户选择“男士卫衣”这一搜索类目后,页面会显示如图10所示的搜索列表。列表中包括“品牌”、“风格”、“图案”、“款式”五个属性项,每个属性项下都包括了多个属性值供用户选择。
[0157]当用户选择属性项“品牌”下的属性值“真维斯”后,经服务器搜索共有84件商品,如图11所示,可以看到,相同属性项“品牌”下其它品牌选择仍然出现可供用户点选,而其它属性项下的属性值却因此而发生了变化,属性项“风格”下只剩余属性值“时尚休闲”,属性项“图案”下只剩余属性值“简约”,属性项“款式”下只剩余属性值“开衫”。说明经过搜索,“风格”、“图案”、“款式”这三个属性项下只有“时尚休闲”、“简约”以及“开衫”这三个属性值对应的对象聚类结果集为非空集。
[0158]此时,当用户点选属性项“品牌”下的属性值“森马”,即在相同属性项“品牌”下,从属性值“真维斯”切换到属性值“森马”,如图12所示。经过搜索,虽然只有7件商品符合搜索条件,但是属性项“款式”下却增加了属性值“套头”可供选择。即说明经过切换搜索之后,属性值“套头”所对应的对象聚类结果集为非空集。
[0159]接着,当用户点击属性项“款式”下的属性值“套头”后,可以看到在同时选中属性项“品牌”下的属性值“ 森马”以及属性项“款式”下的属性值“套头”的情况下,能搜索出2件商品,如图13所示。但属性项“款式”下仍然还有属性值“开衫”可以选择。用户可以通过同一属性项中类似的属性值之间的切换,来方便地找出其感兴趣的商品,从而提高了搜索效果。
[0160]当用户从属性项“款式”下的属性值“套头”横向切换到属性值“开衫”,虽然属性值“森马”下只有5件“开衫”商品,但是属性项“品牌”下仍然还有其它16个属性值可以选择,用户可以通过在属性项“品牌”下切换到不同的属性值,从而浏览到各种品牌的类似商品,从而可以方便快速地找到用户感兴趣的或需要的商品,提高了搜索效率。
[0161]本发明还提出一种搜索装置,其可以应用在预设有数据库的网站服务器上,用于为网络用户提供搜索功能。本装置所要搜索的数据库,其中存储有大量对象信息,包括对象的属性值、对象所属的属性项,每个对象都有所属的属性项,所述对象可以特指商品,对象信息可以包括商品名称、商品图片等。请参见图15,其为本发明实施例的一种搜索装置的结构图,本实施例的装置包括接收单元151、提取单元152、判断单元153、属性项判别单元154、第一聚类单元155、第二聚类单元156以及反馈单元157。提取单元152与接收单元151相连,判断单元153与接收单元151相连,属性项判别单元154与判断单元153相连,第一聚类单元155分别与提取单元152、判断单元153及属性项判别单元154相连,第二聚类单元156分别与提取单元152及判断单元153相连,反馈单元157分别与第一聚类单元155及第二聚类单元156相连。
[0162]接收单元151用于接收用户端发出的用户搜索条件。当接收单元151接收到用户搜索条件后,会发送给提取单元152,并由提取单元152提取出用户搜索条件中的搜索类目。同时,接收单元151也会将用户搜索条件发送给判断单元153,由判断单元153判断所述用户搜索条件中是否包含用户选择的条件属性值。所述条件属性值是指用户输入或根据页面引导而选择的作为搜索条件的属性值。
[0163]如果判断单元153判断出,用户搜索条件中不含有条件属性值(即用户搜索条件只含有搜索类目),则判断单元153会向第二聚类单元156发出开始运算的命令信号。第二聚类单元156从接收单元151处接收到搜索类目后,以所述搜索类目为前提聚类条件,逐一对每个属性值进行聚类运算,并获取每一个属性值对应的预设数据库中的对象聚类结果集。然后将各个属性值对应的对象聚类结果集发送给反馈单元157,由反馈单元157将非空集的对象聚类结果集返回给用户端进行显示。
[0164]如果判断单元153判断出,用户搜索条件中含有条件属性值,则判断单元153会向第一聚类单元155发出开始运算的命令信号。同时,属性项判别单元154会根据判断单元153的判断结果,获取每个条件属性值所属的属性项。
[0165]第一聚类单元155从接收单元151处接收搜索类目,然后根据搜索类目和条件属性值,逐一对每个属性值进行条件聚类运算。第一聚类单元155所作的聚类运算是以所述搜索类目和与要聚类的属性值不属于同一属性项的所有条件属性值为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集。然后将各个属性值对应的对象聚类结果集发送给反馈单元157,由反馈单元157将非空集的对象聚类结果集返回给用户端进行显示。
[0166]请参见图16,其为本发明实施例的一种第二聚类单元的结构图,其包括类目搜索子单元1561、属性值搜索子单元1562以及第四交集运算子单元1563。类目搜索子单元1561与提取单元152连接,第四交集运算子单元1563分别与类目搜索子单元1561及属性值搜索子单元1562相连。
[0167]类目搜索子单元1561用于以搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集。属性值搜索子单元1562用于逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集。第四交集运算子单元1563用于将属性值搜索子单元1562获取的各个属性值对应的对象集分别与类目搜索子单元1561获取的第一结果集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。
[0168]请参见图17,其为本发明实施例的一种第一聚类单元的结构图,其包括类目搜索子单元1551、属性值搜索子单元1552及第一交集运算子单元1553。类目搜索子单元1551与提取单元152连接,第一交集运算子单元1553分别与类目搜索子单元1561、属性值搜索子单元1562及属性项判别单元154相连。
[0169]类目搜索子单元1551用于以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集。属性值搜索子单元1552用于逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集。本实施例的类目搜索子单元1551和属性值搜索子单元1552可以单独设置,也可以和第二聚类单元共用。
[0170]第一交集运算子单元1553会先根据属性项判别单元154输出的每个条件属性值所属的属性项,获取与每一个属性值不属于同一属性项的所有条件属性值,然后将属性值搜索子单元1552获取的各个属性值对应的对象集,与类目搜索子单元1551及与待运算属性值不属于同一属性项的所有条件属性值的对象集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。
[0171]请参见图18,其为本发明实施例的另一种第一聚类单元的结构图,其包括第一条件搜索子单元1554、属性值搜索子单元1552、属性项提取子单元1555、第二交集运算子单元1556、第二条件搜索子单元1557、第三交集运算子单元1558。第一条件搜索子单元1554分别与提取单元152及判断单元153连接,属性项提取子单元1555与属性项判别单元154连接,第二交集运算子单元1556分别与第一条件搜索子单元1554、属性值搜索子单元1552及属性项提取子单元1555连接,第二条件搜索子单元1557分别与提取单元152及判断单元153相连,第三交集运算子单元1558分别与第二条件搜索子单元1557、属性值搜索子单元1552及属性项提取子单元1555连接。
[0172]第一条件搜索子单元1554用于以搜索类目和所有条件属性值作为搜索条件对预设数据库进行搜索,获取第二结果集。属性值搜索子单元1552用于逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集。属性项提取子单元1555用于提取预设数据库的所有属性项中不含有条件属性值的无条件属性项以及含有条件属性值的条件属性项。
[0173]第二交集运算子单元1556会根据属性项提取子单元1555提取出的无条件属性项,从属性值搜索子单元1552处接收所有无条件属性项中各个属性值对应的对象集,然后将所述无条件属性项的各个属性值对应的对象集逐一和第二结果集进行逐一交集运算,获取所述无条件属性项的每一个属性值对应的对象聚类结果。
[0174]第二条件搜索子单元1557用于以所述搜索类目和轮流去除一个条件属性值后剩余的所有条件属性值作为搜索条件对预设数据库进行搜索,获取至少一个第三结果集。例如如果判断单元153判断出用户搜索条件中只包含一个条件属性值,则第二条件搜索子单元1557会计算获得一个第三结果集,如果判断单元153判断出用户搜索条件中包含两个条件属性值,则第二条件搜索子单元1557会计算获得两个第三结果集。
[0175]第三交集运算子单元1558会根据属性项提取子单元1555提取出的条件属性项,从属性值搜索子单元1552处接收所有条件属性项中各个属性值对应的对象集,然后将每一个条件属性项中的每一个属性值逐一与去除该条件属性项中的条件属性值时获取的第三结果集作交集运算,获取每一个条件属性项的每一个属性值对应的对象聚类结果。
[0176]本申请的装置可以实现对符合搜索条件的每一个属性值的聚类,因此在用户端接收到本装置反馈的搜索结果后,便可以将符合搜索条件的属性值渲染到页面上供用户选择,用户可以在直接在属性值链接上切换点击,且不会出现搜索无结果的情况,大大提高了搜索效率。
[0177]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
[0178]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种搜索方法,其特征在于,包括: 接收用户端发出的用户搜索条件; 提取所述用户搜索条件中的搜索类目; 判断所述用户搜索条件中是否包含用户选择的条件属性值; 若所述搜索条件中包含条件属性值,则获取每个条件属性值所属的属性项; 逐一对每个属性值进行条件聚类运算,所述条件聚类运算包括以所述搜索类目和与要聚类的属性值不属于同一属性项的所有条件属性值为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集; 将非空集的对象聚类结果集返回给用户端。
2.如权利要求1所述的搜索方法,其特征在于,所述逐一对每个属性值进行条件聚类运算的步骤包括: 以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集; 逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集; 将每一个属性值对应的对象集与所述第一结果集、与待运算属性值不属于同一属性项的所有条件属性值的对象集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。
3.如权利要求1所述的搜索方法,其特征在于,所述逐一对每个属性值进行条件聚类运算的步骤包括: 以所述搜索类目和所有条件属性值作为搜索条件对预设数据库进行搜索,获取第二结果集; 逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应对象集; 提取预设数据库的所有属性项中不含有条件属性值的无条件属性项以及含有条件属性值的条件属性项; 将第二结果集与所述无条件属性项的各个属性值对应的对象集进行逐一交集运算,获取所述无条件属性项的每一个属性值对应的对象聚类结果; 以所述搜索类目和轮流去除一个条件属性值后剩余的所有条件属性值作为搜索条件对预设数据库进行搜索,获取至少一个第三结果集; 将每一个条件属性项中的每一个属性值逐一与去除该条件属性项中的条件属性值时获取的第三结果集作交集运算,获取每一个条件属性项的每一个属性值对应的对象聚类结果.
4.如权利要求1所述的搜索方法,其特征在于,所述判断所述用户搜索条件中是否包含用户选择的条件属性值的步骤之后包括: 若所述搜索条件中不包含条件属性值,则逐一对每个属性值进行聚类运算,所述聚类运算包括以所述搜索类目为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集; 将非空集的对象聚类结果集返回给用户端。
5.如权利要求4所述的搜索方法,其特征在于,所述逐一对每个属性值进行聚类运算的步骤包括: 以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集; 逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集; 将每一个属性值的对象集与所述第一结果集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。
6.一种搜索装置,其特征在于,包括: 接收单元,用于接收用户端发出的用户搜索条件; 提取单元,用于提取所述用户搜索条件中的搜索类目; 判断单元,用于判断所述用户搜索条件中是否包含用户选择的条件属性值; 属性项判别单元,用于当所述搜索条件中包含条件属性值,获取每个条件属性值所属的属性项; 第一聚类单元,用于逐一对每个属性值进行条件聚类运算,所述条件聚类运算包括以所述搜索类目和与要聚类的属性值不属于同一属性项的所有条件属性值为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集; 反馈单元,用于将非空集的对象聚类结果集返回给用户端。
7.如权利要求6所述的搜索装置,其特征在于,所述第一聚类单元进一步包括: 类目搜索子单元,用于以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集; 属性值搜索子单元,用于逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集; 第一交集运算子单元,用于将每一个属性值对应的对象集与所述第一结果集、与待运算属性值不属于同一属性项的所有条件属性值的对象集进行逐一交集运算,获取与每一个属性值对应的所述对象聚类结果集。
8.如权利要求6所述的搜索装置,其特征在于,所述第一聚类单元进一步包括: 第一条件搜索子单元,用于以所述搜索类目和所有条件属性值作为搜索条件对预设数据库进行搜索,获取第二结果集; 属性值搜索子单元,逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应对象集; 属性项提取子单元,用于提取预设数据库的所有属性项中不含有条件属性值的无条件属性项以及含有条件属性值的条件属性项; 第二交集运算子单元,用于将第二结果集与所述无条件属性项的各个属性值对应的对象集进行逐一交集运算,获取所述无条件属性项的每一个属性值对应的对象聚类结果;第二条件搜索子单元,用于以所述搜索类目和轮流去除一个条件属性值后剩余的所有条件属性值作为搜索条件对预设数据库进行搜索,获取至少一个第三结果集; 第三交集运算子单元,用于将每一个条件属性项中的每一个属性值逐一与去除该条件属性项中的条件属性值时获取的第三结果集作交集运算,获取每一个条件属性项的每一个属性值对应的对象聚类结果。
9.如权利要求6所述的搜索装置,其特征在于,还包括: 第二聚类单元,用于当所述判断单元判断出所述搜索条件中不包含条件属性值,则逐一对每个属性值进行聚类运算,所述聚类运算包括以所述搜索类目为前提聚类条件,获取每一个属性值对应的预设数据库中的对象聚类结果集。
10.如权利要求9所述的搜索装置,其特征在于,所述第二聚类单元进一步包括: 类目搜索子单元,用于以所述搜索类目为搜索条件对预设数据库进行搜索,获取属于所述搜索类目的所有对象的第一结果集; 属性值搜索子单元,用于逐一用每个属性值作为搜索条件对预设数据库进行搜索,获取每一个属性值所对应的对象集; 第四交集运算子单元,用于将每一个属性值的对象集与所述第一结果集进行逐一交集运算,获取与 每一个属性值对应的所述对象聚类结果集。
【文档编号】G06F17/30GK104077337SQ201310188179
【公开日】2014年10月1日 申请日期:2013年5月20日 优先权日:2013年5月20日
【发明者】李兮芝, 郝晖 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1