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