新四季網

索引生成程序以及檢索程序的製作方法

2023-04-26 19:52:11

索引生成程序以及檢索程序的製作方法
【專利摘要】本發明的目的在於在一個方面抑制針對文檔數據對的字符串檢索的對象鎖定中的鎖定噪聲。根據一方式,計算機根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,進行如下的切換:即,是按照上述子要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制,或者還是按照每個上述文檔要素或者比上述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制,通過與上述切換對應的上述控制,將上述文檔文件分割為上述多個塊,按照分割而得到的每個數據,生成表示各數據是否包括規定的字符信息的索引信息。
【專利說明】索引生成程序以及檢索程序

【技術領域】
[0001 ] 本發明涉及文檔數據的檢索技術。

【背景技術】
[0002]小說、學術書、辭典等多個類型的書籍以電子保存信息而成的電子書籍的形態被銷售。在進行針對多個文檔數據的檢索的情況下,存在使用索引信息的技術,該索引信息按照每個字符信息的種類表示字符信息包含於多個文檔數據中的哪個的對應關係。例如,一方面利用預先生成的索引信息,將表示包括檢索字符串中的某個字符信息C的文檔數據作為基於檢索字符串的字符串檢索的檢索對象,另一方面進行從字符串檢索的對象刪除其它文檔數據的控制。這是因為在索引信息中示出其它文檔數據中不包括前述的字符信息C,所以即使不進行檢索字符串的字符串檢索,也清楚在其它文檔數據中不包括檢索字符串。
[0003]另外,已知一種將索引信息作為按文檔要素單位分配了表示字符信息存在於文件中的哪個文檔要素(章、節、項等單位)的位而成的位序列的技術(例如專利文獻1)。
[0004]專利文獻1:日本特開平8 - 314966號公報
[0005]例如用HTML (Hyper Text Markup Language:超文本標記語言)等標記語言描述小說、學術書、辭典等電子書籍。用HTML描述的文檔數據被文檔數據內的標籤信息等劃分為構成文檔的文檔要素。例如對於某個標籤,從開始標籤到結束標籤的數據是一個文檔要素。對於某個文檔要素,該文檔要素內所包含的從其它開始標籤到結束標籤的數據成為前述的某個文檔要素的子要素。這樣,根據由開始標籤和結束標籤構成的組所示的範圍的包含關係來表示文檔要素間的層級關係。
[0006]即使按照文件內所包含的某個層級的每個文檔要素對文檔數據的文件進行塊分害IJ,分割所獲得的各塊彼此數據尺寸未必相同。若在各塊中數據尺寸不同,則各個塊所包含的字符信息的種類的數量也有不同的趨勢。例如,在分章節的學術書中,只某章較長的情況下,有時只與該章對應的塊的字符信息的種類變多。在這種情況下,索引信息中示出特定的塊顯著多的種類的字符信息的存在。
[0007]另外,存在使用被壓縮的索引信息的技術,但通過索引信息的壓縮,對於表示多個種類的字符信息的存在的塊,在使用了索引信息的字符串檢索的對象的鎖定中容易產生噪聲。所謂被壓縮的索引信息是對多個字符信息重疊表示字符信息包含於多個文檔數據中的哪個的對應關係的信息而成的索引信息。即,在被壓縮的索引信息中,將表示是否包括多個字符信息中的任意一個的信息與各塊建立對應。於是,由於針對多個字符信息的是否存在信息被重疊,所以抑制索引信息本身的數據尺寸。另一方面,由於在文件鎖定中也從索引信息中提取出在索引信息被重疊的其它字符信息的存在,所以產生鎖定噪聲。存在若提高壓縮率(增多重疊的字符信息的數量),則噪聲的產生概率變高(容易產生鎖定噪聲)這種關係。然而,由於對於塊彼此,塊內所包含的字符信息的種類的數量不同,所以即使在各塊中壓縮率共同,噪聲的產生概率也根據塊而各種各樣。於是,字符信息的種類較多的塊容易產生鎖定噪聲。
[0008]如前述那樣,即使在特定的層級的文檔要素的分界線將文件內的數據分割成塊,也起因於各個文檔要素的數據尺寸不同,而使各個塊中的鎖定噪聲的產生容易度不同。
[0009]然而,若單純地以使塊的數據尺寸一樣的方式分割文檔數據的文件,則有時在文檔要素的分界線以外,或下位的文檔要素(部、章、節、條和分章節的文檔的條等)的分界線被分割。
[0010]例如,將相當於第1章的文件分割為包括第1節和第2節的一部分的第1塊、和包括第2節的一部分和第3節的第2塊。例如,在學術書中,包含於相同的節的項彼此大多包括相關的內容。因此,第2節內的各項中特徵性用語所包含的字符信息有時存在於第1塊和第2塊雙方。在這種情況下,若在節單位中的分界線進行塊分割(例如在第1節、第2節以及第3節中,分別為第1 ±夾、第2塊以及第3塊),則第2節中特徵性用語所包含的字符信息可能僅存在於第2塊(該特徵性用語不存在於第1節以及第3節雙方的情況下)。
[0011]在學術書等具有層級結構的文檔中,往往存在章內的各節共同使用的用語、節內的各項共同使用的用語、項內的各條共同使用的用語等。
[0012]另一方面,在辭典中,由於各項目中內容獨立,所以相同的節所包含的項彼此很少包含相關的內容。因此,有時雖然在第2節的某個項中是特徵性用語,但在第2節內的其它項中未被使用。於是,即使分割成包括第1節和第2節的一部分的第1塊、和包括第2節的一部分和第3節的第2塊,在前述的第2節的某項中特徵性用語所包含的字符信息有時只包含在第1塊或者第2塊中的任意一個。
[0013]可預料如上述,通過像學術書那樣使包含於相同的上位要素、且內容相關的子要素彼此包含於相同的塊,從而抑制字符串檢索對象的鎖定噪聲。另一方面,也存在即使如辭典那樣使相同的上位要素(例如章等)的子要素包含於相同的塊也很難抑制鎖定噪聲的情況。在這種情況下,可預料也有時通過使各塊的數據尺寸平均化來抑制鎖定噪聲。


【發明內容】

[0014]在本公開的一方面,目的在於抑制針對文檔數據的字符串檢索的對象鎖定中的鎖定噪聲。
[0015]根據一方式,生成程序使計算機執行如下的處理:根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,進行如下的切換:即,是按照上述子要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制,或者還是按照每個上述文檔要素或比上述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制的切換,通過與上述切換對應的上述控制,將上述文檔文件分割為上述多個塊,按照分割而得到的每個塊,生成表示各塊是否包括規定的字符信息的索引信息。
[0016]根據一方式,使用使計算機執行如下的處理的生成方法,即,根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,進行如下的切換:即,是按照上述子要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制,或者還是按照每個上述文檔要素或比上述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制的切換,通過與上述切換對應的上述控制,將上述文檔文件分割為上述多個塊,按照分割而得到的每個塊,生成表示各塊是否包括規定的字符信息的索引信息。
[0017]根據一方式,生成裝置的特徵在於,包括:分割部,其根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,進行如下的切換:即,是按照上述子要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制,或者還是按照每個上述文檔要素或比上述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制的切換,並通過與上述切換對應的上述控制,將上述文檔文件分割為上述多個塊;以及生成部,其按照分割而得到的每個塊,生成表示各塊是否包括規定的字符信息的索引信息。
[0018]根據一方式,檢索程序使計算機執行如下的處理:若受理檢索字符串,則基於上述檢索字符串所包含的字符信息來參照將通過分割而得到的各塊與上述各塊是否包括上述字符信息建立對應的索引信息,該分割通過根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,以如下方式切換而進行,即,是按照上述子要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制,或者還是按照每個上述文檔要素或比上述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制的切換,通過上述索引信息的參照,來確定上述索引信息中表示包括上述字符信息這一意思的塊,對確定出的上述塊進行基於上述檢索字符串的字符串檢索。
[0019]根據一方式,使用使計算機執行如下處理的檢索方法,S卩,若受理檢索字符串,則基於上述檢索字符串所包含的字符信息來參照將通過分割而得到的各塊與上述各塊是否包括上述字符信息建立對應的索引信息,該分割通過根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,以如下方式切換而進行,即,是按照上述子要素的層級的每個文檔要素進行多個塊中的哪個包括上述文檔文件內的數據的控制,或者還是按照每個上述文檔要素或比上述文檔要素上位的要素的層級的每個文檔要素進行多個塊中的哪個包括上述文檔文件內的數據的控制的切換,通過上述索引信息的參照,來確定上述索引信息中表示包括上述字符信息這一意思的塊,對確定出的上述塊進行基於上述檢索字符串的字符串檢索。
[0020]根據一方式,檢索裝置包括:受理部,其受理檢索字符串;存儲部,其基於上述受理部受理的上述檢索字符串所包含的字符信息,來存儲將通過分割而得到的各塊與上述各塊是否包括上述字符信息建立對應的索引信息,該分割通過根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,以如下方式切換而進行,即,是按照上述子要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制,或者還是按照每個上述文檔要素或比上述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括上述文檔文件內的數據的控制的切換;鎖定部,其通過存儲在上述存儲部中的上述索引信息的參照,來確定上述索引信息中表示包括上述字符信息這一意思的塊;以及檢索部,其對確定出的上述塊進行基於上述檢索字符串的字符串檢索。
[0021]根據本發明的一個方面,能夠抑制針對文檔數據的字符串檢索的對象鎖定中的鎖定噪聲

【專利附圖】

【附圖說明】
[0022]圖1A以及B是表示索引信息的例子、和基於索引信息而生成的位序列的例子。
[0023]圖2A表示文檔數據的層級結構例子。
[0024]圖2B表示文檔數據的層級結構例子。
[0025]圖3表示計算機1的功能模塊的例子。
[0026]圖4表示生成部13的功能模塊的例子。
[0027]圖5表不塊編號和塊讀出位直的對應關係。
[0028]圖6表示鎖定部15的功能模塊的例子。
[0029]圖7表示計算機1的硬體構成的例子。
[0030]圖8表示在計算機1中進行動作的軟體的構成例子。
[0031]圖9表示索引生成的處理步驟例子。
[0032]圖10A表示文檔結構解析處理的處理步驟例子。
[0033]圖10B表示文檔結構解析處理的處理步驟例子。
[0034]圖11表示文檔結構表的例子。
[0035]圖12A表示文件分割處理的處理步驟例子。
[0036]圖12B表示文件分割處理的處理步驟例子。
[0037]圖13表示全文檢索處理的處理步驟例子。
[0038]圖14表示索引參照處理的處理步驟。
[0039]圖15表示儲存檢索結果的表的例子。

【具體實施方式】
[0040]在說明詳細前,先對使用了索引信息的字符串檢索的對象文件的鎖定進行說明。
[0041]圖1A表示基於檢索對象的文件組F1?Fn的索引信息II。索引信息II的最上段所示的文件編號是分別與檢索對象的文件組F1?Fn對應的編號。在索引信息中字符信息組C1?Cm被分別同與文件組F1?Fn中的是否存在有關的位序列建立對應。
[0042]字符信息組C1?Cm所包含的字符信息Cj例如是1個字符或多個字符的組合的字符串。或者字符信息Cj可以是與字符信息對應的二進位代碼的一部分。字符信息組C1?Cm也可以是假定使用的字符(例如分配有JIS碼的字符)的所有組合。例如假設文件組F1?Fn中的某個文件Fi (文件編號為i)是包括「人生ii夕口一文' 7 〃 見札of悲劇口 >
3 y卜見Λ 喜劇(人生以放大鏡來看是悲劇,以望遠鏡來看是喜劇)」這種字符串的文件。該情況下,文件Fi是包括「人」、「生」、「ii」…、「劇」這種字符信息的文件,也是包括「人生」、「生…、「喜劇」這種字符信息的文件。在本實施方式中,例示字符信息組C1?Cm的每一個是2個字符的字符信息的情況。
[0043]通過針對1?η的各個數i,在同字符信息Cj和文件Fi對應的存儲區域中存儲與文件Fi是否包括字符信息Cj有關的信息來表示字符信息Cj包含於文件組F1?Fn中的哪個。例如在索引信息II中,與文件Fi中是否包括字符信息Cj有關的是否存在信息的儲存目的地通過將與字符信息Cj對應的二進位代碼代入散列函數而獲得的地址Pj、和文件編號i來表示。所謂與字符信息對應的二進位代碼例如如果是與字符信息「喜劇」對應的二進位代碼(基於JIS的字符碼),則是0x346E3760 (Ox意味是16進位表記)。
[0044]在對一個字符信息Cj分配一個地址Pj的情況下,對於字符信息Cj的是否存在信息,如果在文件Fi存在字符信息Cj則以「1」值的位來表示,如果在文件Fi中不存在字符信息Cj則以「0」值的位來表示。另一方面,也存在多個字符信息(例如,字符信息Cj和字符信息Ck)被分配給一個地址Pj的情況。該情況下,對於是否存在信息,如果在文件Fi中存在字符信息Cj以及字符信息Ck中的至少一個則以「1」值的位來表示,如果在文件Fi中字符信息Cj以及字符信息Ck均不存在則以「0」值的位來表示。順便說明,如何表示是否存在信息可以適當地變更,也可以是值為「 1 」表示不存在,值為「0」表示存在。而且,也可以通過多個位來表示是否存在。在圖1A所示的索引信息中,包括字符信息這一意思以「1」值的位來表不。
[0045]例如,在與地址Pj對應的字符信息僅是「喜劇」的情況下,通過索引信息II的地址Pj所示的位序列可清楚「喜劇」包含於文件編號2、3、i的文件的每一個。另外,例如在「劇王」和「見札」雙方與一個地址Pk對應的情況下,索引信息II的地址Pk所示的位序列表示對於文件組F1?Fn的每一個,是包括「劇王」和「見札」中的至少一方、還是「劇王」和「見札」都不包括中的任意一個。例如,文件編號1、n - 1的文件表示包括「劇王」和「見札」中的至少一方,文件編號1、2、3、j、k等的文件表示「劇王」和「見都不包括。
[0046]如圖1A所示,由於文件Fi也包括「喜劇」以外的字符信息,所以不光「喜劇」,與「人生」、「生ii」、…等檢索字符串中的其它字符信息對應的位置的位也表示「1」值。另外,雖然圖1A中省略,但對於文件組F1?Fn的每一個,與各文件所包含的字符信息對應的位置的位也表示「1」值。
[0047]在對文件組F1?Fn進行檢索的情況下,使用圖1A所示的索引信息II來進行字符串檢索對象的文件的鎖定。假設受理例如包括「喜劇王」這個檢索字符串的檢索請求。在檢索字符串的「喜劇王」中包括「喜劇」這個字符信息和「劇王」這個字符信息。該情況下,成為字符串檢索對象的文件例如通過基於「喜劇」所計算的地址(圖1A中為Pj)所示的位序列、和基於「劇王」所計算的地址(圖1A中為Pk)所示的位序列來鎖定。例如,與地址Pj對應的位序列、和與地址Pk對應的位序列的邏輯積運算結果即,位序列A1如圖1B所示。
[0048]在圖1B所示的位序列A1中,與成為「1」的位對應的文件(圖1B中,文件編號i的文件)成為字符串檢索對象的文件。在圖1A的例子中,多個字符信息(例如,「見Λ」以及「劇王」)與地址Pk對應。文件Fi不包括「劇王」但包括「見札」。因此,對應於與「見札」以及「劇王」對應的指針Pk的位序列中的、文件Fi的位也為「1」。若使用這樣的索引信息II以字符信息「喜劇」以及「劇王」來鎖定檢索對象的文件,則不管文件Fi是否不包括「劇王」,都判斷為包括「喜劇」和「劇王」雙方的文件,成為檢索對象的文件。
[0049]在使用半角字符的情況下也相同。假設例如文件Fi包括「Life is a tragedywhen seen in close — up, but a comedy in long — shot.」這種字符串。於是,例如,在索引信息中,基於字符信息「come」而計算出的地址Pj、和文件編號i所示的位置的位表示「1」。另外,例如基於字符信息「medy」而計算出的地址Pk、和文件編號i所示的位置的位表示「1」。若檢索字符串為「comedian」,則例如檢索對象的文件基於索引信息鎖定為包括「come」以及「dian」雙方的文件。此時,若偶爾基於字符信息「dian」而計算出的地址與基於字符信息「medy」而計算出的地址Pk相同,則不管文件Fi是否不包括「dian」,都成為「comedian」的檢索對象的文件。
[0050]如上述那樣,因與不同的多個字符信息對應的地址重複,在文件鎖定中可能產生噪聲。這是因為在文件Fi不包括的字符信息(「劇王」、「dian」等)、和文件Fi所包括的字符信息(「見&」、「medy」等)中,表示是否存在信息的儲存位置的指針重複。由於文件Fi所包括的字符信息(「見&」、「medy」等)的存在,位變為「 1」的狀態,所以在索引信息中並無示出文件Fi不包括的字符信息(「劇王」、「dian」等)不存在。順便說明,由於在不包括對應的指針重複的多個字符信息雙方的情況下,位變為「0」的狀態,所以可知相對於索引信息、多個字符信息中的哪個都不存在。
[0051]換句話說,越是文件內所包含的字符信息的指針與文件內不包含的字符信息的指針容易重複的文件,越容易產生鎖定噪聲。若以學術書等電子書籍為例進行例舉,與本篇的文件相比,索引、目錄等的文件容易包較多字符種類、即使是相同的電子書籍內的文件,文件所包含的字符信息的種類數也存在差別。另外,即使是本篇的文件彼此,在數據尺寸較大的文件和較小的文件中,文件所包含的字符信息的種類容易出現差別。在文件內所包含的字符信息的種類的數量不同的文件彼此中,一方文件(文件內的字符種類較多)與另一方的文件(文件內的字符種類的數量較少)相比,因地址的重複,容易產生未示出字符信息的不存在的情況。這不光是學術書,在新書等中也具有同樣的特徵。
[0052]根據上述的理由,若文件組F1?Fn的索引信息整體上變為稀疏的行列,則在包括多數種類的字符信息的文件中容易產生因字符信息彼此的指針重複所引起的鎖定噪聲。如前述,作為包括較多字符種類的文件的一個例子,例舉文件尺寸比其它文件大的文件。若文件尺寸較大的文件變為鎖定噪聲,則與其它文件相比不必要的字符串檢索的處理量變大。
[0053]對於索引信息而言,可以不是文件單位,而將與是否包括字符信息有關的信息與文件分割而得的每個塊建立對應。因此,抑制成為鎖定噪聲而進行字符串檢索時讀出的數據量。
[0054]然而,有時文檔結構根據文檔數據而較大地不同。例如,辭典等具有羅列特定的層級的文檔要素(例如,與節、項等對應的文檔要素)的文檔結構。該情況下,文檔要素的每一個具有獨立的意思內容,例如相鄰的文檔要素彼此大多不包括共同的用語(較多地包括不是共同的用語)。另一方面,學術書等是文檔要素彼此具有層級關係的文檔結構,具有共同的母要素的子要素彼此容易使用共同的用語。並且,小說等例如處於僅1個層級且文檔要素的數量較少的趨勢。在小說中容易使用貫穿本篇共同的用語。
[0055]如前述,在辭典等中常常包含特定的文檔要素的羅列。所謂文檔要素的羅列,大多使用於以某些共同的形式表現針對獨立的別個現象的信息的情況。例如,如果是辭典的形式,則對各項目對應單詞,列舉的各項目以單詞、和與該單詞有關的信息(意思、用法等)這一共同的形式表現。該情況下,例如,將以「 A 」為前端的字符即單詞組作為母要素的子要素是卜分」或「足柄山」等。
[0056]假設例如將與是否包括字符信息有關的信息與分割文件而得的每個塊建立對應來生成索引信息。如前述,在辭典等包括文檔要素的羅列的文檔結構中,子要素彼此未必包括共同的用語。
[0057]圖2A表示通過HTML (Hyper Text Markup Language)等標記語言所描述的文檔數據的層級結構的例子。若假設某個文件的標籤與標籤、標籤等標題標籤的關係如圖2A,則包括多個將以標籤識別的要素作為共同的母要素的子要素。該情況下,如前述,可以認為將第一個標籤作為母要素的子要素(以標籤識別的要素)彼此使用的用語的共同性薄弱。因此,雖然不嘗試按照以標籤識別的母要素單位的分割,但進行按照以標籤識別的子要素單位的分割即可。例如如圖2A所不的(A),如塊AA — 1和塊AA — 2那樣地分割也可以。
[0058]另一方面,學術書等如前述,具有共同的母要素的子要素彼此容易包括共同的用語。若假設例如有敘述與卓別林有關的考察的文檔,則當然遍及整個文檔,包括「電影」、「喜劇」等單詞。另一方面,在敘述電影的特徵的位置(章、節、項等)中常常使用「出演」、「作品的風格」、「故事」等單詞、表現思想的單詞,在對生涯進行敘述的位置中常常使用「結婚」、「移居」等單詞。在敘述電影的特徵的位置例如也細分為對角色的類型進行敘述的位置、敘述音樂的特徵的位置。另外,對於對生涯進行敘述的位置也細分為例如對成長進行敘述的位置、對醜聞進行敘述的位置。
[0059]例如,通過塊分割,獲得包括敘述電影的特徵的位置(母要素1)中的敘述音樂特徵的位置(子要素1 一 2)、和對生涯進行敘述的位置(母要素2)的塊。於是,在該塊中,子要素1 一 2常常包括「出演」、「作品的風格」、「故事」、表現思想的單詞等母要素1的特徵性單詞、和「結婚」、「移居」等母要素2的特徵性單詞雙方。例如如基於與這樣分割而成的塊對應的索引信息來進行字符串檢索的對象文件的鎖定,則對於「作品的風格」這種檢索字符串,不管母要素1還是母要素2都被鎖定。
[0060]另一方面,在母要素1為1塊、在母要素2為1塊的情況下,母要素1的塊也許不包括「結婚」、「移居」等母要素2的特徵性單詞,母要素2的塊也許不包括「出演」、「作品的風格」、「故事」等母要素1的特徵性單詞。如果母要素的2的塊不包括母要素1的特徵性單詞,那麼若用「作品的風格」等檢索字符串鎖定字符串檢索的對象,則連母要素2的塊也不鎖定就結束。
[0061]圖2B表示文檔數據的層級結構的例子。圖2B所示的(A)、(B)、(C)分別表示文件的塊分割例子。在分割例(A)中,以與標籤對應的層級的要素分割,得到塊BA —1以及塊BA — 2。在另一分割例⑶中,以與標籤對應的層級的要素分割,得到塊BB — 1以及塊BB — 2。在另一分割例(C)中,以與標籤對應的層級的要素分割,得到塊BC - 1以及塊BC - 2。在如分割例⑶那樣分割的情況下,若在標籤識別的要素中的第一個要素中特徵性用語包含於檢索字符串,則該要素的一部分子要素包含於塊BB - 2,所以塊BB - 2也變為字符串檢索的對象。同樣地,若如分割例(C)那樣進行分割,則在標籤識別的要素中的第一個要素中特徵性用語包含於檢索字符串的情況下,塊BC — 1也成為字符串檢索的對象。
[0062]如上述,在索引信息生成中進行塊分割的情況下,不包括數據尺寸較大的塊、和對於具有一部分文檔結構的文檔數據,與上位層級的單位一併進行分割有助於字符串檢索的對象的高效鎖定。即,通過根據文檔結構來決定塊分割位置的判斷基準的優先度的控制,來抑制由生成的索引信息所引起的文件鎖定的噪聲。
[0063]順便說明,可以認為在只有一個包括多個子要素的母要素等的、小說等文檔結構中,雖然進行塊分割,但分割而成的塊彼此使用共同的單詞。然而,通過預先進行塊分割,在塊彼此進行不是共同的單詞的檢索的情況下,也抑制字符串檢索的讀出量。
[0064]作為在一個要素存在規定數以上的子要素的例子,使用了圖2A所示的文檔數據的層級結構。例如,在廣辭苑第五版(1998)中,首字符為「 L.」的單詞數是15921,首字符為「 士、」的單詞數是13895。另外,以「辦」、「石」、「全」、「 h 」等為首字符的單詞較少,但首字符為「辦」的單詞數是662,首字符為「石」的單詞數是444,首字符為「 & 」的單詞數是6,首字符為「 & 」的單詞數是8。若除去「 & 」、「 h, 」,則以各個首字符為母要素,各個子要素存在444以上。
[0065]另一方面,例如在Hadoop第2版(Tom White著,2011)中,在第12章和第15章,是至第8節為止存在的程度。在該例子中,相對於一個母要素,子要素的數量為8以下。
[0066]如果是上述的例子,則使用於判斷文檔結構的規定數例如可以是「10」也可以是「100」。若規定數為「10」,則在一個要素存在10個以上的子要素的情況下,控制為在該子要素的層級進行塊分割。
[0067]在資料庫中也存在同樣的層級結構的不同。在資料庫中針對記錄單位或頁單位,表示各個字符信息是否存在的索引信息被使用於檢索。也可以不是記錄單位或頁單位,而將針對以包括多個記錄或者多個頁的方式劃分的塊單位,表示各個字符信息是否存在的索引信息使用於檢索。
[0068]在資料庫中,也與電子書籍同樣地在層級結構具有特徵。積蓄管理信息、日誌信息等的資料庫為了追加作為各現象的記載的記錄,按記錄單位羅列數據。另一方面,在根據各現象而變更所記載的數據模式的情況下,在各個現象的記載中所需要的信息不同。
[0069]例如,如果是顧客信息的資料庫,則存在針對各顧客儲存有與ID、公司名、部門、擔當者、住所、電話號碼等項目對應的信息的資料庫。這種資料庫是例舉作為顧客信息的各記錄的形式,具有與電子辭典中的辭典類似的層級結構。
[0070]例如,在儲存製藥的療效數據的資料庫中,按照每1次的給藥,儲存給藥的歷史信息。在歷史信息中生成包括給藥時刻、給藥藥劑、療效者的狀態(體溫等)、副作用症狀等信息的記錄。然而,根據療效者的特性(療效者自身具有的疾病等)來設置儲存表示療效者的狀態的信息的項目,或者設置儲存與副作用有關的信息的項目等,數據結構根據療效者而不同。由於這樣根據現象的特性來決定層級,所以具有與電子辭典中的學術書類似的層級結構。另外,對於數據而言,如果不產生副作用則以少量的數據結束,但在產生副作用的情況下數據量變多。
[0071]如上述那樣,在資料庫中層級結構的特徵也不同。因此,與電子書籍同樣地,通過根據層級結構的特徵來進行塊分割,從而抑制產生字符串檢索對象的鎖定的噪聲。
[0072]圖3表示第1實施方式中的計算機1的功能模塊的例子。計算機1包括處理部11以及存儲部12。處理部11生成索引信息,並進行使用了生成的索引信息的檢索。存儲部12存儲使用於處理部11的處理的信息(例如成為檢索對象的文件組F1?Fn、索引信息等)。
[0073]處理部11包括生成部13。生成部13生成索引信息,並存儲於存儲部12。
[0074]圖4表示生成部13的功能模塊的例子。生成部13包括控制部131、讀出部132、解析部133以及判定部134。控制部131按順序從文件F1指定文件Fn,對於指定的文件,使讀出部132、解析部133以及判定部134執行各自的處理。讀出部132從存儲部12讀出文件組F1?Fn中被控制部131指定的文件Fi。解析部133按照讀出部132讀出的每個文件來解析文件內的文檔結構。控制部131基於解析部133的解析結果來進行文件的分割。判定部134按照由控制部131分割而成的每個塊(未分割的情況下相當於文件本身)對設定的字符信息組C1?Cm中的各字符信息Cj,判定是否包括Cj。在判定部134的判定結果為表示包括字符信息Cj這一意思的情況下,控制部131基於字符信息Cj以及塊Bi的文件編號i來計算地址,並在計算出的地址所示的存儲場所儲存表示包括字符信息Cj這一意思的信息。
[0075]圖5表示儲存塊編號與塊的讀出位置的對應關係的表T1的例子。控制部131對分割而得到的塊的每一個分配編號,將塊的讀出位置與塊編號建立對應地儲存於表T1。表T1的信息被後述的字符串檢索部16參照。
[0076]如圖3所示,處理部11還包括檢索控制部14、鎖定部15以及字符串檢索部16。檢索控制部14通過控制鎖定部15和字符串檢索部16來進行與檢索要求對應的檢索處理。鎖定部15使用由生成部13生成的索引信息來進行檢索對象文件的鎖定。例如,檢索控制部14從受理的檢索請求所包含的檢索字符串提取字符信息Ca,並將提取出的字符信息Ca通知給鎖定部15。鎖定部15將塊組B1?Bp中除了不包括通知給檢索控制部14的字符信息Ca的文件的塊的塊編號通知給檢索控制部14。字符串檢索部16針對被鎖定部15鎖定的塊,從儲存在表T1中的讀出位置讀出塊的數據,並基於檢索控制部14受理的檢索請求來進行字符串檢索。
[0077]圖6表示鎖定部15的功能模塊的例子。鎖定部15包括參照部151以及判定部152。參照部151讀出存儲在存儲部12中的索引信息中的、與從檢索控制部14通知的字符信息Ca對應的部分。根據字符信息Ca來計算表示與字符信息Ca對應的部分的地址。例如,參照部151基於字符信息Ca來計算地址,並讀出與該地址對應的位序列。判定部152基於參照部151讀出的位序列來判定不包括字符信息Ca的塊,除了塊組B1?Bp中不包括字符信息Ca的塊,將塊編號通知給字符串檢索部16。
[0078]檢索控制部14也可以從檢索字符串提取多個字符信息(例如字符信息Ca、字符信息Cb)。因此,參照部151針對多個字符信息Ca、Cb的每一個,讀出索引信息的對應的位序列。另外,判定部152計算與字符信息Ca對應的位序列所包含的是否存在信息和與字符信息Cb對應的位序列所包含的是否存在信息的邏輯積(AND),並基於該計算結果來判定各文件中的字符信息Ca、Cb的是否存在。判斷為不包括字符信息Ca、Cb中的任意一個的文件的文件編號不通知給字符串檢索部16。
[0079]圖7表示計算機1的硬體構成例子。圖3、4以及6所示的各功能模塊例如通過圖7所示的硬體構成來實現。計算機1例如包括處理器301、RAM (Random Access Memory:隨機存取存儲器)302、ROM (Read Only Memory:只讀存儲器)303、驅動器裝置304、存儲介質305、輸入接口(I/F) 306、輸入設備307、輸出接口(I/F) 308、輸出設備309、通信接口(1/F) 310等。各個硬體經由總線311連接。通信I/F310進行經由網絡4的通信的控制。輸入接口 306與輸入設備307連接,將從輸入設備307接收到的輸入信號傳遞到處理器301。輸出接口 308與輸出設備309連接,使輸出設備309執行與處理器301的指示對應的輸出。
[0080]RAM302是可讀寫的存儲器裝置,例如使用SRAM (Static RAM:靜態隨機存取存儲器)、DRAM (Dynamic RAM:動態隨機存取存儲器)等半導體存儲器,或者即使不是RAM也是快閃記憶體等。R0M303也包括PROM (Programmable ROM:可編程只讀存儲器)等。驅動器裝置304是進行記載在存儲介質305中的信息的讀出或寫入中的至少任意一方的裝置。存儲介質305存儲由驅動器裝置304寫入的信息。存儲介質305例如是硬碟、⑶(Compact Disc:光碟)、DVD(Digital Versatile Disc:數字通用盤)、藍光光碟等存儲介質。另外,例如計算機1針對多個種類的存儲介質分別設置驅動器裝置304以及存儲介質305。
[0081]輸入設備307是根據操作來發送輸入信號的裝置。輸入信號例如是鍵盤、安裝在計算機1的主體上的按鈕等按鍵裝置、滑鼠、觸摸面板等定位設備。輸出設備309是根據計算機1的控制來輸出信息的裝置。輸出設備309例如是顯示器等圖像輸出裝置(顯示設備)、揚聲器等聲音輸出裝置等。另外,例如,觸控螢幕等輸入輸出裝置作為輸入設備307以及輸出設備309被使用。
[0082]另外,存儲於存儲介質305中的信息也可以存儲在經由網絡4連接的計算機2所控制的存儲裝置3中。該情況下,處理器301經由通信接口 310獲取存儲在存儲裝置3中的信息,從而進行讀出部132、字符串檢索部16等對塊的讀出。
[0083]處理器301將存儲在R0M303、存儲介質305中的程序讀出至RAM302,並按照讀出的程序的順序來進行處理部11的處理。此時RAM302作為處理器301的工作區被使用。存儲部12的功能通過R0M303以及存儲介質305存儲程序或文件組F1?Fn,並將RAM302用作處理器301的工作區域來實現。對處理器301讀出的程序使用圖8來進行說明。
[0084]圖8表示計算機1中進行動作的軟體的構成例子。在計算機1中,進行圖7所示的硬體組21的控制的0S22 (作業系統)進行動作。處理器301以按照0S22的步驟進行動作,進行硬體21的控制、管理,從而由硬體21執行應用程式、中間件的處理。並且,在計算機1中,例如索引生成程序23a、檢索處理程序23b等被讀出至RAM302並由處理器301執行。另外,處理器301進行基於索引生成程序23a的處理,從而實現(將這些處理基於0S22來控制硬體21)生成部13的功能。並且,處理器301進行基於檢索處理程序23b的處理,從而實現(將這些處理基於0S22來控制硬體21)檢索控制部14、鎖定部15以及字符串檢索部16的功能。圖8中索引生成程序23a和檢索處理程序23b作為獨立的程序示出,也可以將兩程序合併作為一個程序。
[0085]圖9表示索引生成的處理步驟例子。若起動索引生成程序23a(S100),則控制部131進行預處理(S101)。S101的預處理例如是將檢索對象文件組F1?Fn的文件路徑的列表、字符信息組C1?Cm讀出至存儲部12的處理等。控制部131判斷是否請求索引信息的生成(S102),直至請求索引信息的生成為止反覆進行判斷(S102:否)。若請求索引信息的生成(S102:是),則控制部131確保存儲索引信息的存儲區域(S103)。例如,在S103中所確保的存儲區域內的各位被事先設置為「0」。
[0086]讀出部132參照文件路徑的列表,讀出檢索對象文件組F1?Fn,解析部133對讀出的文件的每一個進行解析文檔結構的處理(S104)。控制部131根據解析部133的文檔結構的解析結果來分割文件,對於通過分割所得到的塊,將塊編號和表示塊的讀出位置的信息儲存於圖5所示的表T1中(S105)。S104以及S105的詳細處理後述。
[0087]控制部131從圖5所示的表T1中選擇塊編號i,並使讀出部132讀出選擇出的塊編號i的塊Bi(S106)。例如,在S106中,控制部131按照塊編號順序選擇表T1內的記錄。接下來,判定部134選擇字符信息C1?Cm中的一個字符信息Cj (S107)。例如,在S107中,判定部134可以按順序從存儲部12保持的字符信息C1?Cm的列表中選擇字符信息,也可以通過在規定的數值範圍內使字符碼增加1,按順序生成字符信息。判定部134判定塊Bi是否包括字符信息Cj (S108)。在判定為塊Bi包括字符信息Cj的情況下(S108:是),控制部131基於塊編號i和字符信息Cj來計算地址。控制部131將與計算出的地址對應的位置的位更新為「1」(S109)。S卩,控制部131將與計算出的地址對應的位置的位和「1」的邏輯和(OR)運算的結果儲存於與計算出的地址對應的位置。例如,將與將字符信息Cj的二進位代碼代入規定的散列函數而得到的值對應的位序列的第i位設為「1」。若通過控制部131來進行位的更新,則判定部134進行S110的處理。在由判定部134判定為塊Bi不包括字符信息Cj的情況下(S108:否),判定部134進行S110的處理。在字符信息C1?Cm中存在未選擇的字符信息的情況下,判定部134再次進行S107的處理(S110)。在字符信息C1?Cm中未存在未選擇的字符信息的情況下,進行S111的處理。在S111中,如果塊組B1?Bp中有未選擇的文件,則讀出部132再次進行S106的處理。另外,如果塊組B1?Bp中沒有未選擇的文件,則進行S112的處理。
[0088]控制部131進行文件組F1?Fn的索引信息的生成處理完成這一意思的通知(S112)。在S112中,控制部131還將S103中確保的區域內的信息作為索引文件進行保存。S112的處理後,判定是否接受到結束指示(S113)。在接受到結束指示的情況下(S113:是),處理部11結束索引生成程序23a(S114)。在未接受到結束指示的情況下(S113:否),再次進行S102的處理。
[0089]接著對S104的文檔結構解析處理進行說明。圖10A以及圖10B表示文檔結構解析處理的處理步驟例子。在文檔結構解析處理中,對各文件進行文件內所包含的各文檔要素具有的子要素的數量的計數。
[0090]若進行文檔結構解析處理(S200),則控制部131按順序從文件F1?Fn選擇文件,讀出部132讀出所選擇的文件Fi (S201)。解析部133按順序從文件Fi讀出標籤信息(S202)。解析部133判定在S202中讀出的標籤信息是否是標籤(S203)。在S202中讀出的標籤信息是標籤的情況下(S203:是),解析部133將針對文件Fi作成的文檔結構表儲存於存儲部12(S204)。如果有未進行文檔結構解析處理的文件,則解析部133進行S201的處理,如果沒有未進行文檔結構解析處理的文件,則解析部133結束文檔結構解析處理(S206),進行S105的處理(S205)。
[0091]在S202中讀出的標籤信息不是標籤的情況下(S203:否),判定在S202中讀出的標籤信息是否是表示文檔結構的層級的標籤信息(S207)。所謂表示文檔結構的層級的標籤信息例如是、、…等。在S202中讀出的標籤信息不是表示層級的標籤信息的情況下(S207:否),再次進行S202的處理。
[0092]在S202中讀出的標籤信息是表示層級的標籤信息的情況下(S207:是),解析部133判定讀出的標籤信息是否是表示開始的標籤信息(S208)。所謂表示開始的標籤信息例如以標籤來說,表示開始,為結束。例如對於, 表示開始,表示結束。在S202中讀出的標籤信息不是表示開始的標籤的情況下(S208:否),解析部133設置後述的子要素數計數的結束標誌(S214)。
[0093]在S202中讀出的標籤信息是表示開始的標籤(S208:是)情況下,解析部133在文檔結構表T2生成記錄(S209)。在針對各文件的初次,解析部133確保文檔結構表T2的儲存區域。在S209中,解析部133生成新的標籤ID,並將生成的標籤ID儲存在文檔結構表的標籤ID項目中。例如,標籤ID通過將前次生成的ID的值增加1來生成。
[0094]圖11表示文檔結構表T2。文檔結構表T2包括標籤ID、層級數、子要素數以及標誌的項目。在標籤ID的項目中儲存分配給文檔內所包含的標籤信息的ID。層級數儲存標籤信息表示的層級數。子要素數儲存標籤信息具有的子要素數。另外,標誌是表示針對儲存在文檔結構表中的標籤信息的子要素的數量的計數是否結束的標誌。針對文件F1?Fn各個生成文檔結構表T2。
[0095]若在文檔結構表T2生成記錄,則解析部133在生成的記錄的層級數的項目中儲存讀出標籤信息所示的層級數(S210)。如果讀出的標籤信息例如是則層級數為0,如果是則層級數為1,如果是則層級數為2,如果是則層級數為3。接下來,解析部133對層級數進行計數(S211?S213)。解析部133將從讀出的標籤信息的層級數減去1後的數作為j,進行S212的處理。若進行S212的處理,則將從j減去1後的數作為j,進一步反覆S212的處理。該處理直至j變為0為止反覆進行。在S212中,解析部133根據在S209中生成的記錄沿標籤ID變小的方向搜索文檔結構表T2的記錄中層級數為j的記錄並提取。解析部133將提取的記錄的子要素數的項目的值增加1來生成。若結束S211?S213的處理結束,則解析部133再次進行S202的處理。
[0096]接下來,對S105的文件分割處理進行說明。圖12A以及圖12B表示文件分割處理的處理步驟例子。在文件分割處理中,判定部134判定從各文件讀出的數據是否超過規定的數據尺寸。
[0097]若開始文件分割處理(S300),則控制部131選擇文件F1?Fn中的任意一個(S301)。S卩,選擇1?η中的一個。控制部131讀出與在S301中選擇的文件對應的文檔結構表T2(S302)。接下來,判定部134在讀出的文檔結構表T2提取子要素數為規定數以上的記錄(S303)。在文檔結構表T2中存在子要素數為規定數以上的記錄的情況下(S303:是),選擇子要素數為規定數以上的記錄中的層級數最小的記錄的層級數(S304)。另外,在不存在規定數以上的子要素的情況下(S303:否),層級數選擇0(S305)。
[0098]接下來,判定部134從文件Fi讀出表示所選擇的層級數的要素。並且,判定部134對讀出的要素的數據量進行計數(S306)。例如,判定部134按順序從文檔結構表T2提取所選擇的層級數儲存在層級數的項目中的記錄。在S306中,判定部134根據提取出的記錄所示的標籤信息,從文件Fi讀出至對應的結束標籤為止的數據。
[0099]接下來,判定部134判定在S306中讀出的數據量是否小於第1規定值(S307)。在S306中讀出的數據量小於第1規定值的情況下(S307:是),判定文件Fi內是否有未讀出的數據(S308)。
[0100]在文件Fi內有未讀出的數據的情況下(S308:是),判定部134在累計值S加上在S306中計數所得的數據量(S309)。在各文件中,累計值為0。判定部134判定累計值是否大於第2規定值(S310)。在累計值不大於第2規定值的情況下(S310:否),判定部134再次進行S306的處理。在累計值大於第2規定值的情況下(S310:是),將在S306中讀出數據時的讀出結束位置儲存於圖5所示的表T1 (S311)。例如,從文件Fi開始數據讀出,在第一次累計值超過第2規定值的情況下,在表T1中存儲讀出位置,作為文件Fi的第2塊的讀出位置。並且,判定部134清除累計值(S312)。並且,若結束S312的處理,則判定部134再次進行S306的處理。
[0101]第2規定值例如使用比第1規定值小的值。如前述,由於可以認為以上位的層級的要素完成塊分割很難產生鎖定噪聲,所以有即使數據尺寸稍微變大,也以上位層級的要素進行塊分割的優點。
[0102]在S306中讀出的數據量不小於第1規定值的情況下(S307:否),將S306的數據讀出緊前的讀出位置存儲於表T1 (S317)。並且,判定部134將決定讀出數據的單位的層級數增加1(S318)。由此,判定部134能夠以更微細的單位將文件分割為塊單位。接下來,判定部134基於在S318中決定的層級數從文件Fi讀出數據,並對數據量進行計數(S319)。另外,判定部317判定在S319中讀出的數據量是否小於第1規定值(S320)。在S319中讀出的數據量不小於第1規定值的情況下(S320:否),判定部134再次進行S318。
[0103]在S319中讀出的數據量小於第1規定值的情況下(S320:是),判定部134判定是否在S318所選擇的層級數全部都讀出在S318中選擇的層級數的上一個的層級(層級數一 1)的數據(在緊前的S306讀出的數據等)(S321)。在S321中判定為全部讀出的情況下(S321:是),判定部134進行S309的處理(S322)。判定部134進行與S310相同的判定(S323),而若在S323判定為是(S323:是),則進行與S311以及S312相同的處理(S324以及S325),再次進行S319的處理。在S323中判定為否的情況下(S323:否),判定部134進行S319的處理。
[0104]在S321中判定為還未讀出的(S321:否)情況下,判定部134進行與S311以及S312相同的處理(S326以及S327)。接下來,判定部134使選擇的層級數減1 (S328)。判定部134判定所選擇的層級數是否是0,或者是否是在S304中選擇的層級數(S329)。在S329的判定中,在所選擇的層級數為0,或者是在S304中選擇的層級數的情況下(S329:是),判定部134再次進行S306的處理。在S329的判定中均不滿足的情況下(S329:否),判定部134再次進行S319的處理。
[0105]在文件Fi內沒有未讀出的數據的情況下(S308:否),判定部134清除累計值(S313)。如果文件Fi不是文件Fn,則生成部13從S301再次進行處理(S314)。在文件Fi是文件Fn的情況下,將分割文件F1?Fn而得到的塊的總數設為p (S315)。並且,生成部13進行S106的處理(S316)。
[0106]順便說明,例如在S307中判定為否的情況下、在S310中判定為是的情況下,也可以將讀出位置返回到直線上讀出句號的讀出位置。因此,避免分割成塊的情況下的分界線成為語句的中途。並且,例如也可以將讀出位置返回到緊前的換行。
[0107]圖13表示全文檢索的處理步驟例子。若起動檢索處理程序23 (S400),則檢索控制部14進行預處理(S401)。S401的預處理是圖5所示的表T1的讀出、索引信息的讀出。檢索控制部14判斷是否接受到檢索請求(S402),直至接受到檢索請求為止反覆S402的判斷(S402:否)。在接受到檢索請求的情況下(S402:是),執行索引參照處理(S403)。
[0108]圖14表示索引信息的參照處理步驟的例子。若執行S403(S500),則檢索控制部14取出檢索請求所包含的檢索字符串,並提取字符信息C1?Cm中的檢索字符串所包含的字符信息Ca、Cb、…(S501)。
[0109]若檢索控制部14提取字符信息Ca、Cb、...,則鎖定部15針對塊組B1?Bp的每一個,判斷是否是不包含被提取出的字符信息Ca、Cb、...中任意一個的塊。具體而言,首先,選擇提取出的字符信息中的一個(S502)。參照部151基於所選擇的字符信息來計算地址,並讀出儲存在計算出的地址所示的位置的信息(S503)。在S503中,參照部151通過與S109相同的運算來計算地址。此時,例如,參照部151讀出與將所選擇的字符信息的二進位代碼代入規定的散列函數而得到的值對應的位序列。在提取出的字符信息Ca、Cb、…中有未選擇的字符信息的情況下,鎖定部15再次進行S502的處理,在提取出的字符信息Ca、Cb、…沒有未選擇的字符信息的情況下,結束索引參照處理(S504、S505)。
[0110]若索引參照處理結束,則鎖定部15提取檢索對象的塊的塊編號(S404)。在S404中,例如,判定部152針對字符信息Ca、Cb、…的每一個,計算由參照部151讀出的位序列彼此的邏輯積(AND)。判定部152生成表示在計算出的位序列中是「1」的位是第幾個的編號。例如,如果在計算出的位序列中,第X個位和第1個位為「1」,則判定部152生成x、y。
[0111]檢索控制部14選擇作為由判定部152生成的編號X、y、…的任意一個的編號i(S405)。字符串檢索部16讀出選擇的編號i為塊編號的塊Bi(S406)。字符串檢索部16在圖5所示的表T1中從與塊編號i對應的讀出位置讀出塊。字符串檢索部16用檢索字符串檢索讀出的塊Bi(S407)。例如,字符串檢索部16在塊Bi內檢測出與檢索字符串一致的字符串的情況下,生成表示一致的字符串的塊Bi內的位置的信息,並與塊Bi的塊編號i建立關聯地存儲於存儲部12(參照圖15)。例如,預先設置對與檢索字符串進行對照的數據的量進行計數的計數器,將檢測出字符串一致時的計數器的值設為表示文件內的位置的信肩、Ο
[0112]圖15表示儲存檢索結果的表的例子。圖15所示的表Τ2包括表示與檢索字符串一致的字符串存在的位置的記錄。與檢索字符串一致的字符串的位置例如由包括字符串的塊的編號、和每次讀出各塊的字符信息時增加1的計數器的值表示。例如在一致檢測時讀出計數器的值。
[0113]S407的處理後,如果由判定部152生成的編號x、y、…中有未選擇的編號則檢索控制部14進行S405的處理(S408)。在由判定部152生成的編號x、y、…中沒有未選擇的編號的情況下,檢索控制部14進行S409的處理。
[0114]檢索控制部14進行檢索結果的輸出處理(S409)。例如進行在S407的處理中提取儲存在圖15所示的表T2中的信息所示的位置的附近的字符串,並將提取出的字符串同與塊編號對應的文件的文件名等一併使顯示設備顯示等的處理。
[0115]S409處理後,處理部11判斷是否有結束的指示(S410)。在沒有結束的指示的情況下(S410:否),檢索控制部14進行S402的處理。在有結束的指示的情況下(S410:是),處理部11使檢索處理程序22b結束(S411)。
[0116]符號說明
[0117]L...計算機;2…計算機;3…存儲裝置;4…網絡;1L...處理部;12...存儲部;13...生成部;14…檢索控制部;15…鎖定部;16…字符串檢索部;131…控制部;132…讀出部;133…解析部;134…判定部;151…參照部;152…判定部。
【權利要求】
1.一種生成程序,其特徵在於, 使計算機執行如下的處理: 根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,進行如下的切換:即,是按照所述子要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制,或者還是按照每個所述文檔要素或比所述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制的切換, 通過與所述切換對應的所述控制,將所述文檔文件分割為所述多個塊, 按照分割而得到的每個塊,生成表示各塊是否包括規定的字符信息的索引信息。
2.根據權利要求1所述的生成程序,其特徵在於, 使所述計算機執行如下的處理: 在所述文檔要素或比所述文檔要素上位的文檔要素的層級的文檔要素的數據尺寸比規定值大的情況下,進一步按照下位1層級的每個文檔要素執行所述控制。
3.根據權利要求1或者2所述的生成程序,其特徵在於, 所述文檔文件所包含的各文檔要素是包含在從所述文檔文件所包含的標籤的開始標籤到結束標籤的範圍內的字符信息組。
4.一種生成方法,其特徵在於, 使計算機執行如下的處理: 根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,進行如下的切換:即,是按照所述子要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制,或者還是按照每個所述文檔要素或比所述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制的切換, 通過與所述切換對應的所述控制,將所述文檔文件分割為所述多個塊, 按照分割而得到的每個塊,生成表示各塊是否包括規定的字符信息的索引信息。
5.一種生成裝置,其特徵在於,包括: 分割部,其根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,進行如下的切換:即,是按照所述子要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制,或者還是按照每個所述文檔要素或者比所述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制的切換,並通過與所述切換對應的所述控制,將所述文檔文件分割為所述多個塊;以及 生成部,其按照分割而得到的每個塊,生成表示各塊是否包括規定的字符信息的索引信息。
6.一種檢索程序,其特徵在於, 使計算機執行如下的處理: 若受理檢索字符串,則基於所述檢索字符串所包含的字符信息,來參照將通過分割而得到的各塊與所述各塊是否包括所述字符信息建立對應的索引信息,該分割通過根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,以如下方式切換而進行,即,是按照所述子要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制,或者還是按照每個所述文檔要素或比所述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制的切換, 通過所述索引信息的參照,來確定所述索引信息中表示包括所述字符信息這一意思的塊, 對確定出的所述塊進行基於所述檢索字符串的字符串檢索。
7.一種檢索方法,其特徵在於, 使計算機執行如下的處理: 若受理檢索字符串,則基於所述檢索字符串所包含的字符信息,來參照將通過分割而得到的各塊與所述各塊是否包括所述字符信息建立對應的索引信息,該分割通過根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,以如下方式切換而進行,即,是按照所述子要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制,或者還是按照每個所述文檔要素或比所述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制的切換, 通過所述索引信息的參照,來確定所述索引信息中表示包括所述字符信息這一意思的塊, 對確定出的所述塊進行基於所述檢索字符串的字符串檢索。
8.一種檢索裝置,其特徵在於,包括: 受理部,其受理檢索字符串; 存儲部,其基於所述受理部受理的所述檢索字符串所包含的字符信息,來存儲將通過分割而得到的各塊與所述各塊是否包括所述字符信息建立對應的索引信息,該分割通過根據文檔文件中是否存在具有規定數以上的子要素的文檔要素,以如下方式切換而進行,即,是按照所述子要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制,或者還是按照每個所述文檔要素或比所述文檔要素上位的要素的層級的每個文檔要素進行在多個塊中的哪個包括所述文檔文件內的數據的控制的切換; 鎖定部,其通過存儲在所述存儲部中的所述索引信息的參照,來確定所述索引信息中表示包括所述字符信息這一意思的塊;以及 檢索部,其對確定出的所述塊進行基於所述檢索字符串的字符串檢索。
【文檔編號】G06F17/30GK104380286SQ201280073480
【公開日】2015年2月25日 申請日期:2012年5月31日 優先權日:2012年5月31日
【發明者】片岡正弘, 村田孝宏, 大田貴文 申請人:富士通株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀