一种索引文件的录入和基于该索引文件的检索方法

文档序号:6634074阅读:216来源:国知局
一种索引文件的录入和基于该索引文件的检索方法
【专利摘要】本发明所提供的一种索引文件的录入方法,包括步骤:A、解析出目标文档的内容,对解析出的内容进行分词处理,生成不同的各个词语;B、解析出目标文档的权限信息,对解析出的权限信息进行分词处理,生成具有权限信息唯一性的格式;C、分别将步骤A和步骤B的分词结果加载一代表其属于所述目标文档的标识,并存储至索引文件。对应还提供一种基于上述方法录入的索引文件的检索方法,采用对权限信息的分词确保其唯一性,在检索过程中不用拆分检索请求,也无需进行二次检索,便同时满足文档检索结果与权限检索结果,避免在文档还原过程中因全文检索命中率的问题至权限不可用,提高检索文档检索命中率。
【专利说明】—种索引文件的录入和基于该索引文件的检索方法

【技术领域】
[0001]本发明涉及信息安全【技术领域】,特别涉及一种索引文件的录入和基于该索引文件的检索方法。

【背景技术】
[0002]现有基于权限的索引技术通常采用的技术为将权限信息存入数据库或索引文件,将所接收的权限与在先存入的进行比较。其中,常用方法包括:完全解偶的二次权限数据筛选,与三次库表检索结果与摘要的合并。具体包括以下步骤:带权限的全文检索请求;把检索请求拆分成两部分:全文检索、库表权限检索;合并全文检索结果与库表权限检索;返回全文检索请求的结果集。采用上述方法的不足在于:三次数据的处理,导致时间的大幅度延长。
[0003]另外,还可采用在库表中首次权限检索,利用库表中预绑定的全文检索引擎文档唯一标识与要查询的关键词进行二次检索。具体包括以下步骤:在全文中新建文档时把文档在全文检索引擎中的ID记录到数据库中;收到带权限的全文检索请求;把检索请求拆分成两部分:库表权限检索、全文检索;利用库表权限检索结果与要检索的关键字进行全文检索;返回全文检索请求的结果集。采用上述方法的不足在于:两次检索提高了检索效率,但是还是进行了二次检索;并且全文检索引擎中的ID发生变化时要追加到数据库表中,而全文检索引擎中的ID会经常发生变动,追加的数据分析会延长文档加入全文检索引擎的时间,而且检索时对文档ID进行了预分析。


【发明内容】

[0004]有鉴于此,本发明的主要目的在于,提供一种索引文件的录入和基于该索引文件的检索方法,采用对权限信息的进行分词,在检索过程中实现100%命中权限信息。
[0005]其中,索引文件的录入方法包括步骤:
[0006]A、解析出目标文档的内容,对解析出的内容进行分词处理,生成不同的各个词语;
[0007]B、解析出目标文档的权限信息,对解析出的权限信息进行分词处理,生成具有权限信息唯一性的格式;
[0008]C、分别将步骤A和步骤B的分词结果加载一代表其属于所述目标文档的标识,并存储至索引文件。
[0009]由上,采用对权限信息的分词确保其唯一性,在检索过程中实现100%命中权限信息。并且,无需索引文件绑定到数据库,当索引文件变化时数据库不会做任何变化,当数据库发生变化时只要把原数据同步到新数据库就能做到恢复。同时不用因检索引擎的同一文件ID的变化至数据库中表数据量的增加。
[0010]可选的,步骤A所述解析前还包括:
[0011]依据目标文档实体的后缀名选择对应的文档解析器。
[0012]由上,实现对于文档内容的正确分词。
[0013]可选的,步骤A还包括:判断所生成的词语在句子中是否属于最大单元,若否则将以最大单元进行分词,所述最大单元包括组成单一词组的最长字符。
[0014]由上,实现对于分词的正确性,避免遗漏关键词。
[0015]可选的,所述目标文档权限信息包括通用唯一识别码、全局唯一标识符和/或特定字符串。
[0016]由上,确保权限信息的唯一性。
[0017]可选的,步骤B所述分词处理的步骤包括:
[0018]B1、以一定字符长度且以分隔符结尾为分词依据,判断所述权限信息在所述字符长度内具有权限信息唯一性的格式时,以所述字符长度对权限信息进行分词。
[0019]由上,首先以一定字符长度且以分隔符结尾为分词依据可以避免对于不定长度的权限信息的限制,其次,在规定长度内,判断出唯一性格式即可分词,快速高效。
[0020]可选的,步骤B还包括:判断所述权限信息在所述字符长度内不具有权限信息唯一性的格式时,将所述字符长度增加一字符长度,返回步骤B所述分词处理的步骤。
[0021]由上,实现对于文档权限信息的正确分词,由于字符长度以及非特殊字符的标点符号可调,因此,采用相同规则对权限信息进行分词后,保证各文档权限信息的唯一性,在后续检索过程中,便可以实现权限的100%命中。
[0022]可选的,所述分隔符包括非字符的标点符号。
[0023]可选的,步骤C之后还包括步骤:将目标文档的至少下述一元数据信息加载所述代表其属于所述目标文档的标识,并存储至索引文件:
[0024]目标文档的创建时间、大小、类型。
[0025]对应的,本发明还提供一种基于上述方法录入的索引文件的检索方法包括步骤:
[0026]A、解析出用户的权限信息,对解析出的权限信息进行分词处理;
[0027]B、解析出用户所录入的内容,对解析出的内容进行分词处理,生成不同的各个词语;
[0028]C、将步骤A和步骤B的分词结果采用并且的逻辑关系运算,以索引文件中已存的信息中是否与步骤A和步骤B分词处理的结果相同为依据,进行检索。
[0029]由上,不用拆分检索请求,也无需进行二次检索,便同时满足文档检索结果与权限检索结果,避免在文档还原过程中因全文检索命中率的问题至权限不可用,提高检索文档检索命中率。

【专利附图】

【附图说明】
[0030]图1为索引文件录入的流程图;
[0031]图2为对目标文档的文档内容进行分词化处理的流程图;
[0032]图3为对目标文档的权限进行分词处理的流程图;
[0033]图4为基于所录入索引文件的检索方法的流程图。

【具体实施方式】
[0034]本发明所提供的索引文件的录入和基于该索引文件的检索方法,将权限信息进行分词处理,使其分词结果符合权限信息的唯一性,以实现在检索过程中实现100%命中权限信息,避免在文档还原过程中因全文检索命中率的问题至权限不可用。
[0035]如图1所示,索引文件的录入具体包括以下步骤:
[0036]步骤SlO:对目标文档的文档内容进行分词及解析处理,并将解析结果与目标文档进行关联后,存储至索引文件。
[0037]如图2所示,具体的,本步骤包括以下步骤:
[0038]步骤SlOl:对目标文档进行解析,以获取目标文档的全部内容。
[0039]首先获取目标文档实体,依据目标文档实体的后缀名(例如*.doc、*.txt、*.ppt、xls)获取文档解析器,利用文档解析器获取出文档的全部文字内容。
[0040]当无法获取后缀名或后缀名为空字符时,直接结束步骤S10。
[0041]步骤S102:对所获取的目标文档的内容进行分词。
[0042]利用分词器对所获取的目标文档内容进行分词,所述分词器利用词典的原理将全文分成词汇表。其中,分词器是成熟的技术,本发明采用现有的分词器。预先设定不同词库,例如名词库,语句库,等价词库,否定词库,停止词库等。所述等价词库例如PC等缩写词等价于个人计算机等标准词,否定词库包括有敏感词等,停止词库包括“啊、吧、的”等常用于结尾的词。
[0043]针对一句话,首先依据停止词库拆分为不同词或短句,其次判断拆分后词或短句是否还有敏感词,若含有敏感词则将其进行隐藏,而后依照等价词库将拆分后词或短句进行标准化,最终依据名词库,语句库进行最终分词。
[0044]进一步的,分词之后,判断所分词语在句子中是否属于最大单元,若是则不再处理,否则按最大单元进行分词。所述最大单元指组成单一词组的最长字符。举例来说,目标文档中包含本文第一句话“本发明所提供的基于权限信息的录入和检索方法”,句中“本”、“发明”均作为一单独词被分开,分词后,判断“本”在句子中是否属于最大单元,其判断方法为判断将“本”和“发明”连在一起是否构成一个词,若构成一个词,则“本发明”在句子中属于最大单元。
[0045]步骤S103:将分词结果与目标文档进行关联,存储至索引文件。
[0046]若一篇目标文档分词分出100个不同的词,本步骤分别将上述100词依据各个词在文中的位置顺序加载一特定标识,存储至索引文件。所述索引文件可以是一数据库或服务器等存储装置或存储区域。进一步的,还将后文所述的目标文档的标题、权限信息以及其他信息(目标文档的创建时间、大小、类型等元数据信息)加载所述特定标识,即同一篇文档的文档内容、标题、权限信息以及其他信息等绑定在一起,共同录入索引文件,由此确保一篇文档数据的完整性。进一步的,在索引文件中,文档内容、权限信息以及其他信息分别存储于不同的域。由此可避免将所有数据存储于一处,在更改时增加时间。在还原文档时,即可依据同一文档的特定标识,将属于该文档的全部数据集成到一起,从而提高效率。对于索引文件信息的添加过程与现有技术相同,不再赘述。
[0047]步骤S20:对目标文档的权限信息进行分词处理,将分词结果与所述目标文档进行关联后,存储至所述索引文件。
[0048]具体的,如图3所示,本步骤中包括以下步骤:
[0049]步骤S201:获取对目标文档有查看权限对象的唯一标识,即目标文档的权限信肩、O
[0050]所述具有查看权限的对象包括用户、角色、组织机构代码证或级别等,所述权限信息加载于目标文档的固定位置,对于权限信息的获取属于现有技术,不再赘述。提取目标文档的权限信息,即提取出所述对目标文档有查看权限对象的唯一标识,所述唯一标识包括:通用唯一识别码(UUID, Universally Unique Identifier)、全局唯一标识符(GUID,Globally Unique Identifier)和 / 或其他字符串。
[0051]步骤S202:设置权限分词器,依据所述权限分词器对目标文档的权限信息进行权限分词。
[0052]权限分词器对于权限信息的分割方式为:
[0053]首先,拆分分词目标,本实施例中,可采用固定一定字符长度(例如19个字符串)且以为分隔符结尾分词依据,对权限信息进行拆分。所述分隔符包括非字符的标点符号。
[0054]下面以UUID 为例进行说明,UUID 的格式包括:χχχχχχχχ-χχχχ-χχχχ-χχχχ-χχχχχχχχχχ (其规律为 8-4-4-4-12)和 χχχχχχχχ-χχχχ-χχχχ-χχχχχχχχχχχχχχχχ (其规律为8-4-4-16),其中每个X是0-9或a-f范围内的一个十六进制的数字。按一定字符长度且以为分隔符结尾对截取UUID进行分词,分词结果为χχχχχχχχ-χχχχ-χχχχ-。
[0055]其次,判断权限信息在上述字符长度内是否存在区别于文档正文和后文所述的其他信息的规律。所述规律参照现有UUID、GUID或其他常用的设置权限信息的固定格式,预存于权限分词器中。
[0056]权限分词器判断在设定的字符长度内存在所述规律,则以该分隔符为截止,将所述分隔符前的字符从权限信息中分离出来。若不存在,则将上述固定的字符长度+1 (调整为20个字符串),在调整后的字符长度内继续寻找,若仍然不存在,在再将字符长度+1(调整为21个字符串),直至寻找到所述规律。否则确认为权限信息分词失败。
[0057]举例来说,寻找所述规律可通过正则表达式实现,例一:([a?zA?ZO?9] {8}_[a ?zA ?ZO ?9] {4}_[a ?zA ?ZO ?9] {4}_[a ?zA ?ZO ?9] {4}_[a ?zA ?ZO ?9] {12} [,\\w.!?_$%'&]? )+ ;
[0058]例一中[a?zA?ZO?9] {8}表示连续出现8个字符,[a?zA?ZO?9] {4}表示连续出现4个字符,[a?zA?ZO?9] {12}表示连续出现12个字符,上述字符包括字母a?z、字母A?Z以及数字O?9的组合;
[0059][, \\w.!?_$% ~&] ?表示可以“,.!?_$% 这些非字符的标点符号匹配包括下划线或空白符在内的任何单个字符;
[0060]() +表示匹配模式是贪婪的。贪婪模式则尽可能多的匹配所搜索的字符串。
[0061 ]例二: ([a ?zA ?ZO ?9] {32} [, \\w\\.!?i#$ % "&] ? ) + ;
[0062]第二种数据类型中([a?zA?ZO?9] {32}表示连续出现32个字符,上述字符包括字母a?z、字母A?Z以及数字O?9的组合。
[0063][, \\w\\.!?_$%'&]? ) +表示可以“,.!?这些非字符的标点符号匹配包括下划线或空白符在内的任何单词字符;
[0064]预存的寻找规律的表达式很多,本实施例仅给出2个实施例,本申请重在保护对于权限分词整体的保护,而并非在于具体的某一个权限分词的结构。
[0065]步骤S203:将分词结果加载所述特定标识,存储至所述索引文件。
[0066]对于一篇目标文档,将该文档分词后的权限信息加载与步骤S103相同的特定标识后存储至索引文件。
[0067]另外,当目标文档权限信息需要变更时,仅需利用目标文档的所述特定标识查找出索引文件中的该目标文档的权限信息,进而仅对所述权限信息进行修改即可,操作便利,维护简单。
[0068]步骤S30:将目标文档的其他信息录入索引文件。
[0069]具体的,目标文档的其他信息包括其创建时间、大小、类型等元数据信息。同样的,对于同一篇目标文档,将该文档的其他信息加载与步骤S103相同的特定标识后存储至索引文件。
[0070]由于目标文档的文档内容,文档标题、权限信息以及其他信息采用相同的特定标识,因此上述步骤SlO?S30实质将三者绑定在一起,共同录入索引文件。至此,目标文档的相关索引文件的录入所含步骤结束。
[0071]如图4所示,基于录入索引文件的检索具体包括以下步骤:
[0072]步骤S40:检索权限信息。
[0073]通过验证用户所输入的密码登陆或USB-KEY等方式进行身份确认。进一步的,确认用户身份后,还需确认用户身份权重,当用户身份权重最高时,其拥有权限最多,即该用户同时拥有低于其身份权重的其他用户的权限信息。
[0074]身份确认后即可获取用户所拥有的权限信息。权限分词器采用与上述步骤S20的权限分词相同的原理,将所获取的用户所拥有的各权限信息进行分词处理。
[0075]权限分词器将各个权限信息的分词结果采用“或者”的逻辑关系。
[0076]以索引文件中已存的权限信息中是否与步骤S40所分词的权限信息相同为依据进行检索,检索结果为相同,则检索成功。
[0077]由上,可检索出所有满足该权限的所有文档。
[0078]步骤S50:检索文档内容。
[0079]检索权限信息后,用户输入需检索的关键词语或词句。
[0080]文档内容分词器在所述索引文件中对用户输入的关键词语或词句进行检索。具体的,文档内容分词首先对检索内容中的关键词或词句进行分词处理,分词依据步骤SlO中对目标文档的分词原理相同,对分词的结果在在所述索引文件中进行对比检索。
[0081]本步骤中,当分词结果不唯一或对词句分出多个词时,文档内容查询器对各分词结果采用“或者”的逻辑关系。
[0082]步骤S60:检索其他信息。
[0083]直接将用户所录入的目标文档的创建时间、大小、类型等元数据信息等其他信息与步骤S30所录入的目标文档其他信息进行对比检索。
[0084]步骤S70:依据步骤S40?步骤S60各查询器对比检索的结果,将文档进行还原。
[0085]对于步骤S40?步骤S60的三类查询器所检索的结果采用“并且”的逻辑关系,由于三类的特定标识相同,故将索引文件中加载有该特定标识的相关数据组织到一起,即可快速还原出目标文档。对于文档内容的还原,可直接依据分词时各词在文中的位置进行还原。进一步的,当符合条件的文档为多个时,依据步骤S50中所检索出的关键词在文档中出现的频率,对各文档进行排列。
[0086]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。总之,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种索引文件的录入方法,其特征在于,包括步骤: A、解析出目标文档的内容,对解析出的内容进行分词处理,生成不同的各个词语; B、解析出目标文档的权限信息,对解析出的权限信息进行分词处理,生成具有权限信息唯一'I"生的格式; C、分别将步骤A和步骤B的分词结果加载一代表其属于所述目标文档的标识,并存储至索引文件。
2.根据权利要求1所述的方法,其特征在于,步骤A所述解析前还包括: 依据目标文档实体的后缀名选择对应的文档解析器。
3.根据权利要求1所述的方法,其特征在于,步骤A还包括:判断所生成的词语在句子中是否属于最大单元,若否则将以最大单元进行分词,所述最大单元包括组成单一词组的最长字符。
4.根据权利要求1所述的方法,其特征在于,所述目标文档权限信息包括通用唯一识别码、全局唯一标识符和/或特定字符串。
5.根据权利要求1或4所述的方法,其特征在于,步骤B所述分词处理的步骤包括: B1、以一定字符长度且以分隔符结尾为分词依据,判断所述权限信息在所述字符长度内具有权限信息唯一性的格式时,以所述字符长度对权限信息进行分词。
6.根据权利要求5所述的方法,其特征在于,步骤B还包括:判断所述权限信息在所述字符长度内不具有权限信息唯一性的格式时,将所述字符长度增加一字符长度,返回步骤B所述分词处理的步骤。
7.根据权利要求5所述的方法,其特征在于,所述分隔符包括非字符的标点符号。
8.根据权利要求1所述的方法,其特征在于,步骤C之后还包括步骤:将目标文档的至少下述一元数据信息加载所述代表其属于所述目标文档的标识,并存储至索引文件: 目标文档的创建时间、大小、类型。
9.一种基于权利要求1-8任一所述方法录入的索引文件的检索方法,其特征在于,包括步骤: A、解析出用户的权限信息,对解析出的权限信息进行分词处理; B、解析出用户所录入的内容,对解析出的内容进行分词处理,生成不同的各个词语; C、将步骤A和步骤B的分词结果采用并且的逻辑关系运算,以索引文件中已存的信息中是否与步骤A和步骤B分词处理的结果相同为依据,进行检索。
【文档编号】G06F17/30GK104376067SQ201410642110
【公开日】2015年2月25日 申请日期:2014年11月13日 优先权日:2014年11月13日
【发明者】管延军, 蒋红宇, 蔡景彪 申请人:北京海泰方圆科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1