[發(fā)明專利]一種實(shí)時搜索的方法有效
| 申請?zhí)枺?/td> | 201210217946.4 | 申請日: | 2012-06-27 |
| 公開(公告)號: | CN102737133A | 公開(公告)日: | 2012-10-17 |
| 發(fā)明(設(shè)計)人: | 龔偉堅(jiān);孫海濤;崔金峰 | 申請(專利權(quán))人: | 北京城市網(wǎng)鄰信息技術(shù)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京漢昊知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11370 | 代理人: | 朱海波 |
| 地址: | 100012 北京市朝*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 實(shí)時 搜索 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及搜索技術(shù),尤其涉及一種實(shí)時搜索的方法。
背景技術(shù)
互聯(lián)網(wǎng)的飛速發(fā)展,給搜索引擎提出了新的難題,由于網(wǎng)絡(luò)信息的爆炸性增長,大規(guī)模的web搜索引擎平均每秒需要處理上萬次搜索請求,每個搜索的處理需要涉及到海量的索引,因此,索引處理已經(jīng)成為搜索引擎的主要的性能瓶頸。
現(xiàn)有的搜索方案中,對于實(shí)時搜索,雖然可以一邊提供查詢的功能,一邊提供修改的數(shù)據(jù)排序字段,例如一張員工數(shù)據(jù)表中,存儲了員工的編號、姓名、工作日期共三個字段的信息,而索引是按照“編號”的排序字段進(jìn)行建立的,則用戶需要查詢以“工作日期”為排序字段的前十名員工的信息,則可以一邊返回查詢的數(shù)據(jù)給用戶,一邊修改數(shù)據(jù)的排序字段,以便于下次較快地返回以“工作日期”為排序字段的所有員工的信息,但是,由于沒有適用緩存,針對每一次新的搜索請求,都需要從索引中檢索數(shù)據(jù),并對索引中的數(shù)據(jù)進(jìn)行重新排序,由此,延長了數(shù)據(jù)搜索的時間,降低了搜索系統(tǒng)的性能。
發(fā)明內(nèi)容
根據(jù)對大量用戶的搜索習(xí)慣和規(guī)律進(jìn)行調(diào)查發(fā)現(xiàn),在一段時間內(nèi)大量用戶會對一些當(dāng)前熱門關(guān)鍵詞進(jìn)行搜索,而搜索過程中生成的索引和搜索結(jié)果在預(yù)定時間內(nèi)是保持不變。如果能夠充分利用先前已經(jīng)形成的索引和搜索結(jié)果可以減少為相同的搜索請求重復(fù)生成搜索結(jié)果的服務(wù)器時間和負(fù)荷。為此本發(fā)明的目的是提供一種實(shí)時搜索的方法,該方法包括以下步驟:
將數(shù)據(jù)文檔按照時間順序生成多段索引;
從各索引段中提取部分?jǐn)?shù)據(jù),予以緩存,其中,根據(jù)各段的生成時間確定提取該段進(jìn)行緩存的數(shù)據(jù)量;
搜索數(shù)據(jù)時,先從緩存中搜索各索引段的文檔,緩存中存在目標(biāo)數(shù)據(jù)時,則返回目標(biāo)數(shù)據(jù);否則,從其他存儲單元中搜索數(shù)據(jù);
將從緩存所搜索的目標(biāo)數(shù)據(jù)和/或從存儲單元中所搜索的目標(biāo)數(shù)據(jù)予以合并,返回合并的數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
1)通過采用緩存的方案,提高了實(shí)時搜索的效率;
2)針對不同時間段的數(shù)據(jù),采用不同的緩存方案,提高了實(shí)時搜索的靈活性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會變得更明顯:
圖1為根據(jù)本發(fā)明一個優(yōu)選實(shí)施例的實(shí)時搜索方法的流程圖;
圖2為根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例的數(shù)據(jù)搜索的方法流程圖;
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)描述。
根據(jù)本發(fā)明,提供了一種實(shí)時搜索的方法。下文中,將對本發(fā)明提供的實(shí)時搜索的方法進(jìn)行詳細(xì)說明。該方法包括以下步驟:
步驟S101,將數(shù)據(jù)文檔按照時間順序生成多段索引。
具體地,索引的建立和數(shù)據(jù)搜索的方法可以參照現(xiàn)有技術(shù),例如包括以下步驟:
a)在內(nèi)存中預(yù)設(shè)存儲單元的大小和個數(shù),初始化相應(yīng)的內(nèi)存空間,記錄包括數(shù)據(jù)類型和數(shù)據(jù)內(nèi)容在內(nèi)的數(shù)據(jù)信息,如文本數(shù)據(jù)及內(nèi)容;
b)初始化索引,在所述索引中存儲對應(yīng)數(shù)據(jù)信息的各存儲單元的地址信息;
c)收到搜索請求,通過索引進(jìn)行數(shù)據(jù)搜索;
d)判斷是否搜索得到所需數(shù)據(jù),是,則將搜索結(jié)果返回;否,則從本地或遠(yuǎn)程磁盤中搜索并讀取所需數(shù)據(jù)。
本技術(shù)方案中,根據(jù)時間順序建立多段索引,如建立三段索引,第一段索引中所包含的數(shù)據(jù)包括一天以內(nèi)被搜索或更新的數(shù)據(jù);第二段索引中所映射的數(shù)據(jù)包括一天之前三個月以內(nèi)被搜索或更新的數(shù)據(jù);第三段索引中所映射的數(shù)據(jù)包括前三個月之前被搜索或更新的數(shù)據(jù),也就是不同段的索引,所包含的是不同時間段的數(shù)據(jù)。所述索引段中包括搜索請求和相應(yīng)的搜索結(jié)果。
當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)該知曉,索引中由于可以只包含數(shù)據(jù)中的關(guān)鍵字值和記錄號,如索引中包含一張員工表中的“工號”值和排序號,因此,索引比數(shù)據(jù)本身的內(nèi)容要小得多,并且,建立索引后,索引中的內(nèi)容會隨著數(shù)據(jù)的增減或修改而更新。
一個完整的索引由多個段組成,每個段是一份可搜索的最小單元,它由多個文檔生成,每個文檔在段中具有唯一的標(biāo)識,各個文檔可以分別為不同的數(shù)據(jù)對象類型,包括:文本數(shù)據(jù)對象、圖像數(shù)據(jù)對象、音頻數(shù)據(jù)對象、視頻數(shù)據(jù)對象、可執(zhí)行程序數(shù)據(jù)對象等等,并且,每個文檔包含一個全局的、唯一的鍵值,即主鍵,例如文檔的標(biāo)識號。在每個索引段中,文檔按照主鍵進(jìn)行排序。
步驟S102,從各索引段中提取部分?jǐn)?shù)據(jù),予以緩存,其中,各段所提取的數(shù)據(jù)量根據(jù)段的生成時間予以確定。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京城市網(wǎng)鄰信息技術(shù)有限公司,未經(jīng)北京城市網(wǎng)鄰信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210217946.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





