專利名稱:基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種互聯(lián)網(wǎng)的搜索方法,具體涉及一種基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)內(nèi)容量的增加,各類網(wǎng)站均擁有了大量內(nèi)容。這些內(nèi)容分布廣泛,目前通用的搜索引擎只能收錄到其中很少一部分內(nèi)容,無法覆蓋全面。這是由目前通用搜索的技術(shù)限制造成的。通用搜索希望覆蓋盡可能廣泛的內(nèi)容, 內(nèi)容的重要性由搜索引擎本身根據(jù)一定算法決定,并不依賴于內(nèi)容源本身的重要程度。同時,因為索引系統(tǒng)的容量所限,通用搜索也不可能把地球上所有網(wǎng)站的內(nèi)容全部包括。同樣,通用搜索一般按照自己定義的排序方法進行排序,并預(yù)先把計算好的排序結(jié)果保存在索引中。對于擁有內(nèi)容的網(wǎng)站本身,又不簡單滿足于通用的搜索引擎基于文本的搜索方式,而希望根據(jù)其數(shù)據(jù)結(jié)構(gòu)提供復(fù)雜而結(jié)構(gòu)化的搜索結(jié)果。這些網(wǎng)站希望搜索引擎可以檢索到全部內(nèi)容,可以按照自己的要求調(diào)整排序,并希望可以快速的適應(yīng)各種變化,包括內(nèi)容變化,排序變化等。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法,它可以提供根據(jù)結(jié)構(gòu)化數(shù)據(jù)和自定義條件的搜索結(jié)果。為解決上述技術(shù)問題,本發(fā)明基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法的技術(shù)解決方案為包括以下步驟第一步,建立一個由多臺計算機組成的云平臺,各計算機之間通過socket連接起來;在云平臺上實現(xiàn)集中管理和SAAS服務(wù);各計算機上設(shè)有索引服務(wù)和檢索服務(wù);第二步,對源數(shù)據(jù)進行標(biāo)注,以使數(shù)據(jù)結(jié)構(gòu)化;對源數(shù)據(jù)進行標(biāo)注的方法是,將數(shù)據(jù)分為多種類型,數(shù)據(jù)類型包括可被搜索且分詞的;可被搜索且不分詞的;不被搜索僅存儲的;可做排序和范圍查詢的;時間;需要快速變化的。第三步,根據(jù)源數(shù)據(jù)的標(biāo)注結(jié)果,建立不同類型的索引,用于搜索。建立不同類型的索引的方法是,將索引分為多種類型,索引類型包括全文索引;快速變化的數(shù)字索引;
用來存儲但不參與搜索的源數(shù)據(jù)。本發(fā)明可以達到的技術(shù)效果是本發(fā)明通過建立搜索集群(云),為其他網(wǎng)站提供搜索服務(wù),網(wǎng)站可以將結(jié)構(gòu)化之后的數(shù)據(jù)通知給本服務(wù),從而提供根據(jù)結(jié)構(gòu)化數(shù)據(jù)和自定義條件的搜索結(jié)果。本發(fā)明能夠為網(wǎng)站提供搜索功能,其優(yōu)點表現(xiàn)在以下幾方面1、基于云平臺,通過SAAS方式提供服務(wù),實現(xiàn)集中管理,降低運營成本和用戶使用成本;2、提供結(jié)構(gòu)化數(shù)據(jù)搜索,通過對數(shù)據(jù)標(biāo)注,使搜索結(jié)構(gòu)化,可以實現(xiàn)各種基于范圍的搜索,并定制排序方法;3、根據(jù)不同的搜索條件輸出各種形式的搜索結(jié)果,搜索結(jié)果輸出為結(jié)構(gòu)化文檔, 可用于各種設(shè)備和平臺。
下面結(jié)合具體實施方式
對本發(fā)明作進一步詳細的說明圖1是本發(fā)明基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法的索引流程;圖2是一個搜索集群結(jié)構(gòu)的示意圖。
具體實施例方式本發(fā)明基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法,如圖1、圖2所示,包括以下步驟第一步,建立一個由多臺計算機組成的云平臺,各計算機之間通過用于描述IP地址和端口的socket (套接字)連接起來;在云平臺上實現(xiàn)集中管理和SAAS服務(wù);SAAS即軟件運營,是基于互聯(lián)網(wǎng)提供軟件服務(wù)的軟件應(yīng)用模式。各計算機上設(shè)有索引服務(wù),索引服務(wù)作為索引節(jié)點;各計算機上還設(shè)有檢索服務(wù), 檢索服務(wù)作為檢索節(jié)點;本發(fā)明采用多臺計算機組成分布式處理集群,搜索的索引分布于集群之上,使存儲和計算負載被集群分擔(dān),充分集群中所有計算機的I/O能力和計算能力,使服務(wù)可擴展。 多個這樣的分布式處理集群形成云平臺。在這個平臺上,用SAAS的方式提供搜索服務(wù)。第二步,對源數(shù)據(jù)進行標(biāo)注,以使數(shù)據(jù)結(jié)構(gòu)化;為了讓搜索行為具有更多的含義,對輸入數(shù)據(jù)(即源數(shù)據(jù))首先進行結(jié)構(gòu)化處理, 即將數(shù)據(jù)分為以下幾種類型可被搜索且分詞的;可被搜索且不分詞的;不被搜索僅存儲的;可做排序和范圍查詢的;時間;需要快速變化的。以上類型涵蓋了創(chuàng)建結(jié)構(gòu)化搜索引擎所需要的類型。本發(fā)明通過對源數(shù)據(jù)的標(biāo)注,獲得了結(jié)構(gòu)化的輸入數(shù)據(jù),使索引器獲得數(shù)據(jù)字段的含義和類型,并按照類型正確建立索引,能夠使搜索引擎創(chuàng)建索引和進行檢索的時候根據(jù)類型進行,可以正確地對數(shù)字類型排序,篩選數(shù)字范圍或時間范圍。本發(fā)明通過對源數(shù)據(jù)的標(biāo)注,將輸入數(shù)據(jù)分為多種類型,能夠有效地提高索引質(zhì)量。一段標(biāo)注過的數(shù)據(jù)如下所示<doc>〈title cy. type = “ title" >基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法〈/title〉<rank cy. type =“ num “ >5</rank><typename cy. type = " store" > 專禾丨J文檔 </typename>〈filename cy. type = “ untoken" >SAAS 云結(jié)構(gòu)化數(shù)據(jù)搜索.doc</filename>〈date cy.type = “ date" >2010-08_01</date></doc>這段文檔中,使用了 cy. type字段進行類型標(biāo)注,這種標(biāo)注方法是通過人工輔助進行的。也可以在建立索引的時候由系統(tǒng)自動判斷生成,這需要定義一定規(guī)則,比如,把純數(shù)字字段標(biāo)注為數(shù)字,把符合各種日期格式的字段標(biāo)記日期等。第三步,根據(jù)源數(shù)據(jù)的標(biāo)注結(jié)果,建立不同類型的索引,用于搜索;將索引分為以下幾種類型全文索引;全文索引是對進行文本搜索的所有文件字段建立的索引,用來根據(jù)用戶輸入的文本匹配所需內(nèi)容;全文索引中定義數(shù)據(jù)中的字段為文本;快速變化的數(shù)字索引;快速變化的數(shù)字索引用于排序和篩選,這種索引是一個內(nèi)存-硬盤映射有序索引表,從該索引表中可快速取得一段有序數(shù)據(jù)或獲得數(shù)據(jù)集排序結(jié)果。快速變化的數(shù)字索引中定義數(shù)據(jù)中的字段為數(shù)字。因為該索引表主要存儲區(qū)域位于內(nèi)存,可以承擔(dān)快速變化,對于頁面瀏覽量,電子商務(wù)網(wǎng)站的價格等變化頻繁的數(shù)據(jù),適合采用這種索引,可以讓搜索結(jié)果和實際對應(yīng)的數(shù)據(jù)保持實時變化,并可以按照這類數(shù)據(jù)實時排序。用來存儲但不參與搜索的源數(shù)據(jù)(即日期);用來存儲但不參與搜索的源數(shù)據(jù)是存放于硬盤的定長文本數(shù)據(jù)庫,用來組成搜索結(jié)果中出現(xiàn)的各元素,用于排序和范圍查詢?,F(xiàn)有的搜索引擎僅進行文本匹配搜索,這對于結(jié)構(gòu)化搜索引擎是遠遠不夠的。采用本發(fā)明進行搜索的操作方法如下輸入一個搜索請求,該搜索請求被分發(fā)到某個檢索節(jié)點上,解析搜索需要的條件和參數(shù),根據(jù)條件,對多個索引節(jié)點發(fā)起查詢,獲得內(nèi)容,對不同搜索關(guān)鍵詞的內(nèi)容計算它們的交集,獲得最后結(jié)果。檢索節(jié)點根據(jù)數(shù)據(jù)返回情況,進行合并,并根據(jù)搜索配置的權(quán)重計算各結(jié)果得分。 對所有得分進行堆排序,獲得前1000個結(jié)果,成為最后的搜索結(jié)果集并返回。所有節(jié)點(包括索引節(jié)點和檢索節(jié)點)可檢測健康狀況,剔除故障節(jié)點,保證搜索服務(wù)的正常運行。
權(quán)利要求
1.一種基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法,其特征在于,包括以下步驟第一步,建立一個由多臺計算機組成的云平臺,各計算機之間通過socket連接起來; 在云平臺上實現(xiàn)集中管理和SAAS服務(wù);各計算機上設(shè)有索引服務(wù)和檢索服務(wù); 第二步,對源數(shù)據(jù)進行標(biāo)注,以使數(shù)據(jù)結(jié)構(gòu)化; 第三步,根據(jù)源數(shù)據(jù)的標(biāo)注結(jié)果,建立不同類型的索引,用于搜索。
2.根據(jù)權(quán)利要求1所述的基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法,其特征在于所述第二步對源數(shù)據(jù)進行標(biāo)注的方法是,將數(shù)據(jù)分為多種類型,數(shù)據(jù)類型包括可被搜索且分詞的; 可被搜索且不分詞的; 不被搜索僅存儲的; 可做排序和范圍查詢的; 時間;需要快速變化的。
3.根據(jù)權(quán)利要求1所述的基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法,其特征在于所述第三步建立不同類型的索引的方法是,將索引分為多種類型,索引類型包括全文索引;快速變化的數(shù)字索引; 用來存儲但不參與搜索的源數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種基于云的結(jié)構(gòu)化數(shù)據(jù)搜索方法,包括以下步驟第一步,建立一個由多臺計算機組成的云平臺,各計算機之間通過socket連接起來;在云平臺上實現(xiàn)集中管理和SAAS服務(wù);各計算機上設(shè)有索引服務(wù)和檢索服務(wù);第二步,對源數(shù)據(jù)進行標(biāo)注,以使數(shù)據(jù)結(jié)構(gòu)化;第三步,根據(jù)源數(shù)據(jù)的標(biāo)注結(jié)果,建立不同類型的索引,用于搜索。本發(fā)明通過建立搜索集群,為其他網(wǎng)站提供搜索服務(wù),網(wǎng)站可以將結(jié)構(gòu)化之后的數(shù)據(jù)通知給本服務(wù),從而提供根據(jù)結(jié)構(gòu)化數(shù)據(jù)和自定義條件的搜索結(jié)果。
文檔編號G06F17/30GK102375860SQ20101026486
公開日2012年3月14日 申請日期2010年8月27日 優(yōu)先權(quán)日2010年8月27日
發(fā)明者霍炬 申請人:盛樂信息技術(shù)(上海)有限公司