果包括同時存在于第一搜索結果 和第二搜索結果中的一個或多個業(yè)務對象;然后,該第二確定單元根據所述第三搜索結果 中各搜索結果所對應的編碼及SKU位,確定目標搜索結果,例如,根據該第三搜索結果中各 業(yè)務對象及對應的SKU位確定各業(yè)務對象及其對應的SKU屬性信息,并將該(等)業(yè)務對 象及其對應的SKU屬性信息作為目標搜索結果。優(yōu)選地,該第二確定單元還可將所述第三 搜索結果中各搜索結果所對應的SKU位進行與運算,以獲得第四搜索結果,例如該第四搜 索結果包括具有相同SKU位的各業(yè)務對象,在此,第四搜索結果中的各業(yè)務對象與該查詢 序列中的所有SKU屬性信息相匹配;根據所述第四搜索結果中各搜索結果所對應的編碼及 SKU位,確定目標搜索結果,例如,根據該第四搜索結果中各業(yè)務對象及對應的SKU位確定 各業(yè)務對象及其對應的SKU屬性信息,并將該(等)業(yè)務對象及其對應的SKU屬性信息作 為目標搜索結果。
[0057] 優(yōu)選地,如果目標搜索結果為空集(即沒有搜索到滿足查詢序列的商品)或目標 搜索結果中包括的商品數量較少,本方案還可以根據查詢序列分別在第一倒排索引數據庫 和第二倒排索引數據庫中進行模糊匹配查詢以獲得第一搜索結果和第二搜索結果,再根據 該第一搜索結果和第二搜索結果確定與用戶待搜索的商品較為接近的商品作為目標搜索 結果。例如,本方案可以根據查詢序列中商品的部分SKU屬性信息進行匹配查詢;假設用戶 輸入的查詢序列是"iphone5s金色32G",根據該查詢序列匹配查詢到的結果將為空集,那 么,本方案可以利用"iphone5s金色"和/或"iphone5S32G"進行匹配查詢,并根據匹配查 詢結果確定目標搜索結果。
[0058] 下面,結合具體實施例對本申請所提供的一種用于確定搜索結果的設備進行說 明。
[0059] 具體地,假設商品搜索引擎中涉及型號為5s的蘋果手機包括5種,該5種商品的 源數據請參考表1。其中,表1的第一列為商品編號,第二列為商品標題,第三例為商品的 SKU。下文中,將用商品1、商品2、商品3、商品4以及商品5分別表示該5種商品。以商品 1為例說明,如表1所示,商品1的編號為1,標題是"順豐包郵iphone5s國行",該商品具有 3個SKU,第1個SKU是"顏色:白色,存儲大小:16G,網絡模式:GSM",第2個SKU是"顏色: 金色,存儲大小:16G,網絡模式:GSM",第3個SKU是"顏色:金色,存儲大?。?2G,網絡模式: WCDMA"。為了簡明起見,在此不再對商品2至商品5逐一進行說明。
[0060]
[0062]表1
[0063] 通過表1可以獲知上述5種商品的所有SKU屬性,該所有SKU屬性包括"顏色:白 色"、"顏色:金色"、"顏色:黑色"、"存儲大?。?6G"、"存儲大小:32G"、"存儲大小:64G"、"網 絡模式:GSM"以及"網絡模式:WCDMA"。針對上述5種商品的SKU屬性采用倒排索引的方式 建立第二倒排索引數據庫(請參考表2)。如表2所示,該倒排索引的第一列為商品的SKU屬性(即屬性記錄信息),第二列為針對于每一SKU屬性的倒排表。其中,針對于每一SKU 屬性的倒排表進一步包括兩部分,一部分是商品編號,該商品編號用于標識具有該SKU屬 性的商品,本領域技術人員可以理解的是,該部分并不僅僅限于商品編號,還可以是其他任 何可以用于標識具有該SKU屬性的商品的商品信息,為了簡明起見,在此不再對所有可能 的商品信息進行 列舉;另一部分是每一商品編號所對應的bitmap,該bitmap用于標識 該商品編號所對應的商品的第幾個SKU中包括該SKU屬性。以SKU屬性是"顏色:白色"為 例說明,如表2所示,上述5種商品中商品1、商品2、商品3以及商品5均具有該SKU屬性, 即針對于該SKU屬性的倒排表中的商品編號分別是1、2、3以及5,進一步地,該SKU屬性出 現在商品1的第1個SKU中、商品2的第1個SKU中、商品3的第1個SKU中以及商品5的 第1個和第2個SKU中,因此,與商品編號1對應的bitmap置位為1,與商品編號2對應的 bitmap置位為1,與商品編號3對應的bitmap置位為1,與商品編號5對應的bitmap置位 為1和2。為了簡明起見,在此不再對其他SKU屬性及其倒排表一一進行說明。
[0064]
[0065] 表2
[0066] 除了針對于商品的SKU屬性建立第二倒排索引數據庫之外,還需要針對商品標題 采用倒排索引的方式建立第一倒排索引數據庫(請參考表3)。如表3所示,表3的第一列 是商品標題關鍵詞(即對象記錄信息),該商品標題關鍵詞可以通過對商品標題進行分詞 得到,第二列是針對于該商品標題關鍵詞的倒排表,該倒排表中的商品編號用于標識哪些 商品的標題中包括該商品標題關鍵詞。以商品標題關鍵詞"iphone5s"為例說明,如表3所 示,商品1、商品2、商品3、商品4以及商品5的商品標題均包括"iphone5s",因此,與商品標 題關鍵詞"iphone5S"對應的倒排表中的商品編號分別是1、2、3、4以及5。為了簡明起見, 在此不再對其他商品標題關鍵詞及其倒排表一一進行說明。此外,需要說明的是,表3中僅 僅列出了 "iphone5s"和"蘋果"兩個關鍵詞及其倒排表作為示意,為了簡明起見,其他關鍵 詞及其倒排表不再一一列出。
[0067]
[0068]表 3
[0069] 當用戶在商品搜索引擎中輸入"iph〇ne5S"并選擇過濾條件為"顏色:白色"和"存 儲大?。?2G"兩個SKU屬性進行搜索時:
[0070] 接收裝置103獲取用戶輸入的查詢序列"iphone5S顏色:白色存儲大?。?2G"。
[0071] 第一查詢裝置104根據該查詢序列中的分詞"iphone5S"在商品標題關鍵詞的倒 排索引中進行查找,可以得到商品標題中包括"iphone5s"的商品的編號如下:
[0072]
[0073] 第二查詢裝置105根據該查詢序列中的SKU屬性信息"顏色:白色"在商品SKU屬 性的倒排索引中進行查找,可以得到具有該SKU屬性的商品的編號以及對應的bitmap如 下:
[0074]
[0075] 第二查詢裝置105根據該查詢序列中的SKU屬性信息"存儲大?。?2G"在商品SKU 屬性的倒排索引中進行查找,可以查找到滿足該SKU屬性的商品的編號以及對應的bitmap 如下:
[0076]
[0077] 確定裝置106將通過"iphone5S"搜索得到的商品編號、以及通過SKU屬性"顏色: 白色"和"存儲大?。?2G"搜索得到的商品編號進行"與"邏輯歸并運算,得到商品1和商品 5,即,只有商品1和商品5既滿足標題包括"iphone5S"的搜索條件、又滿足所有SKU屬性 中包括"顏色:白色"和"存儲大?。?2G"的過濾條件。進一步,確定裝置106對商品1和商 品5進行bitmap"與"運算,得到商品5,即,只有商品5滿足同一SKU中既具有"顏色:白 色"又具有"存儲大小:32G"兩個SKU屬性,因此,確定目標搜索結果為商品5。
[0078] 下面,根據上述針對于SKU過濾的優(yōu)選實施例對本申請所提供的一種用于確定搜 索結果的設備的運算復雜度進行分析。具體地,假設用戶輸入的查詢序列中作為過濾條件 的SKU屬性的數目為P,那么,首先在第一倒排索引數據庫中針對于身份相關信息的查找的 次數等于1、在第二倒排索引數據庫中針對過濾條件中SKU屬性的查找的次數等于P,接著 針對于在第一倒排索引數據庫中查找得到的結果以及在第二倒排索引數據庫中查找得到 的結果中的商品編號進行"與"邏輯歸并運算的次數等于P+1,最后針對于對商品編號進行 "與"邏輯歸并運算后得到的結果進行bitmap"與"運算,在較為極端的情況下(即在第一 倒排索引數據庫中根據身份相關信息查找得到的商品的數目為K,而該K個商品中的每一 商品均具有過濾條件中的P個SKU屬性),bitmap"與"運算的次數等于KXP,而在實際情 況中bitmap"與"運算的次數通常是遠遠小于KXP的。通過上述分析并結合【背景技術】中 的分析可知,本申請所提供的設備在實現SKU過濾時的運算復雜度遠遠小于現有技術實現 SKU過濾時的運算復雜度。
[0079] 圖4示出了根據本申請另一個方面的一種用于確定搜索結果的方法流程圖。具體 地,在步驟S201中,設備1獲取一個或多個業(yè)務對象關聯的分詞,根據所述分詞建立所述一 個或多個業(yè)務對象的第一倒排索引數據庫;在步驟S202中,設備1為所述一個或多個業(yè)務 對象配置SKU屬性信息,根據所述一個或多個業(yè)務對象的SKU屬性信息建立所述一個或多 個業(yè)務對象的第二倒排索引數據庫;在步驟S203中,設備1接收用戶的查詢序列;在步驟 S204中,設備1根據所述查詢序列中的至少一個分詞在所述第一倒排索引數據庫中獲取第 一搜索結果;在步驟S205中,設備1提取所述查詢序列中的SKU屬性信息,根據提取的至少 一項SKU屬性信息在所述第二倒排索引數據庫中獲取第二搜索結果;在步驟S206中,設備 1根據所述第一搜索結果及所述第二搜索結果確定目標搜索結果。
[0080] 在此,設備1可以是本地設備,也可以是網絡設備。其中,網絡設備可由網絡主機、 單個網絡服務器、多個網絡服務器集或多個服務器構成的云等實現。在此,云由基于云計算 (CloudComputing)的大量主機或網絡服務器構成,其中,云計算是分布式計算的一種,由 一群松散耦合的計算機集組成的一個超級虛擬計算機。本領域技術人員應能理解上述設備 僅為舉例,其他現有的或今后可能出現的設備如可適用于本申請,也應包含在本申請保護 范圍以內,并在此以引用方式包含于此。在此,所述設備包括一種能夠按照事先設定或存儲 的指令,自動進行數值計算和信息處理的電子設備,其硬件包括但不限于微處理器、專用集 成電路(ASIC)、可編程門陣列(FPGA)、數字處理器(DSP)、嵌入式設備等。
[0081] 在對本申請實施例所提供的用于確定搜索結果的方法流程進行詳細描述之前,需 要對本申請實施例所提供的方法流程所適用的業(yè)務對象進行說明。具體地,本申請所提供 的方法流程所適用的業(yè)務對象具有如下特征:每個業(yè)務對象具有對應的一般描述信息,例 如該業(yè)務對象的標題信息,還可以通過關于該業(yè)務對象的一個或多個SKU屬性信息來描 述。例如,商品是符合上述特征的一種非常典型的業(yè)務對象。一個商品"iPhone5s"通常 包括一般描述信息,例如"正品行貨iphone5s",還可以包括多個SKU屬性信息,例如"顏色: 白色,存儲大?。?6G,網絡模式:GSM"、"顏色:金色,存儲大?。?6G,網絡模式:GSM"以及"顏 色:金色,存儲大?。?2G,網絡模式:WCDMA"。當用戶通過商品的一般描述信息"iphone5S" 以及該商品的SKU屬性相關信息"顏色:白色,存儲大?。?6G"進行查詢時,即可使用本申請 所提供的方法流程以獲得滿足該查詢條件的蘋果手機。本領域技術人員可以理解的是,本 申請實施例所提供的用于確定搜索結果的方法流程并不僅僅適用于商品,凡是符合上述特 征的業(yè)務對象均包括在本申請所保護的范圍內。舉例說明,若業(yè)務對象是公司所有的員工, 則員工的職位、部門等用來描述該業(yè)務對象的一般描述信息,員工的性別、年齡等用來描述 該業(yè)務對象的SKU屬性信息,如"產品經理男35歲以下",等等。為了簡明起見,在此不再對 本申請可能適用的所有業(yè)務對象進行一一列舉。下文中,僅以業(yè)務對象是商品為例對本申 請實施例所提供的用于確定搜索結果的方法流程進行說明,其中,用戶通過指定商品的至 少一個SKU屬性作為過濾條件的商品搜索方式稱為SKU過濾。本領域技術人員應能理解, 本方案適用于包括商品在內的所有業(yè)務對象。
[0082] 具體地,在步驟S201中,設備1獲取一個或多個業(yè)務對象關聯的分詞,根據所述分 詞建立所述一個或多個業(yè)務對象的第一倒排索