亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

搜索方法及裝置制造方法

文檔序號:6503047閱讀:134來源:國知局
搜索方法及裝置制造方法
【專利摘要】本發(fā)明提出一種搜索方法及裝置,其方法包括:接收用戶端發(fā)出的用戶搜索條件;提取所述用戶搜索條件中的搜索類目;判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值;若所述搜索條件中包含條件屬性值,則獲取每個條件屬性值所屬的屬性項;逐一對每個屬性值進行條件聚類運算,所述條件聚類運算包括以所述搜索類目和與要聚類的屬性值不屬于同一屬性項的所有條件屬性值為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集;將非空集的對象聚類結果集返回給用戶端。本申請通過對被搜索項所在屬性值進行實時全聚類,從而可以實現(xiàn)搜索引擎中同一屬性項中屬性值之間的直接切換,且不會出現(xiàn)搜索無結果的情況,大大提高了搜索效率。
【專利說明】搜索方法及裝置

【技術領域】
[0001]本發(fā)明涉及計算機【技術領域】,特別涉及一種搜索方法及裝置。

【背景技術】
[0002]購物搜索引擎中,通常在進行關鍵詞搜索后或者在“外套”、“皮包”等類目瀏覽時,會提供如“品牌”、“風格”、“顏色”等屬性值鏈接供用戶進行篩選。一般有兩類處理方案:
[0003]方案一
[0004]在一些搜索引擎中,用戶選擇了一個屬性值后,該屬性值所在的屬性項將會被隱藏。這就導致用戶必須取消原屬性值的選中狀態(tài),否則無法直接切換到屬性項的其他屬性值,這就帶來瀏覽時的冗余操作。
[0005]請參見圖1?圖3。圖1中,通過用戶輸入的關鍵詞“外套”所得的分類列表中,包括“品牌”、“選購熱點” “風格”、“好店推薦”、“顏色”等屬性項,每個屬性項下都包括了多個屬性值供用戶選擇?,F(xiàn)假設用戶想查看“品牌”屬性項中的“七匹狼”屬性值的商品。
[0006]圖2中,當用戶點擊了“品牌”屬性項中的“七匹狼”屬性值后,“品牌”屬性項被整個收起了。這樣,除非清除“七匹狼”屬性值的選中態(tài),否則無法回到圖1的狀態(tài)來選擇“品牌”屬性項中的其它屬性值。
[0007]圖3中,當用戶在圖2的基礎上再選擇一個“風格”屬性項中的“日韓個性”屬性值后,“風格”屬性項就會被隱藏了。這意味著如果用戶想切換瀏覽“風格”屬性項中的“英倫風格”屬性值的商品,還需要再清除原“日韓個性”的選擇。
[0008]可見,方案一雖然能保證屬性值顯示的準確性,但無法提供同一屬性項中不同屬性值的直接切換功能,導致用戶瀏覽同一屬性項中另一屬性值的商品時,需要先清除原屬性值的選中狀態(tài),無端浪費了一次PV (Page View,頁面瀏覽量),也降低了搜索效率。
[0009]方案二
[0010]在另外一些搜索引擎中,雖然可以允許同一屬性項中不同屬性值的切換,但無法判斷對屬性值組合的搜索是否有結果。
[0011]請參見圖4?圖6。圖4中,通過用戶輸入的關鍵詞“手機”所得的分類列表中,包括“品牌”、“操作系統(tǒng)” “合約計劃”、“屏幕尺寸范圍”等屬性項,每個屬性項下都包括了多個屬性值供用戶選擇?,F(xiàn)假設用戶想查看“品牌”屬性項中的“nokia”屬性值和“操作系統(tǒng)”屬性項中的“塞班”屬性值組合的商品。
[0012]圖5中,當用戶點擊了 “nokia”屬性值和“塞班”屬性值后,頁面上便顯示出符合搜索要求的商品圖標。此時,“品牌”屬性項和“操作系統(tǒng)”屬性項并沒有被隱藏,各個屬性項仍然顯示多個屬性值可供選擇。
[0013]圖6中,當用戶點擊“操作系統(tǒng)”屬性項中的“10S蘋果”屬性值,此時,“nokia”屬性值和“10S蘋果”屬性值的組合便會造成搜索無結果。
[0014]可見,方案二雖然可以在同一屬性項中不同屬性值之間切換,具有一定便捷性,但是無法有效地判斷搜索是否有結果,一次無效的搜索也會浪費一次PV,從而也無法有效提高搜索效率。
[0015]綜上所述,現(xiàn)有的購物搜索引擎存在搜索效率低的問題。


【發(fā)明內(nèi)容】

[0016]本發(fā)明的目的是提供一種搜索方法及裝置,現(xiàn)有的購物搜索引擎存在搜索效率低的問題。
[0017]本發(fā)明提出一種搜索方法,包括:
[0018]接收用戶端發(fā)出的用戶搜索條件;
[0019]提取所述用戶搜索條件中的搜索類目;
[0020]判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值;
[0021]若所述搜索條件中包含條件屬性值,則獲取每個條件屬性值所屬的屬性項;
[0022]逐一對每個屬性值進行條件聚類運算,所述條件聚類運算包括以所述搜索類目和與要聚類的屬性值不屬于同一屬性項的所有條件屬性值為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集;
[0023]將非空集的對象聚類結果集返回給用戶端。
[0024]本發(fā)明還提出一種搜索裝置,包括:
[0025]接收單元,用于接收用戶端發(fā)出的用戶搜索條件;
[0026]提取單元,用于提取所述用戶搜索條件中的搜索類目;
[0027]判斷單元,用于判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值;
[0028]屬性項判別單元,用于當所述搜索條件中包含條件屬性值,獲取每個條件屬性值所屬的屬性項;
[0029]第一聚類單元,用于逐一對每個屬性值進行條件聚類運算,所述條件聚類運算包括以所述搜索類目和與要聚類的屬性值不屬于同一屬性項的所有條件屬性值為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集;
[0030]反饋單元,用于將非空集的對象聚類結果集返回給用戶端。
[0031]相對于現(xiàn)有技術,本發(fā)明的有益效果是:本申請通過對被搜索項所在屬性值進行實時全聚類,從而可以實現(xiàn)搜索引擎中同一屬性項中屬性值之間的直接切換,且不會出現(xiàn)搜索無結果的情況,大大提高了搜索效率。
[0032]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點能夠更明顯易懂,以下特舉較佳實施例,并配合附圖,詳細說明如下。

【專利附圖】

【附圖說明】
[0033]圖1為現(xiàn)有的方案一的搜索過程的第一示意圖;
[0034]圖2為現(xiàn)有的方案一的搜索過程的第二示意圖;
[0035]圖3為現(xiàn)有的方案一的搜索過程的第三示意圖;
[0036]圖4為現(xiàn)有的方案二的搜索過程的第一示意圖;
[0037]圖5為現(xiàn)有的方案二的搜索過程的第二示意圖;
[0038]圖6為現(xiàn)有的方案二的搜索過程的第三示意圖;
[0039]圖7為本發(fā)明實施例的第一種搜索方法的流程圖;
[0040]圖8為本發(fā)明實施例的第二種搜索方法的流程圖;
[0041]圖9為本發(fā)明實施例的第三種搜索方法的流程圖;
[0042]圖10為本發(fā)明實施例的第一應用示意圖;
[0043]圖11為本發(fā)明實施例的第二應用示意圖;
[0044]圖12為本發(fā)明實施例的第三應用示意圖;
[0045]圖13為本發(fā)明實施例的第四應用示意圖;
[0046]圖14為本發(fā)明實施例的第五應用示意圖;
[0047]圖15為本發(fā)明實施例的一種搜索裝置的結構圖;
[0048]圖16為本發(fā)明實施例的一種第二聚類單元的結構圖;
[0049]圖17為本發(fā)明實施例的一種第一聚類單元的結構圖;
[0050]圖18為本發(fā)明實施例的另一種第一聚類單元的結構圖。

【具體實施方式】
[0051]為更進一步闡述本發(fā)明達成預定發(fā)明目的所采取的技術手段及功效,以下結合附圖及較佳實施例,對依據(jù)本發(fā)明提出的搜索方法及裝置其【具體實施方式】、方法、步驟及功效,詳細說明如后。
[0052]有關本發(fā)明的前述及其他技術內(nèi)容、特點及功效,在以下配合參考圖式的較佳實施例詳細說明中將可清楚的呈現(xiàn)。通過【具體實施方式】的說明,當可對本發(fā)明為達成預定目的所采取的技術手段及功效得以更加深入且具體的了解,然而所附圖式僅是提供參考與說明之用,并非用來對本發(fā)明加以限制。
[0053]本申請的方法可以應用于購物網(wǎng)站服務器,網(wǎng)站服務器中預設有數(shù)據(jù)庫,數(shù)據(jù)庫中存儲有對象的信息,包括對象名稱、對象圖片、對象的屬性值,屬性值所屬于的屬性項等,其中所述的對象即指商品對象。本申請的方法用于根據(jù)用戶輸入或選擇的搜索條件,從預設的數(shù)據(jù)庫中搜索出相應的對象信息,并返回給用戶。
[0054]請參見圖7,其包括以下步驟:
[0055]S701,接收用戶端發(fā)出的用戶搜索條件。
[0056]用戶在瀏覽對象信息時,搜索引擎會提供對象類目、屬性值等對象信息供用戶篩選,用戶也可以直接輸入關鍵詞,這些用戶輸入的關鍵詞、選擇的對象類目或者屬性值以及用戶自身信息(性別、年齡、地區(qū)等)即構成了搜索條件。
[0057]S702,提取所述用戶搜索條件中的搜索類目。本申請所述的搜索類目是指“外套”、“大衣”、“筆記本”等表示對象類別的信息,搜索條件中必然包括搜索類目。
[0058]S703,判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值,若否則進入步驟S704,若是則進入步驟S705。
[0059]本申請所述的條件屬性值是指用戶利用頁面顯示的搜索列表搜索對象時,所選擇的表示對象特性的詞,例如“紅色”、“商務休閑”等。每個屬性值至少屬于一個屬性項,例如屬性值“紅色”屬于屬性項“顏色”,屬性值“商務休閑”屬于屬性項“風格”。
[0060]S704,逐一對每個屬性值進行聚類運算,所述聚類運算包括以所述搜索類目為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集,并進入步驟S706。
[0061]通過此步驟所獲取的每一個屬性值對應的對象聚類結果集,可能包含多個對象信息,也可能是一個空集。對象聚類結果集中所包括的對象必然屬于搜索類目,且含有對應的屬性值。對象聚類結果集為空集則說明數(shù)據(jù)庫中不存在既屬于搜索類目,又包含對應屬性值的對象。
[0062]S705,逐一對每個屬性值進行條件聚類運算,所述條件聚類運算包括以所述搜索類目和與要聚類的屬性值不屬于同一屬性項的所有條件屬性值為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集,并進入步驟S706。
[0063]通過此步驟所獲取的每一個屬性值對應的對象聚類結果集,可能包含多個對象信息,也可能是一個空集。對象聚類結果集中所包括的對象必然屬于搜索類目,且含有對應的屬性值和與對應屬性值不屬于同一屬性項的所有條件屬性值。對象聚類結果集為空集則說明數(shù)據(jù)庫中不存在既屬于搜索類目,又包含這些屬性值的對象。
[0064]S706,將非空集的對象聚類結果集返回給用戶端。
[0065]用戶端在接收到對象聚類結果集后,就可以在頁面上渲染相應的屬性值,例如某個屬性值對應的對象聚類結果集中含有10個商品的對象信息,就可以直接將10個商品的個數(shù)渲染在相應的屬性值后。可以一目了然地讓用戶看到,通過搜索,各個屬性值對應幾個商品對象,當用戶點擊相應的屬性值鏈接,可以直接將相應的商品圖片顯示在頁面上。而且,由于本申請實現(xiàn)了對符合搜索條件的每一個屬性值的聚類,所以無須將沒有點擊的屬性值鏈接收回,用戶可以直接在屬性值鏈接上切換點擊,且不會出現(xiàn)搜索無結果的情況,大大提高了搜索效率。
[0066]請參見圖8,其為本發(fā)明實施例的另一種搜索方法的流程圖,其包括以下步驟:
[0067]S801,接收用戶端發(fā)出的用戶搜索條件。
[0068]S802,提取所述用戶搜索條件中的搜索類目。
[0069]S803,判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值,若否則進入步驟S804,若是則進入步驟S807。
[0070]S804,以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集。
[0071]S805,逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集。
[0072]S806,將每一個屬性值的對象集與所述第一結果集進行逐一交集運算,獲取與每一個屬性值對應的所述對象聚類結果集。并進入步驟S810。
[0073]S807,以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集。
[0074]S808,逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集。
[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,其為本發(fā)明實施例的再一種搜索方法的流程圖,其包括以下步驟:
[0106]S901,接收用戶端發(fā)出的用戶搜索條件。
[0107]S902,提取所述用戶搜索條件中的搜索類目。
[0108]S903,判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值,若否則進入步驟S804,若是則進入步驟S807。
[0109]S904,以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集。
[0110]S905,逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集。
[0111]S906,將每一個屬性值的對象集與所述第一結果集進行逐一交集運算,獲取與每一個屬性值對應的所述對象聚類結果集。并進入步驟S913。
[0112]S907,以所述搜索類目和所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,
獲取第二結果集。
[0113]S908,逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應對象集。
[0114]S909,提取預設數(shù)據(jù)庫的所有屬性項中不含有條件屬性值的無條件屬性項以及含有條件屬性值的條件屬性項。
[0115]S910,將第二結果集與所述無條件屬性項的各個屬性值對應的對象集進行逐一交集運算,獲取所述無條件屬性項的每一個屬性值對應的對象聚類結果。
[0116]S911,以所述搜索類目和輪流去除一個條件屬性值后剩余的所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取至少一個第三結果集。
[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,其分別為本發(fā)明實施例的應用示意圖。
[0156]用戶輸入關鍵詞“外套”后,頁面會顯示“男士衛(wèi)衣”、“男士風衣”、“女士夾克”等類目供用戶選擇。當用戶選擇“男士衛(wèi)衣”這一搜索類目后,頁面會顯示如圖10所示的搜索列表。列表中包括“品牌”、“風格”、“圖案”、“款式”五個屬性項,每個屬性項下都包括了多個屬性值供用戶選擇。
[0157]當用戶選擇屬性項“品牌”下的屬性值“真維斯”后,經(jīng)服務器搜索共有84件商品,如圖11所示,可以看到,相同屬性項“品牌”下其它品牌選擇仍然出現(xiàn)可供用戶點選,而其它屬性項下的屬性值卻因此而發(fā)生了變化,屬性項“風格”下只剩余屬性值“時尚休閑”,屬性項“圖案”下只剩余屬性值“簡約”,屬性項“款式”下只剩余屬性值“開衫”。說明經(jīng)過搜索,“風格”、“圖案”、“款式”這三個屬性項下只有“時尚休閑”、“簡約”以及“開衫”這三個屬性值對應的對象聚類結果集為非空集。
[0158]此時,當用戶點選屬性項“品牌”下的屬性值“森馬”,即在相同屬性項“品牌”下,從屬性值“真維斯”切換到屬性值“森馬”,如圖12所示。經(jīng)過搜索,雖然只有7件商品符合搜索條件,但是屬性項“款式”下卻增加了屬性值“套頭”可供選擇。即說明經(jīng)過切換搜索之后,屬性值“套頭”所對應的對象聚類結果集為非空集。
[0159]接著,當用戶點擊屬性項“款式”下的屬性值“套頭”后,可以看到在同時選中屬性項“品牌”下的屬性值“ 森馬”以及屬性項“款式”下的屬性值“套頭”的情況下,能搜索出2件商品,如圖13所示。但屬性項“款式”下仍然還有屬性值“開衫”可以選擇。用戶可以通過同一屬性項中類似的屬性值之間的切換,來方便地找出其感興趣的商品,從而提高了搜索效果。
[0160]當用戶從屬性項“款式”下的屬性值“套頭”橫向切換到屬性值“開衫”,雖然屬性值“森馬”下只有5件“開衫”商品,但是屬性項“品牌”下仍然還有其它16個屬性值可以選擇,用戶可以通過在屬性項“品牌”下切換到不同的屬性值,從而瀏覽到各種品牌的類似商品,從而可以方便快速地找到用戶感興趣的或需要的商品,提高了搜索效率。
[0161]本發(fā)明還提出一種搜索裝置,其可以應用在預設有數(shù)據(jù)庫的網(wǎng)站服務器上,用于為網(wǎng)絡用戶提供搜索功能。本裝置所要搜索的數(shù)據(jù)庫,其中存儲有大量對象信息,包括對象的屬性值、對象所屬的屬性項,每個對象都有所屬的屬性項,所述對象可以特指商品,對象信息可以包括商品名稱、商品圖片等。請參見圖15,其為本發(fā)明實施例的一種搜索裝置的結構圖,本實施例的裝置包括接收單元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用于接收用戶端發(fā)出的用戶搜索條件。當接收單元151接收到用戶搜索條件后,會發(fā)送給提取單元152,并由提取單元152提取出用戶搜索條件中的搜索類目。同時,接收單元151也會將用戶搜索條件發(fā)送給判斷單元153,由判斷單元153判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值。所述條件屬性值是指用戶輸入或根據(jù)頁面引導而選擇的作為搜索條件的屬性值。
[0163]如果判斷單元153判斷出,用戶搜索條件中不含有條件屬性值(即用戶搜索條件只含有搜索類目),則判斷單元153會向第二聚類單元156發(fā)出開始運算的命令信號。第二聚類單元156從接收單元151處接收到搜索類目后,以所述搜索類目為前提聚類條件,逐一對每個屬性值進行聚類運算,并獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集。然后將各個屬性值對應的對象聚類結果集發(fā)送給反饋單元157,由反饋單元157將非空集的對象聚類結果集返回給用戶端進行顯示。
[0164]如果判斷單元153判斷出,用戶搜索條件中含有條件屬性值,則判斷單元153會向第一聚類單元155發(fā)出開始運算的命令信號。同時,屬性項判別單元154會根據(jù)判斷單元153的判斷結果,獲取每個條件屬性值所屬的屬性項。
[0165]第一聚類單元155從接收單元151處接收搜索類目,然后根據(jù)搜索類目和條件屬性值,逐一對每個屬性值進行條件聚類運算。第一聚類單元155所作的聚類運算是以所述搜索類目和與要聚類的屬性值不屬于同一屬性項的所有條件屬性值為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集。然后將各個屬性值對應的對象聚類結果集發(fā)送給反饋單元157,由反饋單元157將非空集的對象聚類結果集返回給用戶端進行顯示。
[0166]請參見圖16,其為本發(fā)明實施例的一種第二聚類單元的結構圖,其包括類目搜索子單元1561、屬性值搜索子單元1562以及第四交集運算子單元1563。類目搜索子單元1561與提取單元152連接,第四交集運算子單元1563分別與類目搜索子單元1561及屬性值搜索子單元1562相連。
[0167]類目搜索子單元1561用于以搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集。屬性值搜索子單元1562用于逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集。第四交集運算子單元1563用于將屬性值搜索子單元1562獲取的各個屬性值對應的對象集分別與類目搜索子單元1561獲取的第一結果集進行逐一交集運算,獲取與每一個屬性值對應的所述對象聚類結果集。
[0168]請參見圖17,其為本發(fā)明實施例的一種第一聚類單元的結構圖,其包括類目搜索子單元1551、屬性值搜索子單元1552及第一交集運算子單元1553。類目搜索子單元1551與提取單元152連接,第一交集運算子單元1553分別與類目搜索子單元1561、屬性值搜索子單元1562及屬性項判別單元154相連。
[0169]類目搜索子單元1551用于以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集。屬性值搜索子單元1552用于逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集。本實施例的類目搜索子單元1551和屬性值搜索子單元1552可以單獨設置,也可以和第二聚類單元共用。
[0170]第一交集運算子單元1553會先根據(jù)屬性項判別單元154輸出的每個條件屬性值所屬的屬性項,獲取與每一個屬性值不屬于同一屬性項的所有條件屬性值,然后將屬性值搜索子單元1552獲取的各個屬性值對應的對象集,與類目搜索子單元1551及與待運算屬性值不屬于同一屬性項的所有條件屬性值的對象集進行逐一交集運算,獲取與每一個屬性值對應的所述對象聚類結果集。
[0171]請參見圖18,其為本發(fā)明實施例的另一種第一聚類單元的結構圖,其包括第一條件搜索子單元1554、屬性值搜索子單元1552、屬性項提取子單元1555、第二交集運算子單元1556、第二條件搜索子單元1557、第三交集運算子單元1558。第一條件搜索子單元1554分別與提取單元152及判斷單元153連接,屬性項提取子單元1555與屬性項判別單元154連接,第二交集運算子單元1556分別與第一條件搜索子單元1554、屬性值搜索子單元1552及屬性項提取子單元1555連接,第二條件搜索子單元1557分別與提取單元152及判斷單元153相連,第三交集運算子單元1558分別與第二條件搜索子單元1557、屬性值搜索子單元1552及屬性項提取子單元1555連接。
[0172]第一條件搜索子單元1554用于以搜索類目和所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取第二結果集。屬性值搜索子單元1552用于逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集。屬性項提取子單元1555用于提取預設數(shù)據(jù)庫的所有屬性項中不含有條件屬性值的無條件屬性項以及含有條件屬性值的條件屬性項。
[0173]第二交集運算子單元1556會根據(jù)屬性項提取子單元1555提取出的無條件屬性項,從屬性值搜索子單元1552處接收所有無條件屬性項中各個屬性值對應的對象集,然后將所述無條件屬性項的各個屬性值對應的對象集逐一和第二結果集進行逐一交集運算,獲取所述無條件屬性項的每一個屬性值對應的對象聚類結果。
[0174]第二條件搜索子單元1557用于以所述搜索類目和輪流去除一個條件屬性值后剩余的所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取至少一個第三結果集。例如如果判斷單元153判斷出用戶搜索條件中只包含一個條件屬性值,則第二條件搜索子單元1557會計算獲得一個第三結果集,如果判斷單元153判斷出用戶搜索條件中包含兩個條件屬性值,則第二條件搜索子單元1557會計算獲得兩個第三結果集。
[0175]第三交集運算子單元1558會根據(jù)屬性項提取子單元1555提取出的條件屬性項,從屬性值搜索子單元1552處接收所有條件屬性項中各個屬性值對應的對象集,然后將每一個條件屬性項中的每一個屬性值逐一與去除該條件屬性項中的條件屬性值時獲取的第三結果集作交集運算,獲取每一個條件屬性項的每一個屬性值對應的對象聚類結果。
[0176]本申請的裝置可以實現(xiàn)對符合搜索條件的每一個屬性值的聚類,因此在用戶端接收到本裝置反饋的搜索結果后,便可以將符合搜索條件的屬性值渲染到頁面上供用戶選擇,用戶可以在直接在屬性值鏈接上切換點擊,且不會出現(xiàn)搜索無結果的情況,大大提高了搜索效率。
[0177]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明實施例可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明實施例的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是⑶-R0M,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或網(wǎng)絡設備等)執(zhí)行本發(fā)明實施例各個實施場景所述的方法。
[0178]以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術人員,在不脫離本發(fā)明技術方案范圍內(nèi),當可利用上述揭示的技術內(nèi)容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術方案內(nèi)容,依據(jù)本發(fā)明的技術實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術方案的范圍內(nèi)。
【權利要求】
1.一種搜索方法,其特征在于,包括: 接收用戶端發(fā)出的用戶搜索條件; 提取所述用戶搜索條件中的搜索類目; 判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值; 若所述搜索條件中包含條件屬性值,則獲取每個條件屬性值所屬的屬性項; 逐一對每個屬性值進行條件聚類運算,所述條件聚類運算包括以所述搜索類目和與要聚類的屬性值不屬于同一屬性項的所有條件屬性值為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集; 將非空集的對象聚類結果集返回給用戶端。
2.如權利要求1所述的搜索方法,其特征在于,所述逐一對每個屬性值進行條件聚類運算的步驟包括: 以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集; 逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集; 將每一個屬性值對應的對象集與所述第一結果集、與待運算屬性值不屬于同一屬性項的所有條件屬性值的對象集進行逐一交集運算,獲取與每一個屬性值對應的所述對象聚類結果集。
3.如權利要求1所述的搜索方法,其特征在于,所述逐一對每個屬性值進行條件聚類運算的步驟包括: 以所述搜索類目和所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取第二結果集; 逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應對象集; 提取預設數(shù)據(jù)庫的所有屬性項中不含有條件屬性值的無條件屬性項以及含有條件屬性值的條件屬性項; 將第二結果集與所述無條件屬性項的各個屬性值對應的對象集進行逐一交集運算,獲取所述無條件屬性項的每一個屬性值對應的對象聚類結果; 以所述搜索類目和輪流去除一個條件屬性值后剩余的所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取至少一個第三結果集; 將每一個條件屬性項中的每一個屬性值逐一與去除該條件屬性項中的條件屬性值時獲取的第三結果集作交集運算,獲取每一個條件屬性項的每一個屬性值對應的對象聚類結果.
4.如權利要求1所述的搜索方法,其特征在于,所述判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值的步驟之后包括: 若所述搜索條件中不包含條件屬性值,則逐一對每個屬性值進行聚類運算,所述聚類運算包括以所述搜索類目為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集; 將非空集的對象聚類結果集返回給用戶端。
5.如權利要求4所述的搜索方法,其特征在于,所述逐一對每個屬性值進行聚類運算的步驟包括: 以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集; 逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集; 將每一個屬性值的對象集與所述第一結果集進行逐一交集運算,獲取與每一個屬性值對應的所述對象聚類結果集。
6.一種搜索裝置,其特征在于,包括: 接收單元,用于接收用戶端發(fā)出的用戶搜索條件; 提取單元,用于提取所述用戶搜索條件中的搜索類目; 判斷單元,用于判斷所述用戶搜索條件中是否包含用戶選擇的條件屬性值; 屬性項判別單元,用于當所述搜索條件中包含條件屬性值,獲取每個條件屬性值所屬的屬性項; 第一聚類單元,用于逐一對每個屬性值進行條件聚類運算,所述條件聚類運算包括以所述搜索類目和與要聚類的屬性值不屬于同一屬性項的所有條件屬性值為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集; 反饋單元,用于將非空集的對象聚類結果集返回給用戶端。
7.如權利要求6所述的搜索裝置,其特征在于,所述第一聚類單元進一步包括: 類目搜索子單元,用于以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集; 屬性值搜索子單元,用于逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集; 第一交集運算子單元,用于將每一個屬性值對應的對象集與所述第一結果集、與待運算屬性值不屬于同一屬性項的所有條件屬性值的對象集進行逐一交集運算,獲取與每一個屬性值對應的所述對象聚類結果集。
8.如權利要求6所述的搜索裝置,其特征在于,所述第一聚類單元進一步包括: 第一條件搜索子單元,用于以所述搜索類目和所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取第二結果集; 屬性值搜索子單元,逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應對象集; 屬性項提取子單元,用于提取預設數(shù)據(jù)庫的所有屬性項中不含有條件屬性值的無條件屬性項以及含有條件屬性值的條件屬性項; 第二交集運算子單元,用于將第二結果集與所述無條件屬性項的各個屬性值對應的對象集進行逐一交集運算,獲取所述無條件屬性項的每一個屬性值對應的對象聚類結果;第二條件搜索子單元,用于以所述搜索類目和輪流去除一個條件屬性值后剩余的所有條件屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取至少一個第三結果集; 第三交集運算子單元,用于將每一個條件屬性項中的每一個屬性值逐一與去除該條件屬性項中的條件屬性值時獲取的第三結果集作交集運算,獲取每一個條件屬性項的每一個屬性值對應的對象聚類結果。
9.如權利要求6所述的搜索裝置,其特征在于,還包括: 第二聚類單元,用于當所述判斷單元判斷出所述搜索條件中不包含條件屬性值,則逐一對每個屬性值進行聚類運算,所述聚類運算包括以所述搜索類目為前提聚類條件,獲取每一個屬性值對應的預設數(shù)據(jù)庫中的對象聚類結果集。
10.如權利要求9所述的搜索裝置,其特征在于,所述第二聚類單元進一步包括: 類目搜索子單元,用于以所述搜索類目為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取屬于所述搜索類目的所有對象的第一結果集; 屬性值搜索子單元,用于逐一用每個屬性值作為搜索條件對預設數(shù)據(jù)庫進行搜索,獲取每一個屬性值所對應的對象集; 第四交集運算子單元,用于將每一個屬性值的對象集與所述第一結果集進行逐一交集運算,獲取與 每一個屬性值對應的所述對象聚類結果集。
【文檔編號】G06F17/30GK104077337SQ201310188179
【公開日】2014年10月1日 申請日期:2013年5月20日 優(yōu)先權日:2013年5月20日
【發(fā)明者】李兮芝, 郝暉 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1