CN104380286A - 索引生成程序以及检索程序 - Google Patents
索引生成程序以及检索程序 Download PDFInfo
- Publication number
- CN104380286A CN104380286A CN201280073480.3A CN201280073480A CN104380286A CN 104380286 A CN104380286 A CN 104380286A CN 201280073480 A CN201280073480 A CN 201280073480A CN 104380286 A CN104380286 A CN 104380286A
- Authority
- CN
- China
- Prior art keywords
- document
- factor
- key element
- information
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的在于在一个方面抑制针对文档数据对的字符串检索的对象锁定中的锁定噪声。根据一方式,计算机根据文档文件中是否存在具有规定数以上的子要素的文档要素,进行如下的切换:即,是按照上述子要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制,或者还是按照每个上述文档要素或者比上述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制,通过与上述切换对应的上述控制,将上述文档文件分割为上述多个块,按照分割而得到的每个数据,生成表示各数据是否包括规定的字符信息的索引信息。
Description
技术领域
本发明涉及文档数据的检索技术。
背景技术
小说、学术书、辞典等多个类型的书籍以电子保存信息而成的电子书籍的形态被销售。在进行针对多个文档数据的检索的情况下,存在使用索引信息的技术,该索引信息按照每个字符信息的种类表示字符信息包含于多个文档数据中的哪个的对应关系。例如,一方面利用预先生成的索引信息,将表示包括检索字符串中的某个字符信息C的文档数据作为基于检索字符串的字符串检索的检索对象,另一方面进行从字符串检索的对象删除其它文档数据的控制。这是因为在索引信息中示出其它文档数据中不包括前述的字符信息C,所以即使不进行检索字符串的字符串检索,也清楚在其它文档数据中不包括检索字符串。
另外,已知一种将索引信息作为按文档要素单位分配了表示字符信息存在于文件中的哪个文档要素(章、节、项等单位)的位而成的位序列的技术(例如专利文献1)。
专利文献1:日本特开平8-314966号公报
例如用HTML(Hyper Text Markup Language:超文本标记语言)等标记语言描述小说、学术书、辞典等电子书籍。用HTML描述的文档数据被文档数据内的标签信息等划分为构成文档的文档要素。例如对于某个标签,从开始标签到结束标签的数据是一个文档要素。对于某个文档要素,该文档要素内所包含的从其它开始标签到结束标签的数据成为前述的某个文档要素的子要素。这样,根据由开始标签和结束标签构成的组所示的范围的包含关系来表示文档要素间的层级关系。
即使按照文件内所包含的某个层级的每个文档要素对文档数据的文件进行块分割,分割所获得的各块彼此数据尺寸未必相同。若在各块中数据尺寸不同,则各个块所包含的字符信息的种类的数量也有不同的趋势。例如,在分章节的学术书中,只某章较长的情况下,有时只与该章对应的块的字符信息的种类变多。在这种情况下,索引信息中示出特定的块显著多的种类的字符信息的存在。
另外,存在使用被压缩的索引信息的技术,但通过索引信息的压缩,对于表示多个种类的字符信息的存在的块,在使用了索引信息的字符串检索的对象的锁定中容易产生噪声。所谓被压缩的索引信息是对多个字符信息重叠表示字符信息包含于多个文档数据中的哪个的对应关系的信息而成的索引信息。即,在被压缩的索引信息中,将表示是否包括多个字符信息中的任意一个的信息与各块建立对应。于是,由于针对多个字符信息的是否存在信息被重叠,所以抑制索引信息本身的数据尺寸。另一方面,由于在文件锁定中也从索引信息中提取出在索引信息被重叠的其它字符信息的存在,所以产生锁定噪声。存在若提高压缩率(增多重叠的字符信息的数量),则噪声的产生概率变高(容易产生锁定噪声)这种关系。然而,由于对于块彼此,块内所包含的字符信息的种类的数量不同,所以即使在各块中压缩率共同,噪声的产生概率也根据块而各种各样。于是,字符信息的种类较多的块容易产生锁定噪声。
如前述那样,即使在特定的层级的文档要素的分界线将文件内的数据分割成块,也起因于各个文档要素的数据尺寸不同,而使各个块中的锁定噪声的产生容易度不同。
然而,若单纯地以使块的数据尺寸一样的方式分割文档数据的文件,则有时在文档要素的分界线以外,或下位的文档要素(部、章、节、条和分章节的文档的条等)的分界线被分割。
例如,将相当于第1章的文件分割为包括第1节和第2节的一部分的第1块、和包括第2节的一部分和第3节的第2块。例如,在学术书中,包含于相同的节的项彼此大多包括相关的内容。因此,第2节内的各项中特征性用语所包含的字符信息有时存在于第1块和第2块双方。在这种情况下,若在节单位中的分界线进行块分割(例如在第1节、第2节以及第3节中,分别为第1块、第2块以及第3块),则第2节中特征性用语所包含的字符信息可能仅存在于第2块(该特征性用语不存在于第1节以及第3节双方的情况下)。
在学术书等具有层级结构的文档中,往往存在章内的各节共同使用的用语、节内的各项共同使用的用语、项内的各条共同使用的用语等。
另一方面,在辞典中,由于各项目中内容独立,所以相同的节所包含的项彼此很少包含相关的内容。因此,有时虽然在第2节的某个项中是特征性用语,但在第2节内的其它项中未被使用。于是,即使分割成包括第1节和第2节的一部分的第1块、和包括第2节的一部分和第3节的第2块,在前述的第2节的某项中特征性用语所包含的字符信息有时只包含在第1块或者第2块中的任意一个。
可预料如上述,通过像学术书那样使包含于相同的上位要素、且内容相关的子要素彼此包含于相同的块,从而抑制字符串检索对象的锁定噪声。另一方面,也存在即使如辞典那样使相同的上位要素(例如章等)的子要素包含于相同的块也很难抑制锁定噪声的情况。在这种情况下,可预料也有时通过使各块的数据尺寸平均化来抑制锁定噪声。
发明内容
在本公开的一方面,目的在于抑制针对文档数据的字符串检索的对象锁定中的锁定噪声。
根据一方式,生成程序使计算机执行如下的处理:根据文档文件中是否存在具有规定数以上的子要素的文档要素,进行如下的切换:即,是按照上述子要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制,或者还是按照每个上述文档要素或比上述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制的切换,通过与上述切换对应的上述控制,将上述文档文件分割为上述多个块,按照分割而得到的每个块,生成表示各块是否包括规定的字符信息的索引信息。
根据一方式,使用使计算机执行如下的处理的生成方法,即,根据文档文件中是否存在具有规定数以上的子要素的文档要素,进行如下的切换:即,是按照上述子要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制,或者还是按照每个上述文档要素或比上述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制的切换,通过与上述切换对应的上述控制,将上述文档文件分割为上述多个块,按照分割而得到的每个块,生成表示各块是否包括规定的字符信息的索引信息。
根据一方式,生成装置的特征在于,包括:分割部,其根据文档文件中是否存在具有规定数以上的子要素的文档要素,进行如下的切换:即,是按照上述子要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制,或者还是按照每个上述文档要素或比上述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制的切换,并通过与上述切换对应的上述控制,将上述文档文件分割为上述多个块;以及生成部,其按照分割而得到的每个块,生成表示各块是否包括规定的字符信息的索引信息。
根据一方式,检索程序使计算机执行如下的处理:若受理检索字符串,则基于上述检索字符串所包含的字符信息来参照将通过分割而得到的各块与上述各块是否包括上述字符信息建立对应的索引信息,该分割通过根据文档文件中是否存在具有规定数以上的子要素的文档要素,以如下方式切换而进行,即,是按照上述子要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制,或者还是按照每个上述文档要素或比上述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制的切换,通过上述索引信息的参照,来确定上述索引信息中表示包括上述字符信息这一意思的块,对确定出的上述块进行基于上述检索字符串的字符串检索。
根据一方式,使用使计算机执行如下处理的检索方法,即,若受理检索字符串,则基于上述检索字符串所包含的字符信息来参照将通过分割而得到的各块与上述各块是否包括上述字符信息建立对应的索引信息,该分割通过根据文档文件中是否存在具有规定数以上的子要素的文档要素,以如下方式切换而进行,即,是按照上述子要素的层级的每个文档要素进行多个块中的哪个包括上述文档文件内的数据的控制,或者还是按照每个上述文档要素或比上述文档要素上位的要素的层级的每个文档要素进行多个块中的哪个包括上述文档文件内的数据的控制的切换,通过上述索引信息的参照,来确定上述索引信息中表示包括上述字符信息这一意思的块,对确定出的上述块进行基于上述检索字符串的字符串检索。
根据一方式,检索装置包括:受理部,其受理检索字符串;存储部,其基于上述受理部受理的上述检索字符串所包含的字符信息,来存储将通过分割而得到的各块与上述各块是否包括上述字符信息建立对应的索引信息,该分割通过根据文档文件中是否存在具有规定数以上的子要素的文档要素,以如下方式切换而进行,即,是按照上述子要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制,或者还是按照每个上述文档要素或比上述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括上述文档文件内的数据的控制的切换;锁定部,其通过存储在上述存储部中的上述索引信息的参照,来确定上述索引信息中表示包括上述字符信息这一意思的块;以及检索部,其对确定出的上述块进行基于上述检索字符串的字符串检索。
根据本发明的一个方面,能够抑制针对文档数据的字符串检索的对象锁定中的锁定噪声
附图说明
图1A以及B是表示索引信息的例子、和基于索引信息而生成的位序列的例子。
图2A表示文档数据的层级结构例子。
图2B表示文档数据的层级结构例子。
图3表示计算机1的功能模块的例子。
图4表示生成部13的功能模块的例子。
图5表示块编号和块读出位置的对应关系。
图6表示锁定部15的功能模块的例子。
图7表示计算机1的硬件构成的例子。
图8表示在计算机1中进行动作的软件的构成例子。
图9表示索引生成的处理步骤例子。
图10A表示文档结构解析处理的处理步骤例子。
图10B表示文档结构解析处理的处理步骤例子。
图11表示文档结构表的例子。
图12A表示文件分割处理的处理步骤例子。
图12B表示文件分割处理的处理步骤例子。
图13表示全文检索处理的处理步骤例子。
图14表示索引参照处理的处理步骤。
图15表示储存检索结果的表的例子。
具体实施方式
在说明详细前,先对使用了索引信息的字符串检索的对象文件的锁定进行说明。
图1A表示基于检索对象的文件组F1~Fn的索引信息I1。索引信息I1的最上段所示的文件编号是分别与检索对象的文件组F1~Fn对应的编号。在索引信息中字符信息组C1~Cm被分别同与文件组F1~Fn中的是否存在有关的位序列建立对应。
字符信息组C1~Cm所包含的字符信息Cj例如是1个字符或多个字符的组合的字符串。或者字符信息Cj可以是与字符信息对应的二进制代码的一部分。字符信息组C1~Cm也可以是假定使用的字符(例如分配有JIS码的字符)的所有组合。例如假设文件组F1~Fn中的某个文件Fi(文件编号为i)是包括“人生はクローズアップ見れば悲劇ロングショット見れば喜劇(人生以放大镜来看是悲剧,以望远镜来看是喜剧)”这种字符串的文件。该情况下,文件Fi是包括“人”、“生”、“は”…、“劇”这种字符信息的文件,也是包括“人生”、“生は”、“はク”…、“喜劇”这种字符信息的文件。在本实施方式中,例示字符信息组C1~Cm的每一个是2个字符的字符信息的情况。
通过针对1~n的各个数i,在同字符信息Cj和文件Fi对应的存储区域中存储与文件Fi是否包括字符信息Cj有关的信息来表示字符信息Cj包含于文件组F1~Fn中的哪个。例如在索引信息I1中,与文件Fi中是否包括字符信息Cj有关的是否存在信息的储存目的地通过将与字符信息Cj对应的二进制代码代入散列函数而获得的地址Pj、和文件编号i来表示。所谓与字符信息对应的二进制代码例如如果是与字符信息“喜劇”对应的二进制代码(基于JIS的字符码),则是0x346E3760(0x意味是16进制表记)。
在对一个字符信息Cj分配一个地址Pj的情况下,对于字符信息Cj的是否存在信息,如果在文件Fi存在字符信息Cj则以“1”值的位来表示,如果在文件Fi中不存在字符信息Cj则以“0”值的位来表示。另一方面,也存在多个字符信息(例如,字符信息Cj和字符信息Ck)被分配给一个地址Pj的情况。该情况下,对于是否存在信息,如果在文件Fi中存在字符信息Cj以及字符信息Ck中的至少一个则以“1”值的位来表示,如果在文件Fi中字符信息Cj以及字符信息Ck均不存在则以“0”值的位来表示。顺便说明,如何表示是否存在信息可以适当地变更,也可以是值为“1”表示不存在,值为“0”表示存在。而且,也可以通过多个位来表示是否存在。在图1A所示的索引信息中,包括字符信息这一意思以“1”值的位来表示。
例如,在与地址Pj对应的字符信息仅是“喜劇”的情况下,通过索引信息I1的地址Pj所示的位序列可清楚“喜劇”包含于文件编号2、3、i的文件的每一个。另外,例如在“劇王”和“見れ”双方与一个地址Pk对应的情况下,索引信息I1的地址Pk所示的位序列表示对于文件组F1~Fn的每一个,是包括“劇王”和“見れ”中的至少一方、还是“劇王”和“見れ”都不包括中的任意一个。例如,文件编号i、n-1的文件表示包括“劇王”和“見れ”中的至少一方,文件编号1、2、3、j、k等的文件表示“劇王”和“見れ”都不包括。
如图1A所示,由于文件Fi也包括“喜劇”以外的字符信息,所以不光“喜劇”,与“人生”、“生は”、…等检索字符串中的其它字符信息对应的位置的位也表示“1”值。另外,虽然图1A中省略,但对于文件组F1~Fn的每一个,与各文件所包含的字符信息对应的位置的位也表示“1”值。
在对文件组F1~Fn进行检索的情况下,使用图1A所示的索引信息I1来进行字符串检索对象的文件的锁定。假设受理例如包括“喜劇王”这个检索字符串的检索请求。在检索字符串的“喜劇王”中包括“喜劇”这个字符信息和“劇王”这个字符信息。该情况下,成为字符串检索对象的文件例如通过基于“喜劇”所计算的地址(图1A中为Pj)所示的位序列、和基于“劇王”所计算的地址(图1A中为Pk)所示的位序列来锁定。例如,与地址Pj对应的位序列、和与地址Pk对应的位序列的逻辑积运算结果即,位序列A1如图1B所示。
在图1B所示的位序列A1中,与成为“1”的位对应的文件(图1B中,文件编号i的文件)成为字符串检索对象的文件。在图1A的例子中,多个字符信息(例如,“見れ”以及“劇王”)与地址Pk对应。文件Fi不包括“劇王”但包括“見れ”。因此,对应于与“見れ”以及“劇王”对应的指针Pk的位序列中的、文件Fi的位也为“1”。若使用这样的索引信息I1以字符信息“喜劇”以及“劇王”来锁定检索对象的文件,则不管文件Fi是否不包括“劇王”,都判断为包括“喜劇”和“劇王”双方的文件,成为检索对象的文件。
在使用半角字符的情况下也相同。假设例如文件Fi包括“Life isa tragedy when seen in close-up,but a comedy inlong-shot.”这种字符串。于是,例如,在索引信息中,基于字符信息“come”而计算出的地址Pj、和文件编号i所示的位置的位表示“1”。另外,例如基于字符信息“medy”而计算出的地址Pk、和文件编号i所示的位置的位表示“1”。若检索字符串为“comedian”,则例如检索对象的文件基于索引信息锁定为包括“come”以及“dian”双方的文件。此时,若偶尔基于字符信息“dian”而计算出的地址与基于字符信息“medy”而计算出的地址Pk相同,则不管文件Fi是否不包括“dian”,都成为“comedian”的检索对象的文件。
如上述那样,因与不同的多个字符信息对应的地址重复,在文件锁定中可能产生噪声。这是因为在文件Fi不包括的字符信息(“劇王”、“dian”等)、和文件Fi所包括的字符信息(“見れ”、“medy”等)中,表示是否存在信息的储存位置的指针重复。由于文件Fi所包括的字符信息(“見れ”、“medy”等)的存在,位变为“1”的状态,所以在索引信息中并无示出文件Fi不包括的字符信息(“劇王”、“dian”等)不存在。顺便说明,由于在不包括对应的指针重复的多个字符信息双方的情况下,位变为“0”的状态,所以可知相对于索引信息、多个字符信息中的哪个都不存在。
换句话说,越是文件内所包含的字符信息的指针与文件内不包含的字符信息的指针容易重复的文件,越容易产生锁定噪声。若以学术书等电子书籍为例进行例举,与本篇的文件相比,索引、目录等的文件容易包较多字符种类、即使是相同的电子书籍内的文件,文件所包含的字符信息的种类数也存在差别。另外,即使是本篇的文件彼此,在数据尺寸较大的文件和较小的文件中,文件所包含的字符信息的种类容易出现差别。在文件内所包含的字符信息的种类的数量不同的文件彼此中,一方文件(文件内的字符种类较多)与另一方的文件(文件内的字符种类的数量较少)相比,因地址的重复,容易产生未示出字符信息的不存在的情况。这不光是学术书,在新书等中也具有同样的特征。
根据上述的理由,若文件组F1~Fn的索引信息整体上变为稀疏的行列,则在包括多数种类的字符信息的文件中容易产生因字符信息彼此的指针重复所引起的锁定噪声。如前述,作为包括较多字符种类的文件的一个例子,例举文件尺寸比其它文件大的文件。若文件尺寸较大的文件变为锁定噪声,则与其它文件相比不必要的字符串检索的处理量变大。
对于索引信息而言,可以不是文件单位,而将与是否包括字符信息有关的信息与文件分割而得的每个块建立对应。因此,抑制成为锁定噪声而进行字符串检索时读出的数据量。
然而,有时文档结构根据文档数据而较大地不同。例如,辞典等具有罗列特定的层级的文档要素(例如,与节、项等对应的文档要素)的文档结构。该情况下,文档要素的每一个具有独立的意思内容,例如相邻的文档要素彼此大多不包括共同的用语(较多地包括不是共同的用语)。另一方面,学术书等是文档要素彼此具有层级关系的文档结构,具有共同的母要素的子要素彼此容易使用共同的用语。并且,小说等例如处于仅1个层级且文档要素的数量较少的趋势。在小说中容易使用贯穿本篇共同的用语。
如前述,在辞典等中常常包含特定的文档要素的罗列。所谓文档要素的罗列,大多使用于以某些共同的形式表现针对独立的别个现象的信息的情况。例如,如果是辞典的形式,则对各项目对应单词,列举的各项目以单词、和与该单词有关的信息(意思、用法等)这一共同的形式表现。该情况下,例如,将以“あ”为前端的字符即单词组作为母要素的子要素是“あしか”或“足柄山”等。
假设例如将与是否包括字符信息有关的信息与分割文件而得的每个块建立对应来生成索引信息。如前述,在辞典等包括文档要素的罗列的文档结构中,子要素彼此未必包括共同的用语。
图2A表示通过HTML(Hyper Text Markup Language)等标记语言所描述的文档数据的层级结构的例子。若假设某个文件的<body>标签与<h1>标签、<h2>标签等标题标签的关系如图2A,则包括多个将以<h1>标签识别的要素作为共同的母要素的子要素。该情况下,如前述,可以认为将第一个<h1>标签作为母要素的子要素(以<h2>标签识别的要素)彼此使用的用语的共同性薄弱。因此,虽然不尝试按照以<h1>标签识别的母要素单位的分割,但进行按照以<h2>标签识别的子要素单位的分割即可。例如如图2A所示的(A),如块AA-1和块AA-2那样地分割也可以。
另一方面,学术书等如前述,具有共同的母要素的子要素彼此容易包括共同的用语。若假设例如有叙述与卓别林有关的考察的文档,则当然遍及整个文档,包括“电影”、“喜剧”等单词。另一方面,在叙述电影的特征的位置(章、节、项等)中常常使用“出演”、“作品的风格”、“故事”等单词、表现思想的单词,在对生涯进行叙述的位置中常常使用“结婚”、“移居”等单词。在叙述电影的特征的位置例如也细分为对角色的类型进行叙述的位置、叙述音乐的特征的位置。另外,对于对生涯进行叙述的位置也细分为例如对成长进行叙述的位置、对丑闻进行叙述的位置。
例如,通过块分割,获得包括叙述电影的特征的位置(母要素1)中的叙述音乐特征的位置(子要素1-2)、和对生涯进行叙述的位置(母要素2)的块。于是,在该块中,子要素1-2常常包括“出演”、“作品的风格”、“故事”、表现思想的单词等母要素1的特征性单词、和“结婚”、“移居”等母要素2的特征性单词双方。例如如基于与这样分割而成的块对应的索引信息来进行字符串检索的对象文件的锁定,则对于“作品的风格”这种检索字符串,不管母要素1还是母要素2都被锁定。
另一方面,在母要素1为1块、在母要素2为1块的情况下,母要素1的块也许不包括“结婚”、“移居”等母要素2的特征性单词,母要素2的块也许不包括“出演”、“作品的风格”、“故事”等母要素1的特征性单词。如果母要素的2的块不包括母要素1的特征性单词,那么若用“作品的风格”等检索字符串锁定字符串检索的对象,则连母要素2的块也不锁定就结束。
图2B表示文档数据的层级结构的例子。图2B所示的(A)、(B)、(C)分别表示文件的块分割例子。在分割例(A)中,以与<h1>标签对应的层级的要素分割,得到块BA-1以及块BA-2。在另一分割例(B)中,以与<h3>标签对应的层级的要素分割,得到块BB-1以及块BB-2。在另一分割例(C)中,以与<h3>标签对应的层级的要素分割,得到块BC-1以及块BC-2。在如分割例(B)那样分割的情况下,若在<h1>标签识别的要素中的第一个要素中特征性用语包含于检索字符串,则该要素的一部分子要素包含于块BB-2,所以块BB-2也变为字符串检索的对象。同样地,若如分割例(C)那样进行分割,则在<h1>标签识别的要素中的第一个要素中特征性用语包含于检索字符串的情况下,块BC-1也成为字符串检索的对象。
如上述,在索引信息生成中进行块分割的情况下,不包括数据尺寸较大的块、和对于具有一部分文档结构的文档数据,与上位层级的单位一并进行分割有助于字符串检索的对象的高效锁定。即,通过根据文档结构来决定块分割位置的判断基准的优先度的控制,来抑制由生成的索引信息所引起的文件锁定的噪声。
顺便说明,可以认为在只有一个包括多个子要素的母要素等的、小说等文档结构中,虽然进行块分割,但分割而成的块彼此使用共同的单词。然而,通过预先进行块分割,在块彼此进行不是共同的单词的检索的情况下,也抑制字符串检索的读出量。
作为在一个要素存在规定数以上的子要素的例子,使用了图2A所示的文档数据的层级结构。例如,在广辞苑第五版(1998)中,首字符为“し”的单词数是15921,首字符为“か”的单词数是13895。另外,以“ぬ”、“る”、“を”、“ん”等为首字符的单词较少,但首字符为“ぬ”的单词数是662,首字符为“る”的单词数是444,首字符为“を”的单词数是6,首字符为“ん”的单词数是8。若除去“を”、“ん”,则以各个首字符为母要素,各个子要素存在444以上。
另一方面,例如在Hadoop第2版(Tom White著,2011)中,在第12章和第15章,是至第8节为止存在的程度。在该例子中,相对于一个母要素,子要素的数量为8以下。
如果是上述的例子,则使用于判断文档结构的规定数例如可以是“10”也可以是“100”。若规定数为“10”,则在一个要素存在10个以上的子要素的情况下,控制为在该子要素的层级进行块分割。
在数据库中也存在同样的层级结构的不同。在数据库中针对记录单位或页单位,表示各个字符信息是否存在的索引信息被使用于检索。也可以不是记录单位或页单位,而将针对以包括多个记录或者多个页的方式划分的块单位,表示各个字符信息是否存在的索引信息使用于检索。
在数据库中,也与电子书籍同样地在层级结构具有特征。积蓄管理信息、日志信息等的数据库为了追加作为各现象的记载的记录,按记录单位罗列数据。另一方面,在根据各现象而变更所记载的数据模式的情况下,在各个现象的记载中所需要的信息不同。
例如,如果是顾客信息的数据库,则存在针对各顾客储存有与ID、公司名、部门、担当者、住所、电话号码等项目对应的信息的数据库。这种数据库是例举作为顾客信息的各记录的形式,具有与电子辞典中的辞典类似的层级结构。
例如,在储存制药的疗效数据的数据库中,按照每1次的给药,储存给药的历史信息。在历史信息中生成包括给药时刻、给药药剂、疗效者的状态(体温等)、副作用症状等信息的记录。然而,根据疗效者的特性(疗效者自身具有的疾病等)来设置储存表示疗效者的状态的信息的项目,或者设置储存与副作用有关的信息的项目等,数据结构根据疗效者而不同。由于这样根据现象的特性来决定层级,所以具有与电子辞典中的学术书类似的层级结构。另外,对于数据而言,如果不产生副作用则以少量的数据结束,但在产生副作用的情况下数据量变多。
如上述那样,在数据库中层级结构的特征也不同。因此,与电子书籍同样地,通过根据层级结构的特征来进行块分割,从而抑制产生字符串检索对象的锁定的噪声。
图3表示第1实施方式中的计算机1的功能模块的例子。计算机1包括处理部11以及存储部12。处理部11生成索引信息,并进行使用了生成的索引信息的检索。存储部12存储使用于处理部11的处理的信息(例如成为检索对象的文件组F1~Fn、索引信息等)。
处理部11包括生成部13。生成部13生成索引信息,并存储于存储部12。
图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这一意思的信息。
图5表示储存块编号与块的读出位置的对应关系的表T1的例子。控制部131对分割而得到的块的每一个分配编号,将块的读出位置与块编号建立对应地储存于表T1。表T1的信息被后述的字符串检索部16参照。
如图3所示,处理部11还包括检索控制部14、锁定部15以及字符串检索部16。检索控制部14通过控制锁定部15和字符串检索部16来进行与检索要求对应的检索处理。锁定部15使用由生成部13生成的索引信息来进行检索对象文件的锁定。例如,检索控制部14从受理的检索请求所包含的检索字符串提取字符信息Ca,并将提取出的字符信息Ca通知给锁定部15。锁定部15将块组B1~Bp中除了不包括通知给检索控制部14的字符信息Ca的文件的块的块编号通知给检索控制部14。字符串检索部16针对被锁定部15锁定的块,从储存在表T1中的读出位置读出块的数据,并基于检索控制部14受理的检索请求来进行字符串检索。
图6表示锁定部15的功能模块的例子。锁定部15包括参照部151以及判定部152。参照部151读出存储在存储部12中的索引信息中的、与从检索控制部14通知的字符信息Ca对应的部分。根据字符信息Ca来计算表示与字符信息Ca对应的部分的地址。例如,参照部151基于字符信息Ca来计算地址,并读出与该地址对应的位序列。判定部152基于参照部151读出的位序列来判定不包括字符信息Ca的块,除了块组B1~Bp中不包括字符信息Ca的块,将块编号通知给字符串检索部16。
检索控制部14也可以从检索字符串提取多个字符信息(例如字符信息Ca、字符信息Cb)。因此,参照部151针对多个字符信息Ca、Cb的每一个,读出索引信息的对应的位序列。另外,判定部152计算与字符信息Ca对应的位序列所包含的是否存在信息和与字符信息Cb对应的位序列所包含的是否存在信息的逻辑积(AND),并基于该计算结果来判定各文件中的字符信息Ca、Cb的是否存在。判断为不包括字符信息Ca、Cb中的任意一个的文件的文件编号不通知给字符串检索部16。
图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、通信接口(I/F)310等。各个硬件经由总线311连接。通信I/F310进行经由网络4的通信的控制。输入接口306与输入设备307连接,将从输入设备307接收到的输入信号传递到处理器301。输出接口308与输出设备309连接,使输出设备309执行与处理器301的指示对应的输出。
RAM302是可读写的存储器装置,例如使用SRAM(Static RAM:静态随机存取存储器)、DRAM(Dynamic RAM:动态随机存取存储器)等半导体存储器,或者即使不是RAM也是闪存等。ROM303也包括PROM(Programmable ROM:可编程只读存储器)等。驱动器装置304是进行记载在存储介质305中的信息的读出或写入中的至少任意一方的装置。存储介质305存储由驱动器装置304写入的信息。存储介质305例如是硬盘、CD(Compact Disc:光盘)、DVD(Digital VersatileDisc:数字通用盘)、蓝光光盘等存储介质。另外,例如计算机1针对多个种类的存储介质分别设置驱动器装置304以及存储介质305。
输入设备307是根据操作来发送输入信号的装置。输入信号例如是键盘、安装在计算机1的主体上的按钮等按键装置、鼠标、触摸面板等定位设备。输出设备309是根据计算机1的控制来输出信息的装置。输出设备309例如是显示器等图像输出装置(显示设备)、扬声器等声音输出装置等。另外,例如,触摸屏等输入输出装置作为输入设备307以及输出设备309被使用。
另外,存储于存储介质305中的信息也可以存储在经由网络4连接的计算机2所控制的存储装置3中。该情况下,处理器301经由通信接口310获取存储在存储装置3中的信息,从而进行读出部132、字符串检索部16等对块的读出。
处理器301将存储在ROM303、存储介质305中的程序读出至RAM302,并按照读出的程序的顺序来进行处理部11的处理。此时RAM302作为处理器301的工作区被使用。存储部12的功能通过ROM303以及存储介质305存储程序或文件组F1~Fn,并将RAM302用作处理器301的工作区域来实现。对处理器301读出的程序使用图8来进行说明。
图8表示计算机1中进行动作的软件的构成例子。在计算机1中,进行图7所示的硬件组21的控制的OS22(操作系统)进行动作。处理器301以按照OS22的步骤进行动作,进行硬件21的控制、管理,从而由硬件21执行应用程序、中间件的处理。并且,在计算机1中,例如索引生成程序23a、检索处理程序23b等被读出至RAM302并由处理器301执行。另外,处理器301进行基于索引生成程序23a的处理,从而实现(将这些处理基于OS22来控制硬件21)生成部13的功能。并且,处理器301进行基于检索处理程序23b的处理,从而实现(将这些处理基于OS22来控制硬件21)检索控制部14、锁定部15以及字符串检索部16的功能。图8中索引生成程序23a和检索处理程序23b作为独立的程序示出,也可以将两程序合并作为一个程序。
图9表示索引生成的处理步骤例子。若起动索引生成程序23a(S100),则控制部131进行预处理(S101)。S101的预处理例如是将检索对象文件组F1~Fn的文件路径的列表、字符信息组C1~Cm读出至存储部12的处理等。控制部131判断是否请求索引信息的生成(S102),直至请求索引信息的生成为止反复进行判断(S102:否)。若请求索引信息的生成(S102:是),则控制部131确保存储索引信息的存储区域(S103)。例如,在S103中所确保的存储区域内的各位被事先设置为“0”。
读出部132参照文件路径的列表,读出检索对象文件组F1~Fn,解析部133对读出的文件的每一个进行解析文档结构的处理(S104)。控制部131根据解析部133的文档结构的解析结果来分割文件,对于通过分割所得到的块,将块编号和表示块的读出位置的信息储存于图5所示的表T1中(S105)。S104以及S105的详细处理后述。
控制部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)。即,控制部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的处理。
控制部131进行文件组F1~Fn的索引信息的生成处理完成这一意思的通知(S112)。在S112中,控制部131还将S103中确保的区域内的信息作为索引文件进行保存。S112的处理后,判定是否接受到结束指示(S113)。在接受到结束指示的情况下(S113:是),处理部11结束索引生成程序23a(S114)。在未接受到结束指示的情况下(S113:否),再次进行S102的处理。
接着对S104的文档结构解析处理进行说明。图10A以及图10B表示文档结构解析处理的处理步骤例子。在文档结构解析处理中,对各文件进行文件内所包含的各文档要素具有的子要素的数量的计数。
若进行文档结构解析处理(S200),则控制部131按顺序从文件F1~Fn选择文件,读出部132读出所选择的文件Fi(S201)。解析部133按顺序从文件Fi读出标签信息(S202)。解析部133判定在S202中读出的标签信息是否是</body>标签(S203)。在S202中读出的标签信息是</body>标签的情况下(S203:是),解析部133将针对文件Fi作成的文档结构表储存于存储部12(S204)。如果有未进行文档结构解析处理的文件,则解析部133进行S201的处理,如果没有未进行文档结构解析处理的文件,则解析部133结束文档结构解析处理(S206),进行S105的处理(S205)。
在S202中读出的标签信息不是</body>标签的情况下(S203:否),判定在S202中读出的标签信息是否是表示文档结构的层级的标签信息(S207)。所谓表示文档结构的层级的标签信息例如是<body>、<h1>、<h2>…等。在S202中读出的标签信息不是表示层级的标签信息的情况下(S207:否),再次进行S202的处理。
在S202中读出的标签信息是表示层级的标签信息的情况下(S207:是),解析部133判定读出的标签信息是否是表示开始的标签信息(S208)。所谓表示开始的标签信息例如以<body>标签来说,<body>表示开始,</body>为结束。例如对于<h1>,<h1>表示开始,</h1>表示结束。在S202中读出的标签信息不是表示开始的标签的情况下(S208:否),解析部133设置后述的子要素数计数的结束标志(S214)。
在S202中读出的标签信息是表示开始的标签(S208:是)情况下,解析部133在文档结构表T2生成记录(S209)。在针对各文件的初次,解析部133确保文档结构表T2的储存区域。在S209中,解析部133生成新的标签ID,并将生成的标签ID储存在文档结构表的标签ID项目中。例如,标签ID通过将前次生成的ID的值增加1来生成。
图11表示文档结构表T2。文档结构表T2包括标签ID、层级数、子要素数以及标志的项目。在标签ID的项目中储存分配给文档内所包含的标签信息的ID。层级数储存标签信息表示的层级数。子要素数储存标签信息具有的子要素数。另外,标志是表示针对储存在文档结构表中的标签信息的子要素的数量的计数是否结束的标志。针对文件F1~Fn各个生成文档结构表T2。
若在文档结构表T2生成记录,则解析部133在生成的记录的层级数的项目中储存读出标签信息所示的层级数(S210)。如果读出的标签信息例如是<body>则层级数为0,如果是<h1>则层级数为1,如果是<h2>则层级数为2,如果是<h3>则层级数为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的处理。
接下来,对S105的文件分割处理进行说明。图12A以及图12B表示文件分割处理的处理步骤例子。在文件分割处理中,判定部134判定从各文件读出的数据是否超过规定的数据尺寸。
若开始文件分割处理(S300),则控制部131选择文件F1~Fn中的任意一个(S301)。即,选择1~n中的一个。控制部131读出与在S301中选择的文件对应的文档结构表T2(S302)。接下来,判定部134在读出的文档结构表T2提取子要素数为规定数以上的记录(S303)。在文档结构表T2中存在子要素数为规定数以上的记录的情况下(S303:是),选择子要素数为规定数以上的记录中的层级数最小的记录的层级数(S304)。另外,在不存在规定数以上的子要素的情况下(S303:否),层级数选择0(S305)。
接下来,判定部134从文件Fi读出表示所选择的层级数的要素。并且,判定部134对读出的要素的数据量进行计数(S306)。例如,判定部134按顺序从文档结构表T2提取所选择的层级数储存在层级数的项目中的记录。在S306中,判定部134根据提取出的记录所示的标签信息,从文件Fi读出至对应的结束标签为止的数据。
接下来,判定部134判定在S306中读出的数据量是否小于第1规定值(S307)。在S306中读出的数据量小于第1规定值的情况下(S307:是),判定文件Fi内是否有未读出的数据(S308)。
在文件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的处理。
第2规定值例如使用比第1规定值小的值。如前述,由于可以认为以上位的层级的要素完成块分割很难产生锁定噪声,所以有即使数据尺寸稍微变大,也以上位层级的要素进行块分割的优点。
在S306中读出的数据量不小于第1规定值的情况下(S307:否),将S306的数据读出紧前的读出位置存储于表T1(S317)。并且,判定部134将决定读出数据的单位的层级数增加1(S318)。由此,判定部134能够以更微细的单位将文件分割为块单位。接下来,判定部134基于在S318中决定的层级数从文件Fi读出数据,并对数据量进行计数(S319)。另外,判定部317判定在S319中读出的数据量是否小于第1规定值(S320)。在S319中读出的数据量不小于第1规定值的情况下(S320:否),判定部134再次进行S318。
在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的处理。
在S321中判定为还未读出的(S321:否)情况下,判定部134进行与S311以及S312相同的处理(S326以及S327)。接下来,判定部134使选择的层级数减1(S328)。判定部134判定所选择的层级数是否是0,或者是否是在S304中选择的层级数(S329)。在S329的判定中,在所选择的层级数为0,或者是在S304中选择的层级数的情况下(S329:是),判定部134再次进行S306的处理。在S329的判定中均不满足的情况下(S329:否),判定部134再次进行S319的处理。
在文件Fi内没有未读出的数据的情况下(S308:否),判定部134清除累计值(S313)。如果文件Fi不是文件Fn,则生成部13从S301再次进行处理(S314)。在文件Fi是文件Fn的情况下,将分割文件F1~Fn而得到的块的总数设为p(S315)。并且,生成部13进行S106的处理(S316)。
顺便说明,例如在S307中判定为否的情况下、在S310中判定为是的情况下,也可以将读出位置返回到直线上读出句号的读出位置。因此,避免分割成块的情况下的分界线成为语句的中途。并且,例如也可以将读出位置返回到紧前的换行。
图13表示全文检索的处理步骤例子。若起动检索处理程序23(S400),则检索控制部14进行预处理(S401)。S401的预处理是图5所示的表T1的读出、索引信息的读出。检索控制部14判断是否接受到检索请求(S402),直至接受到检索请求为止反复S402的判断(S402:否)。在接受到检索请求的情况下(S402:是),执行索引参照处理(S403)。
图14表示索引信息的参照处理步骤的例子。若执行S403(S500),则检索控制部14取出检索请求所包含的检索字符串,并提取字符信息C1~Cm中的检索字符串所包含的字符信息Ca、Cb、…(S501)。
若检索控制部14提取字符信息Ca、Cb、…,则锁定部15针对块组B1~Bp的每一个,判断是否是不包含被提取出的字符信息Ca、Cb、…中任意一个的块。具体而言,首先,选择提取出的字符信息中的一个(S502)。参照部151基于所选择的字符信息来计算地址,并读出储存在计算出的地址所示的位置的信息(S503)。在S503中,参照部151通过与S109相同的运算来计算地址。此时,例如,参照部151读出与将所选择的字符信息的二进制代码代入规定的散列函数而得到的值对应的位序列。在提取出的字符信息Ca、Cb、…中有未选择的字符信息的情况下,锁定部15再次进行S502的处理,在提取出的字符信息Ca、Cb、…没有未选择的字符信息的情况下,结束索引参照处理(S504、S505)。
若索引参照处理结束,则锁定部15提取检索对象的块的块编号(S404)。在S404中,例如,判定部152针对字符信息Ca、Cb、…的每一个,计算由参照部151读出的位序列彼此的逻辑积(AND)。判定部152生成表示在计算出的位序列中是“1”的位是第几个的编号。例如,如果在计算出的位序列中,第x个位和第y个位为“1”,则判定部152生成x、y。
检索控制部14选择作为由判定部152生成的编号x、y、…的任意一个的编号i(S405)。字符串检索部16读出选择的编号i为块编号的块Bi(S406)。字符串检索部16在图5所示的表T1中从与块编号i对应的读出位置读出块。字符串检索部16用检索字符串检索读出的块Bi(S407)。例如,字符串检索部16在块Bi内检测出与检索字符串一致的字符串的情况下,生成表示一致的字符串的块Bi内的位置的信息,并与块Bi的块编号i建立关联地存储于存储部12(参照图15)。例如,预先设置对与检索字符串进行对照的数据的量进行计数的计数器,将检测出字符串一致时的计数器的值设为表示文件内的位置的信息。
图15表示储存检索结果的表的例子。图15所示的表T2包括表示与检索字符串一致的字符串存在的位置的记录。与检索字符串一致的字符串的位置例如由包括字符串的块的编号、和每次读出各块的字符信息时增加1的计数器的值表示。例如在一致检测时读出计数器的值。
S407的处理后,如果由判定部152生成的编号x、y、…中有未选择的编号则检索控制部14进行S405的处理(S408)。在由判定部152生成的编号x、y、…中没有未选择的编号的情况下,检索控制部14进行S409的处理。
检索控制部14进行检索结果的输出处理(S409)。例如进行在S407的处理中提取储存在图15所示的表T2中的信息所示的位置的附近的字符串,并将提取出的字符串同与块编号对应的文件的文件名等一并使显示设备显示等的处理。
S409处理后,处理部11判断是否有结束的指示(S410)。在没有结束的指示的情况下(S410:否),检索控制部14进行S402的处理。在有结束的指示的情况下(S410:是),处理部11使检索处理程序22b结束(S411)。
符号说明
1…计算机;2…计算机;3…存储装置;4…网络;11…处理部;12…存储部;13…生成部;14…检索控制部;15…锁定部;16…字符串检索部;131…控制部;132…读出部;133…解析部;134…判定部;151…参照部;152…判定部。
Claims (8)
1.一种生成程序,其特征在于,
使计算机执行如下的处理:
根据文档文件中是否存在具有规定数以上的子要素的文档要素,进行如下的切换:即,是按照所述子要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制,或者还是按照每个所述文档要素或比所述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制的切换,
通过与所述切换对应的所述控制,将所述文档文件分割为所述多个块,
按照分割而得到的每个块,生成表示各块是否包括规定的字符信息的索引信息。
2.根据权利要求1所述的生成程序,其特征在于,
使所述计算机执行如下的处理:
在所述文档要素或比所述文档要素上位的文档要素的层级的文档要素的数据尺寸比规定值大的情况下,进一步按照下位1层级的每个文档要素执行所述控制。
3.根据权利要求1或者2所述的生成程序,其特征在于,
所述文档文件所包含的各文档要素是包含在从所述文档文件所包含的标签的开始标签到结束标签的范围内的字符信息组。
4.一种生成方法,其特征在于,
使计算机执行如下的处理:
根据文档文件中是否存在具有规定数以上的子要素的文档要素,进行如下的切换:即,是按照所述子要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制,或者还是按照每个所述文档要素或比所述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制的切换,
通过与所述切换对应的所述控制,将所述文档文件分割为所述多个块,
按照分割而得到的每个块,生成表示各块是否包括规定的字符信息的索引信息。
5.一种生成装置,其特征在于,包括:
分割部,其根据文档文件中是否存在具有规定数以上的子要素的文档要素,进行如下的切换:即,是按照所述子要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制,或者还是按照每个所述文档要素或者比所述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制的切换,并通过与所述切换对应的所述控制,将所述文档文件分割为所述多个块;以及
生成部,其按照分割而得到的每个块,生成表示各块是否包括规定的字符信息的索引信息。
6.一种检索程序,其特征在于,
使计算机执行如下的处理:
若受理检索字符串,则基于所述检索字符串所包含的字符信息,来参照将通过分割而得到的各块与所述各块是否包括所述字符信息建立对应的索引信息,该分割通过根据文档文件中是否存在具有规定数以上的子要素的文档要素,以如下方式切换而进行,即,是按照所述子要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制,或者还是按照每个所述文档要素或比所述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制的切换,
通过所述索引信息的参照,来确定所述索引信息中表示包括所述字符信息这一意思的块,
对确定出的所述块进行基于所述检索字符串的字符串检索。
7.一种检索方法,其特征在于,
使计算机执行如下的处理:
若受理检索字符串,则基于所述检索字符串所包含的字符信息,来参照将通过分割而得到的各块与所述各块是否包括所述字符信息建立对应的索引信息,该分割通过根据文档文件中是否存在具有规定数以上的子要素的文档要素,以如下方式切换而进行,即,是按照所述子要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制,或者还是按照每个所述文档要素或比所述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制的切换,
通过所述索引信息的参照,来确定所述索引信息中表示包括所述字符信息这一意思的块,
对确定出的所述块进行基于所述检索字符串的字符串检索。
8.一种检索装置,其特征在于,包括:
受理部,其受理检索字符串;
存储部,其基于所述受理部受理的所述检索字符串所包含的字符信息,来存储将通过分割而得到的各块与所述各块是否包括所述字符信息建立对应的索引信息,该分割通过根据文档文件中是否存在具有规定数以上的子要素的文档要素,以如下方式切换而进行,即,是按照所述子要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制,或者还是按照每个所述文档要素或比所述文档要素上位的要素的层级的每个文档要素进行在多个块中的哪个包括所述文档文件内的数据的控制的切换;
锁定部,其通过存储在所述存储部中的所述索引信息的参照,来确定所述索引信息中表示包括所述字符信息这一意思的块;以及
检索部,其对确定出的所述块进行基于所述检索字符串的字符串检索。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/003592 WO2013179348A1 (ja) | 2012-05-31 | 2012-05-31 | インデックス生成プログラム及び検索プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104380286A true CN104380286A (zh) | 2015-02-25 |
Family
ID=49672607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280073480.3A Pending CN104380286A (zh) | 2012-05-31 | 2012-05-31 | 索引生成程序以及检索程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150088944A1 (zh) |
EP (1) | EP2857986A4 (zh) |
JP (1) | JP5880699B2 (zh) |
CN (1) | CN104380286A (zh) |
WO (1) | WO2013179348A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844726A (zh) * | 2016-03-18 | 2016-08-10 | 吉林大学 | 一种手写签名签到管理系统 |
CN111727427A (zh) * | 2018-02-19 | 2020-09-29 | 日本电信电话株式会社 | 信息管理装置、信息管理方法和信息管理程序 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6209098B2 (ja) * | 2014-02-07 | 2017-10-04 | 富士通株式会社 | データ管理プログラム、データ管理方法、及びデータ管理システム |
US10394870B2 (en) * | 2014-06-30 | 2019-08-27 | Hitachi, Ltd. | Search method |
EP3608800A4 (en) * | 2017-04-06 | 2020-04-01 | Fujitsu Limited | INDEX GENERATION PROGRAM, INDEX GENERATION DEVICE, INDEX GENERATION METHOD, SEARCH PROGRAM, SEARCH DEVICE, AND SEARCH METHOD |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1206883A (zh) * | 1997-07-01 | 1999-02-03 | 株式会社日立制作所 | 结构化文档检索显示方法和装置 |
CN1831825A (zh) * | 2005-03-11 | 2006-09-13 | 株式会社东芝 | 文档管理方法和装置以及文档搜索方法和装置 |
CN102236697A (zh) * | 2010-04-27 | 2011-11-09 | 卡西欧计算机株式会社 | 检索装置以及检索方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438657A (en) * | 1992-04-24 | 1995-08-01 | Casio Computer Co., Ltd. | Document processing apparatus for extracting a format from one document and using the extracted format to automatically edit another document |
JPH06290217A (ja) * | 1993-03-31 | 1994-10-18 | Ricoh Co Ltd | 文書検索方式 |
JP2758826B2 (ja) * | 1994-03-02 | 1998-05-28 | 株式会社リコー | 文書検索装置 |
JP3520554B2 (ja) * | 1994-03-11 | 2004-04-19 | ヤマハ株式会社 | ディジタルデータ再生方法及び装置 |
JPH08147311A (ja) * | 1994-11-17 | 1996-06-07 | Hitachi Ltd | 構造化文書検索方法及び装置 |
JPH08241325A (ja) * | 1995-03-03 | 1996-09-17 | Matsushita Electric Ind Co Ltd | 電子辞書及びその製造方法並びにインデックス圧縮・伸長装置 |
JPH08314966A (ja) | 1995-05-19 | 1996-11-29 | Toshiba Corp | 文書検索装置のインデックス作成方法及び文書検索装置 |
JP3518933B2 (ja) * | 1995-06-05 | 2004-04-12 | 株式会社日立製作所 | 構造化文書検索方法 |
JP3160201B2 (ja) * | 1996-03-25 | 2001-04-25 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 情報検索方法、情報検索装置 |
US5774715A (en) * | 1996-03-27 | 1998-06-30 | Sun Microsystems, Inc. | File system level compression using holes |
US6704753B1 (en) * | 1998-01-29 | 2004-03-09 | International Business Machines Corporation | Method of storage management in document databases |
US20020129006A1 (en) * | 2001-02-16 | 2002-09-12 | David Emmett | System and method for modifying a document format |
US7248737B2 (en) * | 2001-10-02 | 2007-07-24 | Siemens Corporate Research, Inc. | Page decomposition using local orthogonal transforms and a map optimization |
JP4322031B2 (ja) * | 2003-03-27 | 2009-08-26 | 株式会社日立製作所 | 記憶装置 |
US7366837B2 (en) * | 2003-11-24 | 2008-04-29 | Network Appliance, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
US7797310B2 (en) * | 2006-10-16 | 2010-09-14 | Oracle International Corporation | Technique to estimate the cost of streaming evaluation of XPaths |
US8412677B2 (en) * | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
AU2010300317C1 (en) * | 2009-10-02 | 2016-09-01 | Aravind Musuluri | System and method for block segmenting, identifying and indexing visual elements, and searching documents |
US9501661B2 (en) * | 2014-06-10 | 2016-11-22 | Salesforce.Com, Inc. | Systems and methods for implementing an encrypted search index |
-
2012
- 2012-05-31 WO PCT/JP2012/003592 patent/WO2013179348A1/ja active Application Filing
- 2012-05-31 JP JP2014518093A patent/JP5880699B2/ja active Active
- 2012-05-31 EP EP12877979.0A patent/EP2857986A4/en not_active Withdrawn
- 2012-05-31 CN CN201280073480.3A patent/CN104380286A/zh active Pending
-
2014
- 2014-11-28 US US14/556,012 patent/US20150088944A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1206883A (zh) * | 1997-07-01 | 1999-02-03 | 株式会社日立制作所 | 结构化文档检索显示方法和装置 |
CN1831825A (zh) * | 2005-03-11 | 2006-09-13 | 株式会社东芝 | 文档管理方法和装置以及文档搜索方法和装置 |
CN102236697A (zh) * | 2010-04-27 | 2011-11-09 | 卡西欧计算机株式会社 | 检索装置以及检索方法 |
Non-Patent Citations (2)
Title |
---|
刘景宁等: "对象存储设备端数据管理策略研究", 《计算机研究与发展》 * |
祝婕: "OLAP中基于维层次聚类层次块树数据立方体存储的研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844726A (zh) * | 2016-03-18 | 2016-08-10 | 吉林大学 | 一种手写签名签到管理系统 |
CN105844726B (zh) * | 2016-03-18 | 2018-04-17 | 吉林大学 | 一种手写签名签到管理系统 |
CN111727427A (zh) * | 2018-02-19 | 2020-09-29 | 日本电信电话株式会社 | 信息管理装置、信息管理方法和信息管理程序 |
CN111727427B (zh) * | 2018-02-19 | 2023-12-12 | 日本电信电话株式会社 | 信息管理装置、信息管理方法和记录介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5880699B2 (ja) | 2016-03-09 |
EP2857986A1 (en) | 2015-04-08 |
JPWO2013179348A1 (ja) | 2016-01-14 |
WO2013179348A1 (ja) | 2013-12-05 |
EP2857986A4 (en) | 2015-10-14 |
US20150088944A1 (en) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Burch et al. | Radcloud: Visualizing multiple texts with merged word clouds | |
EP3262497B1 (en) | Contextual zoom | |
JP4203967B1 (ja) | 情報探索支援方法および情報探索支援装置 | |
US9600134B2 (en) | Selecting portions of computer-accessible documents for post-selection processing | |
JP5587989B2 (ja) | 観点別特許マップの提供方法 | |
CN104380286A (zh) | 索引生成程序以及检索程序 | |
CN104603779A (zh) | 文本挖掘设备、文本挖掘方法和计算机可读记录介质 | |
Kabadjov et al. | Multilingual statistical news summarization | |
CN105069175A (zh) | 一种基于版本控制系统的信息检索方法及服务器 | |
JP6707410B2 (ja) | 文献検索装置、文献検索方法およびコンピュータプログラム | |
CN101685375B (zh) | 具备词典功能的电子装置 | |
CN111651580A (zh) | 一种用于文献检索的方法与设备 | |
JP6524668B2 (ja) | 文書検索装置、文書検索方法、プログラム、 | |
JP2009271671A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
JP5822009B2 (ja) | 検索システム、検索システムの制御方法、およびそのプログラム | |
CN117290302B (zh) | 目录分离方法、装置、计算机设备和存储介质 | |
JP6703698B1 (ja) | 情報提供システム | |
JP4572265B2 (ja) | 実績管理支援システム及び実績管理支援プログラム | |
CN114564554A (zh) | 一种数据检索方法、装置、设备及可读存储介质 | |
JP2007080205A (ja) | 検索装置及び検索方法 | |
JP2007011721A (ja) | 文書検索装置 | |
JP2005115753A (ja) | 検索結果処理装置、検索結果処理方法、検索結果処理プログラム、記録媒体及び検索結果処理システム | |
KR101742099B1 (ko) | 스프레드 시트 문서에 입력된 함수 검색 방법 및 장치 | |
JP5861382B2 (ja) | 入力支援プログラム、入力支援装置、及び入力支援方法 | |
JPH03210668A (ja) | 階層形式をもつ電子化マニユアルの処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150225 |
|
WD01 | Invention patent application deemed withdrawn after publication |