專利背景
傳統
搜尋引擎2010年前的實現機制主要是基於關鍵字匹配,相關度計算模型,網頁重要性模型等進行搜尋結果的排序。但是,信息產生的時間或信息的時間類屬性往往對於信息的有效性有重要影響。
當信息源發生重大變化,產生大量信息的時候,如何在極短的時間內對這些大量信息進行索引,使這些信息被用戶搜尋到,則是一個需要解決的問題。例如,對於例如
twitter一類的實時服務,則需要即時索引這些實時產生的信息,以便用戶能夠即時搜尋到這些實時信息。
發明內容
專利目的
《即時索引方法及系統》的目的是提出一種即時索引方法及系統,能夠實現對新獲取的大量信息進行快速索引,以支持新獲取信息的搜尋服務。
技術方案
《即時索引方法及系統》提供了一種即時索引方法,包括:
在獲取新的即時信息時,獲取所述即時信息的時間要素;建立所述時間框序列處理流程,並在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫;對所述待索引信息處理庫中的即時信息進行時間要素標註,並分別對每個待索引信息處理庫建立包括時間要素的索引;將索引好的即時信息存入針對實時搜尋的實時索引庫,以提供時間要素作為重要搜尋排序依據的索引調用。
為實現上述目的,《即時索引方法及系統》提供了一種即時索引系統,包括:
信息獲取單元,用於獲取新的即時信息,同時獲取所述即時信息的時間要素;時間框序列建立單元,用於建立所述時間框序列處理流程,並在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫;信息處理庫建立單元,用於在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫;時間要素標註單元,用於對所述待索引信息處理庫中的即時信息進行時間要素標註;索引建立單元,用於分別對每個待索引信息處理庫建立包括時間要素的索引;實時索引保存單元,用於將索引好的即時信息存入針對實時搜尋的實時索引庫,以提供時間要素作為重要搜尋排序依據的索引調用。
基於上述技術方案,《即時索引方法及系統》對新獲取的大量即時信息採用定時和定長相結合的方式,細分成多個信息處理單元,對即時信息進行時間要素的標註,並分別對各個信息處理單元中的即時信息建立索引,從而提供即時信息的快速索引和搜尋功能。
附圖說明
圖1為《即時索引方法及系統》即時索引方法的一實施例的流程示意圖。
圖2為《即時索引方法及系統》即時索引方法的另一實施例的流程示意圖。
圖3為《即時索引方法及系統》即時索引系統的一實施例的結構示意圖。
圖4為《即時索引方法及系統》即時索引系統的另一實施例的結構示意圖。
技術領域
《即時索引方法及系統》涉及搜尋引擎套用技術,尤其涉及一種套用於搜尋引擎的即時索引方法及系統。
權利要求
1.一種即時索引方法,包括:
在獲取新的即時信息時,獲取所述即時信息的時間要素;建立所述時間框序列處理流程,並在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫;對所述待索引信息處理庫中的即時信息進行時間要素標註,並分別對每個待索引信息處理庫建立包括時間要素的索引;將索引好的即時信息存入針對實時搜尋的實時索引庫,以提供時間要素作為重要搜尋排序依據的索引調用。
2.根據權利要求1所述的即時索引方法,其中所述時間要素包括:信息採集的頻度、信息產生的時間和信息被用戶搜尋選擇使用的時間及次數。
3.根據權利要求2所述的即時索引方法,其中所述在即時信息的時間框序列處理流程中建立多個待索引信息處理庫的操作具體為:
當所述即時信息的信息量超過預設閾值時,在即時信息的時間框序列處理流程中建立定長模式的多個待索引信息處理庫,所述定長模式為每個時序處理框中支持預設數量的待索引信息處理庫;當所述即時信息的信息量未超過預設閾值,在即時信息的時間框序列處理流程中建立定時模式的多個待索引信息處理庫,所述定時模式為每隔預設時間啟動一個時序處理框。
4.根據權利要求2所述的即時索引方法,其中所述分別對每個待索引信息處理庫建立包括時間要素的索引的操作具體為:採用並行方式分別對每個待索引信息處理庫建立包括時間要素的索引。
5.根據權利要求2所述的即時索引方法,其中在將索引好的即時信息存入針對實時搜尋的實時索引庫之後,還包括:將所述實時索引庫中的索引與索引資料庫中的索引進行合併,統一存放到所述索引資料庫中。
6.一種即時索引系統,包括:
信息獲取單元,用於獲取新的即時信息,同時獲取所述即時信息的時間要素;時間框序列建立單元,用於建立所述時間框序列處理流程,並在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫;信息處理庫建立單元,用於在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫;時間要素標註單元,用於對所述待索引信息處理庫中的即時信息進行時間要素標註;索引建立單元,用於分別對每個待索引信息處理庫建立包括時間要素的索引;實時索引保存單元,用於將索引好的即時信息存入針對實時搜尋的實時索引庫,以提供時間要素作為重要搜尋排序依據的索引調用。
7.根據權利要求6所述的即時索引系統,其中所述時間要素包括:信息採集的頻度、信息產生的時間和信息被用戶搜尋選擇使用的時間及次數。
8.根據權利要求7所述的即時索引系統,其中所述時間框序列建立單元具體包括:
定長模式建立模組,用於在所述即時信息的信息量超過預設閾值時,在即時信息的時間框序列處理流程中建立定長模式的多個待索引信息處理庫,所述定長模式為每個時序處理框中支持預設數量的待索引信息處理庫;定時模式建立模組,用於當所述即時信息的信息量未超過預設閾值,在即時信息的時間框序列處理流程中建立定時模式的多個待索引信息處理庫,所述定時模式為每隔預設時間啟動一個時序處理框。
9.根據權利要求7所述的即時索引系統,其中還包括:
索引合併單元,用於在將索引好的即時信息存入針對實時搜尋的實時索引庫之後,將所述實時索引庫中的索引與索引資料庫中的索引進行合併,統一存放到所述索引資料庫中。
實施方式
傳統的搜尋引擎的索引更新頻率是衡量搜尋引擎服務能力的重要指標。“更新”有多種解釋:如加入新數據的索引,或是對同一個伺服器的再次檢查及索引等。不同的搜尋引擎的更新頻率從每天幾次次到一周一次、再到一年一次而不同。由於Internet上的信息資源變化性非常大,所以一個更新頻率高的引擎,能提供準確及時的信息服務,接近實時的反映網上資源的動態變化,在查詢結果中的無效連結將大大減少,在未來的信息服務中也將越來越重要,及時獲得有用信息將會是未來信息服務的核心之一。
更新的及時性能反映搜尋引擎的服務性能。其中,如何對新的信息資源建立索引,並且如何能同時處理大量的信息,使新出現的信息能夠最快速的被用戶搜尋到。這其中涉及到幾個技術,一個是新建立的索引如何能夠加入到正在服務的系統中被用調用,而同時不影響正在服務信息的功能和性能。第二,在數據更新量小的情況下,有些技術方案很容易實現。但當出現大量的信息,如何處理大量的信息,隨時加入到搜尋服務中,將是對技術開發的核心考驗。第三,如何判別新加入的信息,是否與已有的索引信息相互重複,即排重技術,是信息服務客戶體驗的重要保證。使得最終呈現在用戶面前的是及時的,可以以時間維度劃分的,信息重複率很低的可供用戶使用的信息。
因此《即時索引方法及系統》從索引的更新角度,和時間要素標準角度,時間要素在搜尋中的使用角度來建立搜尋引擎服務。
如圖1所示,為《即時索引方法及系統》即時索引方法的一實施例的流程示意圖。在該實施例中,即時索引方法的流程包括以下步驟:
步驟101、在獲取新的即時信息時,獲取所述即時信息的時間要素;
步驟102、建立所述時間框序列處理流程,並在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫;
步驟103、對所述待索引信息處理庫中的即時信息進行時間要素標註,並分別對每個待索引信息處理庫建立包括時間要素的索引;
步驟104、將索引好的即時信息存入針對實時搜尋的實時索引庫,以提供時間要素作為搜尋排序依據的索引調用。
在該實施例中,在獲取的即時信息的同時,也對即時信息的時間要素進行了獲取,這裡的即時信息可以為通過信息爬取系統(如網路蜘蛛)抓取的發生劇烈變化的大量的信息資源,也可以是一些即時類服務(例如twitter等)所產生的即時信息。通過對時間要素的獲取快速建立索引,使即時訊息能夠被搜尋到,同時也通過時間要素的標註,使得信息在搜尋過程中,增加時間要素對結果排序的影響。
這裡所提到的時間要素可以包括信息採集的頻度、信息產生的時間和信息被用戶搜尋選擇使用的時間及次數等,但不限於這裡描述的幾種。這幾種時間要素均是在獲取即時信息的同時獲取的,但其中信息被用戶搜尋選擇使用的時間會隨著信息的使用量(例如被用戶搜尋點擊)的增加而變化。
下面分別對幾種時間要素的作用進行說明:
1、信息採集的頻度
信息採集頻度通常是由信息爬取系統(如網路蜘蛛等)控制的,但主要由整體的搜尋策略決定。在初始階段,通常是根據信息資源的更新時間、或是對某種信息資源的偏好決定的;當知道信息資源的更新時間時,爬取系統可以相應的設定信息爬取時間。當不知道信息資源的更新時間,則是根據信息資源的重要性分類,由系統設定,例如對重要的信息資源可以採取每小時爬取更新一次,不重要的信息資源半個月爬取更新一次。
在《即時索引方法及系統》的即時索引方法實施例中,可以採用索引建立完成時間控制爬取時間,即當索引系統處於空閒狀態時,向信息爬取系統發出指令,爬取系統根據預先設定,按照信息的重要級別更新爬取信息。這樣方式可以保證系統一直處於合理的進程之中,保證被抓取的信息都能被及時的索引、被搜尋到,同時不會由於索引模組處理能力的問題,造成大量需要被索引的信息堆積,也不會造成不合理的抓取策略,抓取大量重複的信息,而這些重複信息不能被索引處理和搜尋到。
信息採集頻度的另一個作用是,給搜尋結果排序提供必要的參數輸入,信息源的重要程度是表現在信息採集頻度上,而這個採集頻度在做索引的時候,會加入到索引相關的參數裡,在進行搜尋結果排序時,考慮到採集頻度所代表的信息源重要程度上,因此採集頻度越高的信息資源不但表現在引擎會頻繁的更新信息資源上,還表現在搜尋結果的計算和排序上。這說明如果搜尋結果計算上要用到信息採集頻度所代表的信息資源重要性參數,就必須在索引中加入相關參數,並進行索引。
2、信息產生的時間
在《即時索引方法及系統》的即時索引方法實施例中,信息產生的時間將被套用到信息相關度計算中,主要是在排序過程中的計算。與信息更新頻度類似,信息產生的時間只是在計算權重上有所不同,也是首先需要被索引到索引檔案中,然後被搜尋模組所調用進行計算。
3、信息被用戶搜尋選擇使用的時間及次數
信息被用戶選擇使用,在《即時索引方法及系統》中可理解為通常意義的用戶點擊操作,代表一個關鍵字按照一定搜尋算法所計算的搜尋結果中,不同信息條目被用戶選擇使用的差異性,通過大規模的用戶使用,可以分辨出這些信息對於這個關鍵字的相關程度。根據用戶點擊的不同,反作用於信息的排序。產生的效果是,當用戶輸入一個關鍵字,搜尋結果排序將會隨著時間的不同而存在細微的差異。那些經常被用戶點擊選擇的信息隨著用戶的使用,排名可能會逐漸靠前。
這裡所說的這三個時間要素,作用基本是在搜尋排序中被使用,在索引時需要被建立到索引中。
在獲得了大量的即時信息後,需要對這些數量龐大的即時訊息進行處理,使這些信息能夠被索引到,進而被快速搜尋到。
在時間框序列處理流程中,需要建立若干個信息處理庫。目的是應對大量信息的及時索引和搜尋。如果同時由幾千萬或是上億的信息需要索引和搜尋時,是不可能在一個信息庫完成的,需要採用定長處理,把傳統的串列處理轉化成多個、小的、可控的並行處理過程。
這種方式首先可以通過處理流程和處理流程內信息處理庫的擴展,來實現大量的信息的處理,進一步的可根據需要處理的信息量自動擴展處理流程的個數,實現大量的信息的同時並行處理。
在建立待索引信息處理庫時,可以選擇定長與定時相結合的維度來建立信息處理庫。其中,當即時信息的信息量超過預設閾值時,在即時信息的時間框序列處理流程中建立定長模式的多個待索引信息處理庫,定長模式為每個時序處理框中支持預設數量的待索引信息處理庫。舉例來說,如果每個時間框序列處理流程最大支持100個信息處理庫,而每個信息處理庫最大支持1萬條信息處理時,如果出現了1千萬的信息需要處理,則要為該即時信息分配10個時間框序列處理流程來處理。
當即時信息的信息量未超過預設閾值,在即時信息的時間框序列處理流程中建立定時模式的多個待索引信息處理庫,定時模式為每隔預設時間啟動一個時序處理框。舉例來說,如果每小時只有10萬條信息需要處理,則可以每個小時啟動一個時間框序列處理流程來處理信息。啟動時序處理框的具體需求可以根據系統服務的具體目標設定,如服務的信息即時性非常強,那么也可以每5分鐘或是每一分鐘地啟動時序處理框,來完成所需任務。
通過以上兩種模式,可以對某一時刻的不同數量級別的信息處理進行模式選擇。當某一時刻有大量信息需要處理時,可以以定長模式為主建立多個時間框序列處理流程,而每個時間框序列處理流程其中包含多個獨立的信息處理庫,分別對這些處理信息庫進行時間要素的標註和索引建立操作。而當產生的信息不多時,則以定時為主,建立時間框序列處理流程,在時間框序列處理流程中包含若干個獨立的信息處理庫。
這種定長和定時模式的選擇可以很好的適應網路中信息的不均勻性,如果只採用某一種模式,例如只依靠定時處理,如每5分鐘截取這期間產生的信息,則會由於信息分布的不均勻,造成不同5分鐘內需要處理的信息量不同,造成需要被處理的信息排隊。可能後5分鐘較少的信息處理完成,而前一個5分鐘較多的信息還沒處理完。
前文提到的信息處理庫即待索引信息處理庫,在進行時間要素標註後,每個待索引信息處理庫分別獨立地進行索引的建立,而建立的索引中包括了時間要素。這些索引好的即時信息被存入針對實時搜尋的實時索引庫,此時並不與索引資料庫中的索引合併,而是直接為用戶提供快速索引和搜尋功能。這裡的索引包括多級索引,首先是對每個時間框序列處理流程中各個待索引信息處理庫的即時信息進行索引,之後對時間框序列處理流程所管理的每個待索引信息處理庫建立索引,就是所說的二級索引。可選的,在信息量較大,且沒有進行索引合併的情況下,搜尋引擎系統的總控制單元還可以對各個時間框序列處理流程建立索引,即三級索引。
如圖2所示,為《即時索引方法及系統》即時索引方法的另一實施例的流程示意圖。與上一實施例相比,該實施例在步驟104之後,還包括:
步驟105、將實時索引庫中的索引與索引資料庫中的索引進行合併,統一存放到所述索引資料庫中。
在時間框序列處理流程完成之後,可以在每日的固定時刻,或者在系統訪問較低、負擔較小的時候,將實時索引庫中的索引與索引資料庫中的搜尋用的正常索引合併,同時移除實時索引庫中的索引,釋放實時索引庫的資源空間,以存放新的即時信息的索引。
用戶在信息搜尋過程中,為了避免新信息與舊信息之間的重複,還包括排重的步驟,即可針對網際網路信息資源,考察信息的連結地址,如地址一致則進行排重處理,展現時間要素權重最大的信息,也可以針對資料庫內部的信息,如企業內部信息,則採用三重計算規則進行排重,參數為名稱、地址、電話。名稱、地址、電話相同的完全排重,只展現時間要素權重最大的信息。如果名稱相同,地址、電話有任意一個不同的,則做展現排重,即只展現時間要素權重最大的,其餘的隱藏在展現信息之下。在實現上,還可以考慮名稱權重,如果名稱權重最大的,則展現名稱權重大的信息。在實際套用中,可以根據具體需求,選擇不同的排重要素來建立排重規則。
該領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程式指令相關的硬體來完成,前述的程式可以存儲於一計算機可讀取存儲介質中,該程式在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程式代碼的介質。
如圖3所示,為《即時索引方法及系統》即時索引系統的一實施例的結構示意圖。在該實施例中,即時索引系統包括:信息獲取單元1、時間框序列建立單元2、信息處理庫建立單元3、時間要素標註單元4、索引建立單元5和實時索引保存單元6。
信息獲取單元1負責獲取新的即時信息,同時獲取所述即時信息的時間要素。時間框序列建立單元2負責建立所述時間框序列處理流程,並在所述即時信息的時間框序列處理流程中建立多個待索引信息處理庫。信息處理庫建立單元3負責在所述即時信息的時間框序列處理流程中具體建立多個待索引信息處理庫4。時間要素標註單元5負責對所述待索引信息處理庫中4的即時信息進行時間要素標註。索引建立單元6負責分別對每個待索引信息處理庫4建立包括時間要素的索引。實時索引保存單元7負責將索引好的即時信息存入針對實時搜尋的實時索引庫8,以提供時間要素作為搜尋排序依據的索引調用。
搜尋單元9可以直接訪問實時索引庫8來獲取快速索引的實時信息。在信息獲取單元1獲取的即時信息的時間要素可以包括:信息採集的頻度、信息產生的時間和信息被用戶搜尋選擇使用的時間及次數等。
在另一實施例中,時間框序列建立單元可具體包括:
定長模式建立模組,用於在所述即時信息的信息量超過預設閾值時,在即時信息的時間框序列處理流程中建立定長模式的多個待索引信息處理庫,所述定長模式為每個時序處理框中支持預設數量的待索引信息處理庫;
定時模式建立模組,用於當所述即時信息的信息量未超過預設閾值,在即時信息的時間框序列處理流程中建立定時模式的多個待索引信息處理庫,所述定時模式為每隔預設時間啟動一個時序處理框。
如圖4所示,為《即時索引方法及系統》即時索引系統的另一實施例的結構示意圖。與上一實施例相比,該實施例還包括索引合併單元10,該單元在實時索引保存單元7將索引好的即時信息存入針對實時搜尋的實時索引庫8之後,將實時索引庫8中的索引與索引資料庫11中的索引進行合併,統一存放到索引資料庫11中。
通過上述的多個實施例的描述,可以看出該發明的即時索引方法可以對建立的多個待索引信息處理庫進行獨立快速索引,並將索引好的信息提供給搜尋模組進行即時調用。而在時間框序列處理流程結束的時候,這些索引被合併到正常的索引中供基礎搜尋調用。系統支持把時間要素進行信息重要性標註,支持大量信息的即時索引和搜尋。
榮譽表彰
2020年7月14日,《即時索引方法及系統》獲得第二十一屆中國專利獎優秀獎。