建立結(jié)構(gòu)化文檔的索引以及檢索的制作方法
【專利摘要】方便結(jié)構(gòu)化文檔的搜索,包括:識別與包括在多個結(jié)構(gòu)化文檔中的多個元素對應的多個元素路徑,對于每一個元素路徑,以不包括與元素路徑對應的元素的值并且不包括包含與元素路徑對應的元素的結(jié)構(gòu)化文檔的標識符的方式提供該元素路徑以包含在第一可搜索數(shù)據(jù)結(jié)構(gòu)中,以及以與同元素路徑對應的元素的值聯(lián)合并與包括與元素路徑對應的元素的結(jié)構(gòu)化文檔的標識符聯(lián)合的方式提供該元素路徑以包含在第二可搜索數(shù)據(jù)結(jié)構(gòu)中。
【專利說明】建立結(jié)構(gòu)化文檔的索引W及檢索
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明一般涉及對計算機可讀文檔建立索引和檢索,更具體地,涉及對結(jié)構(gòu)化文 檔建立索引和檢索。
【背景技術(shù)】
[0002] 結(jié)構(gòu)化文檔一般用于將信息存儲在基于計算機的存儲介質(zhì)中,其中,該種文檔使 用嵌入式編碼,諸如像超文本標記語言(HTML)或者可擴展標記語言狂ML)的標記語言,W 根據(jù)模式對文檔內(nèi)容賦予各種結(jié)構(gòu)含義。結(jié)構(gòu)化文檔通常由基于計算機的搜索引擎W與不 采用該種嵌入式編碼的非結(jié)構(gòu)化文檔相同的方式建立索引。通常使用傳統(tǒng)的識別包含特定 值的結(jié)構(gòu)化文檔的技術(shù)來使用該種搜索引擎,因此,對所識別的結(jié)構(gòu)化文檔進行解析W確 定所識別的結(jié)構(gòu)化文檔中的哪一個包括特定結(jié)構(gòu)上下文中的值。然而,該個方法通常緩慢 而低效。
【發(fā)明內(nèi)容】
[0003] 在本發(fā)明的一個方面,提供了一種用于方便結(jié)構(gòu)化文檔的搜索的方法,該方法包 括:識別與包括在多個結(jié)構(gòu)化文檔中的多個元素對應的多個元素路徑,對于每一個元素路 徑,W不包括與元素路徑對應的元素的值并且不包括包含與元素路徑對應的元素的結(jié)構(gòu)化 文檔的標識符的方式提供該元素路徑W包含在第一可搜索數(shù)據(jù)結(jié)構(gòu)中,W及W與同元素路 徑對應的元素的值聯(lián)合并與包括與元素路徑對應的元素的結(jié)構(gòu)化文檔的標識符聯(lián)合的方 式提供該元素路徑W包含在第二可搜索數(shù)據(jù)結(jié)構(gòu)中。
[0004] 在本發(fā)明的其它方面,提供了包含本發(fā)明的系統(tǒng)和計算機程序產(chǎn)品。
【專利附圖】
【附圖說明】
[0005] 通過W下詳細描述并結(jié)合附圖,本發(fā)明將被更充分地理解和領(lǐng)會,其中:
[0006] 圖1是根據(jù)本發(fā)明的實施例構(gòu)建和操作的用于方便結(jié)構(gòu)化文檔的搜索的系統(tǒng)的 簡化概念性圖示;
[0007] 圖2A到2F是說明根據(jù)本發(fā)明的實施例操作的圖1的系統(tǒng)的各方面的示例性結(jié)構(gòu) 化文檔和模式;
[0008] 圖2G是說明根據(jù)本發(fā)明的實施例操作的圖1的系統(tǒng)的各方面的示例性搜索查詢 和結(jié)果的表格;
[0009] 圖3是根據(jù)本發(fā)明的實施例操作的圖1的系統(tǒng)的操作的示例性方法的簡化流程圖 圖示;
[0010] 圖4是根據(jù)本發(fā)明的實施例構(gòu)建和操作的計算系統(tǒng)的示例性硬件實現(xiàn)的簡化框 圖圖示。
【具體實施方式】
[0011] 現(xiàn)在,在一個或多個實施例的上下文中描述本發(fā)明,雖然該描述意在將本發(fā)明視 為一個整體來進行說明,而不能被解釋為將本發(fā)明限定在所示的實施例。應當理解,本領(lǐng)域 技術(shù)人員可W進行各種修改,雖然在此沒有明確示出,但該些修改仍然在本發(fā)明的真正精 神和范圍內(nèi)。
[0012] 所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可W實現(xiàn)為系統(tǒng)、方法或計算 機程序產(chǎn)品。因此,本發(fā)明的各個方面可W具體實現(xiàn)為W下形式,即;完全的硬件實施方式、 完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方 式,該里可W統(tǒng)稱為"電路"、"模塊"或"系統(tǒng)"。此外,在一些實施例中,本發(fā)明的各個方面 還可W實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介 質(zhì)中包含計算機可讀的程序代碼。
[0013] 可W采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可W是計算 機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可W是一但不限 于一電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意W上的組合。計算 機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括;具有一個或多個導線的電連接、便 攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器 (EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者 上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可W是任何包含或存儲程序的 有形介質(zhì),該程序可W被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0014] 計算機可讀的信號介質(zhì)可W包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號, 其中承載了計算機可讀的程序代碼。該種傳播的數(shù)據(jù)信號可W采用多種形式,包括一但 不限于一電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可W是 計算機可讀存儲介質(zhì)W外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可W發(fā)送、傳播或者 傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0015] 計算機可讀介質(zhì)上包含的程序代碼可W用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限 于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0016] 可W W-種或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算 機程序代碼,所述程序設計語言包括面向?qū)ο蟮某绦蛟O計語言一諸如化va、Smallta化、C++ 等,還包括常規(guī)的過程式程序設計語言一諸如"C"語言或類似的程序設計語言。程序代碼可 W完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、 部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。 在涉及遠程計算機的情形中,遠程計算機可W通過任意種類的網(wǎng)絡一包括局域網(wǎng)(LAN) 或廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可W連接到外部計算機(例如利用因特網(wǎng)服務 提供商來通過因特網(wǎng)連接)。
[0017] 下面將參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖 和/或框圖描述本發(fā)明。應當理解,流程圖和/或框圖的每個方框W及流程圖和/或框圖 中各方框的組合,都可W由計算機程序指令實現(xiàn)。該些計算機程序指令可W提供給通用計 算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得該些計 算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程 圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0018] 也可W把該些計算機程序指令存儲在計算機可讀介質(zhì)中,該些指令使得計算機、 其它可編程數(shù)據(jù)處理裝置、或其他設備W特定方式工作,從而,存儲在計算機可讀介質(zhì)中的 指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令 的制造品(article of manufacture)。
[0019] 也可W把該些計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它 設備中,W使一系列操作步驟在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設備中執(zhí)行,W 產(chǎn)生計算機實現(xiàn)的過程,W使得在計算機或其它可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖 和/或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。
[0020] 現(xiàn)在參考圖1,其是根據(jù)本發(fā)明的實施例構(gòu)建和操作的用于方便結(jié)構(gòu)化文檔的搜 索的系統(tǒng)的簡化概念性圖示。在圖1的系統(tǒng)中,文檔處理器100被配置為識別一個或多個 結(jié)構(gòu)化文檔102中的一個或多個元素路徑,諸如可擴展標記語言狂ML)文檔。結(jié)構(gòu)化文檔 中的每個元素路徑通常對應于結(jié)構(gòu)化文檔內(nèi)的元素。例如,在包括W下電話薄條目的XML 描述的結(jié)構(gòu)化文檔中,
[0021]
【權(quán)利要求】
1. 一種用于方便結(jié)構(gòu)化文檔的搜索的方法,包括: 識別與包括在多個結(jié)構(gòu)化文檔中的多個元素對應的多個元素路徑;以及 對于每一個所述元素路徑: 以不包括與所述元素路徑對應的元素的值并且不包括包含與所述元素路徑對應的元 素的結(jié)構(gòu)化文檔的標識符的方式提供所述元素路徑以包含在第一可搜索數(shù)據(jù)結(jié)構(gòu)中;以及 以與同所述元素路徑對應的元素的值聯(lián)合并與包括與所述元素路徑對應的元素的結(jié) 構(gòu)化文檔的標識符聯(lián)合的方式提供所述元素路徑以包含在第二可搜索數(shù)據(jù)結(jié)構(gòu)中。
2. 根據(jù)權(quán)利要求1所述的方法,還包括:在任何所述元素路徑內(nèi)指示在任何所述結(jié)構(gòu) 化文檔內(nèi)出現(xiàn)多于一次的元素路徑的任何部分的出現(xiàn)順序。
3. 根據(jù)權(quán)利要求1所述的方法,還包括:通過生成描述每個所述結(jié)構(gòu)化文檔的統(tǒng)一模 式,創(chuàng)建所述第一可搜索數(shù)據(jù)結(jié)構(gòu)。
4. 根據(jù)權(quán)利要求3所述的方法,其中,所述生成包括:在所述統(tǒng)一模式中僅僅表示在多 于一個的所述結(jié)構(gòu)化文檔中出現(xiàn)的任何所述元素路徑一次。
5. 根據(jù)權(quán)利要求3所述的方法,其中,所述生成包括:與最小出現(xiàn)指示符和最大出現(xiàn)指 示符一起在所述統(tǒng)一模式中表示任何所述元素路徑,其中,所述最小出現(xiàn)指示符指示所述 元素路徑在任何所述結(jié)構(gòu)化文檔中的最少出現(xiàn)次數(shù),所述最大出現(xiàn)指示符指示所述元素路 徑在任何所述結(jié)構(gòu)化文檔中的最多出現(xiàn)次數(shù)。
6. 根據(jù)權(quán)利要求1所述的方法,還包括:在所述第一可搜索數(shù)據(jù)結(jié)構(gòu)中搜索查詢元素 路徑,從而產(chǎn)生元素路徑結(jié)果。
7. 根據(jù)權(quán)利要求6所述的方法,還包括:在所述元素路徑結(jié)果內(nèi)指示在任何所述結(jié)構(gòu) 化文檔中出現(xiàn)多于一次的查詢元素路徑的任何部分的出現(xiàn)順序。
8. 根據(jù)權(quán)利要求6所述的方法,還包括:文檔搜索引擎被配置為在所述第二可搜索數(shù) 據(jù)結(jié)構(gòu)中搜索所述元素路徑結(jié)果,從而識別與所述元素路徑相關(guān)聯(lián)的任何所述結(jié)構(gòu)化文 檔。
9. 根據(jù)權(quán)利要求6所述的方法,還包括:文檔搜索引擎被配置為在所述第二可搜索數(shù) 據(jù)結(jié)構(gòu)中與查詢元素值聯(lián)合地搜索所述元素路徑結(jié)果,從而識別與所述元素路徑結(jié)果和查 詢元素值相關(guān)聯(lián)的任何所述結(jié)構(gòu)化文檔。
10. -種用于方便結(jié)構(gòu)化文檔的搜索的系統(tǒng),包括: 文檔處理器,其被配置為識別與包括在多個結(jié)構(gòu)化文檔中的多個元素對應的多個元素 路徑; 元素路徑搜索預處理器,其被配置為提供每一個所述元素路徑以包含在第一可搜索數(shù) 據(jù)結(jié)構(gòu)中,其中,對于每一個所述元素路徑,所述元素路徑搜索預處理器被配置為以不包括 與所述元素路徑對應的元素的值并且不包括包含與所述元素路徑對應的元素的結(jié)構(gòu)化文 檔的標識符的方式提供所述元素路徑;以及 文檔搜索預處理器,其被配置為提供每一個所述元素路徑以包含在第二可搜索數(shù)據(jù)結(jié) 構(gòu)中,其中,對于每一個所述元素路徑,所述文檔搜索預處理器被配置為以與同所述元素路 徑對應的元素的值聯(lián)合并與包括與所述元素路徑對應的元素的結(jié)構(gòu)化文檔的標識符聯(lián)合 的方式提供所述元素路徑。
11. 根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述元素路徑搜索預處理器被配置為通過生 成描述每一個所述結(jié)構(gòu)化文檔的統(tǒng)一模式,創(chuàng)建所述第一可搜索數(shù)據(jù)結(jié)構(gòu)。
12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述元素路徑搜索預處理器被配置為在所述 統(tǒng)一模式中僅僅表示在多于一個的所述結(jié)構(gòu)化文檔中出現(xiàn)的任何所述元素路徑一次。
13. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述元素路徑搜索預處理器被配置為與最小 出現(xiàn)指示符和最大出現(xiàn)指示符一起在所述統(tǒng)一模式中表示任何所述元素路徑,其中所述最 小出現(xiàn)指示符指示所述元素路徑在任何所述結(jié)構(gòu)化文檔中的最少出現(xiàn)次數(shù),最大出現(xiàn)指示 符指示所述元素路徑在任何所述結(jié)構(gòu)化文檔中的最多出現(xiàn)次數(shù)。
14. 根據(jù)權(quán)利要求10所述的系統(tǒng),還包括:元素路徑搜索引擎,其被配置為在所述第一 可搜索數(shù)據(jù)結(jié)構(gòu)中搜索查詢元素路徑,從而產(chǎn)生元素路徑結(jié)果。
15. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中,所述元素路徑搜索引擎被配置為在所述元素 路徑結(jié)果內(nèi)指示在任何所述結(jié)構(gòu)化文檔內(nèi)出現(xiàn)多于一次的查詢元素路徑的任何部分的出 現(xiàn)順序。
16. 根據(jù)權(quán)利要求14所述的系統(tǒng),還包括:文檔搜索引擎,其被配置為在所述第二可搜 索數(shù)據(jù)結(jié)構(gòu)中搜索所述元素路徑結(jié)果,從而識別與所述元素路徑相關(guān)聯(lián)的任何所述結(jié)構(gòu)化 文檔。
17. 根據(jù)權(quán)利要求14所述的系統(tǒng),還包括:文檔搜索引擎,其被配置為在所述第二可搜 索數(shù)據(jù)結(jié)構(gòu)中與查詢元素值聯(lián)合地搜索所述元素路徑結(jié)果,從而識別與所述元素路徑結(jié)果 和查詢元素值相關(guān)聯(lián)的任何所述結(jié)構(gòu)化文檔。
18. -種用于方便結(jié)構(gòu)化文檔的搜索的計算機程序產(chǎn)品,包括: 計算機可讀存儲介質(zhì);以及 包含在所述計算機可讀存儲介質(zhì)中的計算機可讀程序代碼,其中,所述計算機可讀程 序代碼被配置為: 識別與包括在多個結(jié)構(gòu)化文檔中的多個元素對應的多個元素路徑;以及 對于每一個所述元素路徑: 以不包括與所述元素路徑對應的元素的值并且不包括包含與所述元素路徑對應的元 素的結(jié)構(gòu)化文檔的標識符的方式提供所述元素路徑以包含在第一可搜索數(shù)據(jù)結(jié)構(gòu)中;以及 以與同所述元素路徑對應的元素的值聯(lián)合并與包括與所述元素路徑對應的元素的結(jié) 構(gòu)化文檔的標識符聯(lián)合的方式提供所述元素路徑以包含在第二可搜索數(shù)據(jù)結(jié)構(gòu)中。
19. 根據(jù)權(quán)利要求18所述的計算機程序產(chǎn)品,其中,所述計算機可讀程序代碼被配置 為在任何所述元素路徑內(nèi)指示在任何所述結(jié)構(gòu)化文檔內(nèi)出現(xiàn)多于一次的元素路徑的任何 部分的出現(xiàn)順序。
20. 根據(jù)權(quán)利要求18所述的計算機程序產(chǎn)品,其中,所述計算機可讀程序代碼被配置 為通過生成描述每一個所述結(jié)構(gòu)化文檔的統(tǒng)一模式,創(chuàng)建所述第一可搜索數(shù)據(jù)結(jié)構(gòu)。
21. 根據(jù)權(quán)利要求20所述的計算機程序產(chǎn)品,其中,所述計算機可讀程序代碼被配置 為在所述統(tǒng)一模式中僅僅表示在多于一個的所述結(jié)構(gòu)化文檔中出現(xiàn)的任何所述元素路徑 一次,并且所述計算機可讀程序代碼被配置為與最小出現(xiàn)指示符和最大出現(xiàn)指示符一起在 所述統(tǒng)一模式中表示任何所述元素路徑,其中,所述最小出現(xiàn)指示符指示所述元素路徑在 任何所述結(jié)構(gòu)化文檔中的最少出現(xiàn)次數(shù),所述最大出現(xiàn)指示符指示所述元素路徑在任何所 述結(jié)構(gòu)化文檔中的最多出現(xiàn)次數(shù)。
22. 根據(jù)權(quán)利要求18所述的計算機程序產(chǎn)品,其中,所述計算機可讀程序代碼被配置 為在所述第一可搜索數(shù)據(jù)結(jié)構(gòu)搜索查詢元素路徑,從而產(chǎn)生元素路徑結(jié)果。
23. 根據(jù)權(quán)利要求22所述的計算機程序產(chǎn)品,其中,所述計算機可讀程序代碼被配置 為在所述元素路徑結(jié)果內(nèi)指示在任何所述結(jié)構(gòu)化文檔中出現(xiàn)多于一次的查詢元素路徑的 任何部分的出現(xiàn)順序。
24. 根據(jù)權(quán)利要求22所述的計算機程序產(chǎn)品,其中,所述計算機可讀程序代碼被配置 為在所述第二可搜索數(shù)據(jù)結(jié)構(gòu)中搜索所述元素路徑結(jié)果,從而識別與所述元素路徑相關(guān)聯(lián) 的任何所述結(jié)構(gòu)化文檔。
25. 根據(jù)權(quán)利要求22所述的計算機程序產(chǎn)品,還包括:文檔搜索引擎,其被配置為在所 述第二可搜索數(shù)據(jù)結(jié)構(gòu)中與查詢元素值聯(lián)合地搜索所述元素路徑結(jié)果,從而識別與所述元 素路徑結(jié)果和查詢元素值相關(guān)聯(lián)的任何所述結(jié)構(gòu)化文檔。
【文檔編號】G06F17/30GK104321769SQ201380027560
【公開日】2015年1月28日 申請日期:2013年5月16日 優(yōu)先權(quán)日:2012年6月11日
【發(fā)明者】O·帕伊科夫斯基, Y·塔扎班, S·斯塔克 申請人:國際商業(yè)機器公司