基于文档实时监控可配置的全文检索服务系统的制作方法

文档序号:6602960阅读:229来源:国知局
专利名称:基于文档实时监控可配置的全文检索服务系统的制作方法
技术领域
本发明属于计算机检索技术领域,涉及一种基于文档实时监控可配置的全文检索 服务系统,主要是从框架角度设计和实现,能够对文档进行实时监控和全文检索服务。
背景技术
伴随着网络技术的迅猛发展和信息技术的日益成熟,网络带来的便利和快捷更加 突显,越来越多的企事业单位及个人通过网络发布和获取信息,人们在浩瀚的网络知识海 洋中获取信息,主要是通过搜索引擎进行的。现有的搜索引擎主要有Google、百度、Yahoo、 中搜、Sogou等,由于网络信息的膨胀速度呈指数急速增长,各种各样的网站及Web服务都 需要为其加入检索功能,以满足用户的需求,另外,在企业级应用的市场上,全文信息检索 的需求也一直在增加,各种文档处理、内容管理软件都需要加入全文检索的功能。全文检索系统所提供的索引服务是建立在功能强大的索引机制的基础上,其索引 的创建与管理对于一个搜索引擎而言是至关重要的。传统全文检索功能中索引过程控制部 分开发流程包含以下步骤(1)定义和描述文档数据的各种属性及索引过程中相关的参数,选择合适的分词
o(2)向索引添加数据信息,对文件进行解析,抽取索引项,建立索引表,并优化合并 索引,最终将索引文件从内存刷新到磁盘。(3)针对文档信息的CRUD操作,提供相应的索引更新机制,同时还要考虑索引备 份。(4)针对分布式环境下全文检索系统的索引构建与管理及多线程环境下对索引访 问和更新的同步、互斥等问题提供对应的策略代码。这部分开发与整体系统的业务流程相对独立,但是现有的具备了全文检索功能 Web服务系统或文档信息管理软件都在重复以上的开发,而未能从框架角度对索引过程的 控制逻辑进行概括和抽象。传统的全文检索功能中索引过程控制部分开发存在着重复开 发,未能从框架角度对索引过程的控制逻辑进行概括和抽象,过多的参数设置和不同的应 用环境导致了开发人员要花费很多的时间来进行系统的调试维护和升级,与目前提倡的 RAD (Rapid ApplicationDevelopment)思想相比存在着诸多缺陷。

发明内容
本发明的目的在于提供一种基于文档实时监控可配置的全文检索服务系统,利用 该系统能动态地对文档的变更作记录并自动执行文档的索引管理。本发明基于文档实时监控可配置的全文检索服务系统所采取的技术方案是该系 统包括文件实时监控模块,索引构建模块,索引优化模块,索引变更模块,查询检索模块, 日志记录模块,数据备份模块和数据恢复模块。其中,文件实时监控模块,用于实时监控服务器端文档信息的变更,启动日志记录模块和索引变更模块;索引构建模块,用于分析和处理指定目录下非结构化的文档,生成中间格式文件, 通过分词器从中抽取索引项,用于表示文档,并生成文档集合的索引表,由索引变更模块启 动,生成的索引存入索引库;索引优化模块,用于通过合并和优化索引的手段提高全文索引时系统的效率,其 作用于索引构建模块所生成的索引;索引变更模块,用于接收变更的文档信息,包括文档的添加、删除和修改,从而动 态更新索引,其作用于索引构建模块;查询检索模块,用于为用户提供全文检索的搜索接口,接受来自用户的查询关键 字,对其进行分词,交由索引库检索,并返回结果集;日志记录模块,用于记录管理员对服务器目录下的文档数据的CRUD操作,由文件 实时监控模块启动;数据备份模块,用于备份数据信息,生成备份数据,以防止系统出现故障或受到恶 意攻击而导致数据遭到破坏或丢失,确保数据信息从错误状态恢复到某一已知的正确状 态,由日志记录模块操作完成后启动;数据恢复模块,用于当系统运行过程中发生故障,利用数据备份整体和日志文件 将数据恢复到故障前的某个一致性状态。所述文件实时监控模块包括初始化系统引擎模块,用于系统初始化时,对文件目录递归遍历,唤醒数据备份模 块进行数据拷贝,继而交由索引变更模块触发执行索引的初始化构建和索引优化;捕获文档添加模块,用于实时监控管理员添加文档的操作;捕获文档删除模块,用于实时监控管理员删除过期文档的操作;捕获文档更新模块组成,用于实时监控管理员更新文档的操作。所述索引构建模块包括文本解析器,用来分析网页和文档的内容,统一为无格式文档或中间格式文档,索引器,用于对文本解析器处理和分析非结构化文档结果进行再处理,依次读取 分析索引项,利用预设的索引项字典建立按索引项排列的链表,并动态更改索引字典,最终 完成按照索引项组织的索引列表、索引字典和文档索引。所述索引优化模块包括离线索引优化模块,用于文档更新时,在离线下作用于索引构建模块,调用相应的 优化函数调整、优化离线索引;离线索引合并模块,用于将一系列小的索引文件合并为一个索引文件,以提高检 索效率,其和离线索引优化模块一起共同对离线索引改造、优化,生成最终的优化索引。索引服务切换模块,用于将离线索引与当前的服务索引进行切换,保证离线索引 的正常优化运转,不影响服务索引的检索效率。所述索引变更模块包括文档添加处理模块,用于接收添加的文档信息,从而动态更新索引;文档删除处理模块,用于接收删除的文档信息,从而动态更新索引;文档修改处理模块,用于接收修改的文档信息,从而动态更新索引。
所述查询检索模块包括关键字提交模块,用于向用户提供全文检索关键字提交页面,为全文检索系统获 取用户提交查询请求提供接口,并按照一定的分词策略对接收到的关键字进行分词处理;后台检索模块,用于负责将接收到的关键字及用户组信息提交给索引库进行检 索,然后从索引库获取检索结果并排序;快照生成模块,用于根据返回结果集生成结果快照,并负责生成结果页面将结果 显示给用户。本发明采取上述技术方案所设计开发的基于文档实时监控可配置的全文检索服 务系统,由于提供了索引过程和数据备份中需要的各种参数、服务形式和相应的部署方案, 基本上涵盖常用全文检索系统的开发需求,为开发者提供一套集实时监控和数据恢复功能 在内的高效、完整的全文检索服务框架,具有支持快速应用开发、系统易于部署维护、查全 率高、使用方便等诸多优点。


图1表示本发明系统结构方框图2表示本发明文件实时监控模块结构方框图3表示本发明索引构建模块结构方框图4表示本发明索引优化模块结构方框图5表示本发明索引变更模块结构方框图6表示本发明查询检索模块结构方框图7表示本发明索引器上下文环境方框图8表示本发明系统中索引层次结构方框图9表示本发明系统中索引初始化构建基本流程图10表示本发明系统中索引管理基本流程图11表示本发明系统中多检索器跨索引检索基本结构方框图
图12是本发明系统中检索查询基本流程图13是本发明系统中数据信息备份原理示意图。
具体实施例方式下面结合附图和实施例对本发明作具体说明。参见图1,图1表示本发明基于文档实时监控可配置的全文检索服务系统的结构 方框图,包括文件实时监控模块100,索引构建模块200,索引优化模块300,索引变更模块 400,查询检索模块500,日志记录模块600,数据备份模块700,数据恢复模块800。系统在初 始化时,管理员需要对系统属性和实际应用需求参数进行配置,如索引配置文件和数据备 份配置文件的配置工作;系统配置完毕后,需要先对系统原有的文档数据进行解析,构造索 引库,并优化合并成总索引;使用中,文档信息的变更(管理员对文档信息的CRUD操作)被 文件实时监控模块100捕获后,将启动日志记录模块600记录管理员的操作,然后转交给数 据备份模块700复制变更的文档信息更新备份数据,数据备份完成之后,索引变更模块400 被唤醒,根据操作类别的不同,执行相应的策略流程,继而交由索引构建模块200进行索引的更新与重构,同时,索引优化模块300通过优化函数和索引合并等手段对新生索引优化 处理,最终导入索引库,用户通过前台查询界面输入关键字,提交给查询检索模块500,从索 引库获取结果集,渲染成Web页面反馈给用户,当系统出现故障或受到恶意攻击而导致原 始数据遭到破坏或丢失时,管理员可启动数据恢复模块800,加载日志记录和备份数据恢复 原始数据。文件实时监控模块100是整个系统的核心模块,用于实时监控服务器端文档信息 的变更,属于后台服务,任何文档的变更都将被捕获,针对不同的操作启动相应的任务模块 处理。文件实时监控模块100所调度的模块按性能可划分为索引过程和数据备份过程两 类。其中索引过程包括索引构建模块200、索引优化模块300和索变更模块400,数据备份过 程包括日志记录模块600、数据备份模块700和数据恢复模块800。参见图2,文件实时监控 模块100包括初始化系统引擎模块210、捕获文档添加模块220、捕获文档删除模块230和 捕获文档更新模块240。文件实时监控模块100提供了一整套的实时监控机制以完成索引 初始化构建及对所捕获到的操作触发相应的策略流程。当系统初始化时,文件实时监控模 块100获知文档信息的文件目录,启动初始化系统引擎模块210,对目录递归遍历,依次读 入所有文档,同时唤醒数据备份模块700进行数据拷贝,继而交由索引变更模块400触发执 行索引的初始化构建和索引优化。由于不需要创建日志记录,初始化系统引擎模块210不 与日志记录模块600发生交互。在后期的系统使用维护过程中,管理员所有的CRUD操作都 会被文件实时监控模块100所捕获,细分为上传添加文档、删除过期文档、更新文档三种, 并分别交由捕获文档添加模块220、捕获文档删除模块230、捕获文档更新模块240完成,并 在执行处理之前,操作的具体信息都已写入日志,且变更的文档信息也已备份完成,以便于 数据恢复。索引构建模块是实时全文检索服务系统的核心模块,用于分析和处理指定目录下 非结构化的文档,生成中间格式文件,通过分词器从中抽取索引项,用于表示文档,并生成 文档集合的索引表。参见图3,索引构建模块200包括文本解析器310和索引器320,其接受 来自索引变更模块400描述的文档变更信息以完成索引的构建,索引器的上下文环境如图 7所示,原始文本库710指网络蜘蛛从网上获取的网页及本地存储的各种格式文本的原始 备份,原始文本库710保留了文本的完整原始格式,主要为后续解析器提供数据源;文本解 析器310用来分析网页和文档的内容,统一为无格式文档或中间格式文档,文本解析器310 往往是一系列不同文档格式的分析和处理程序,通常还包括中文分词、垃圾信息过滤、为索 引器提供统一的可分析数据;文本中间格式库720是经过文本解析器310处理后得到的纯 文本或者统一中间格式的数据库,已经去除了噪音和其他垃圾信息,并且根据需要完成了 分词等处理过程,可以为索引器320提供输入数据;文本索引库730是以索引形式组织存放 的数据文件,在全文检索系统中,通常采用倒排索引方式;索引字典740是词和编码的二元 组结构数据库,对每个词汇都有一个惟一的缩写对应,在建立索引过程中,完成索引项的转 换,以减少磁盘和内存的使用量。全文检索的文档内容通常包括文档的附属信息、文档的内容信息。文档在索引之 前通常会利用预处理程序和分词程序解析内容转化成中间文档格式,进而交由索引器320 生成索引字典740和文本索引库730写入索引库。索引器320是系统的核心组件,主要功 能是对文本解析器310处理和分析非结构化文档结果进行再处理,依次读取分析索引项,利用预设的索引项字典建立按索引项排列的链表,并动态更改索引字典740,最终完成按照 索引项组织的索引列表、索引字典和文档索引,用于表示文档以及生成文档库的索引表。索 引变更模块400对操作预处理后,借助于系统提供的索引锁write, lock和commit, lock以 保证索引器320同步和并发地执行。文本解析器310和索引器320协同工作,统一完成了 索引的建立和维护管理工作,文本索引库统一保存对应的文档索引。图8表示本发明索引层次结构。系统的索引采用了一套非常高效的数据结构,通 常以单个或一系列索引文件形式存放在系统目录中,索引文件可以存放在硬盘或内存中。 索引结构以文件形式存储,不依赖于数据库或者某种特定平台,并且支持分块索引,对新加 入的文件建立新的索引,缩短索引生效时间,然后通过索引合并建立整体索引。具体说明如 下索引索引结构最终体现到特定格式的磁盘文件来存储,索引在内存和磁盘中,使 用相同的逻辑结构,每个索引的结构由一个或多个索引段组成。磁盘文件包括当前活跃索 引段和新建的索引文件,通过工具整理可以把分段合并为统一的索引段。索引段通常一个索引会包含一个或多个索引段。在每次创建过程中,文档都是添 加到特定的段里,然后索引段会根据参数合并。索引段相当于子索引,新建的索引通常以一 个新段形式出现,在合并操作后每个索引体系通常只包含一个索引段。索引文档索引文件是索引器320可以直接添加的对象。每个索引可以包含多个 不同的文档,每个文档又管理了数目不等的域集合,这里的文档是一个逻辑概念。文档最后 被添加到索引中,在相应的索引文件中存储,为检索做好准备。任何实际希望添加到索引的 文件都必须生成索引才能使用。索引域索引域是索引文档对象的基本组成单位。每个域内存储了实际的索引文 本数据,这些文本数据在内部调用了分析器的索引项结果。域内数据的检索查询最终是以 索引项为单位的,比索引项更小的单位无法检索到。通常英文的索引项是以单词为检索单 位,中文的索引项是以中文分词的结果作为检索单位。索引项索引项是索引管理的最小单位,它是利用文本解析器310,后台自动把一 个域的值进行分割。得到的每一个独立的元素作为一个索引项,用于建立索引。系统根据选用的索引生成形式不同,可以分成复合索引格式和多文件索引格式。 复合索引通常在静态索引中比较合适,而在动态索引中采用多文件索引更为方便。图9表示本发明索引初始化构建基本流程图。全文检索功能在首次的时候,索引 库是不存在的,因此系统在初始化的时候,需要加载已经存在的文档信息,以构建一个初始 化的索引库。首先生成一个FileReader对象S901以对目录下已经存在的文档进行递归遍历, 依次读入所有文档,准备索引目录S902,加载配置文件设定的参数,创建标准的文本分析 器S903,创建空的文档对象S904,对文档内容解析,从中抽取出索引项,用于表示文档,生 成文档集合的索引表和文件名域S905,并添加文件名域到文档S906 ;其次,生成文件内容 域S907,从而添加文件名域到文档S908,然后,添加新的索引文档S909,判断索引内容是否 添加完毕S911,如果没有,转到创建空的文档对象S904,循环执行直至对文档遍历完成;最 后,调用索引优化模块300完成相关的索引优化,关闭索引S910,将其从内存刷新入磁盘的 索引库。
参见图4,索引优化模块300包括离线索引优化模块410、离线索引合并模块420 和索引服务切换模块430。在索引建立过程中,需要考虑如何提高索引建立的速度,如何减 少索引的资源占用,索引的使用当中如何合理地分配有限的内存资源,如何提高资源的访 问速度,类似于上述的所有关于索引性能方面的问题都是由索引优化模块300处理的;根据索引生成形式的不同,可以分为复合索引格式和多文件索引格式。索引的建 立过程会处理海量数据,生成的索引段和索引文件会非常庞大,具体实现当中需要根据实 际的应用需求选用不同的索引形式。复合索引通常在静态索引中比较合适,而在动态索引 中采用多文件索引更为方便。系统支持多种索引文件的格式的选择,以适用于不同的应用 需求。为了保证索引更新不影响检索服务的响应效率,系统提供了离线索引和服务索引相 结合的索引机制。更新的索引离线处理,当更新完成后,直接切换索引服务,从而保证了检 索效率。当文档更新时,离线索引优化模块410在离线下作用于索引构建模块200,调用相 应的优化函数调整、优化离线索引,同时离线索引合并模块420将一系列小的索引文件合 并为一个索引文件,以提高检索效率。二者对离线索引共同改造、优化生成最终的优化索 引,在二者均完成的前提下,索引服务切换模块430被唤醒,将离线索引与当前的服务索引 进行切换,从而既保证了离线索引的正常优化运转,又不影响服务索引的检索效率。参见图5,索引变更模块400包括文档添加处理模块510、文档删除处理模块520 和文档修改处理模块530。由于三个模块均作用于索引构建模块200,在多线程的环境下动 态索引和增量索引会不可避免地会遇到同步问题。系统为全文检索和并发访问控制提供了 一系列机制来保证索引文件不会同时被两个对象操作,保证了索引同步和并发时的一致性 和完整性。系统提供了 write, lock和commit, lock两种索引锁,实际是一个临时文件。索 引器320执行操作前会查看该文件是否存在,如果存在,后面的操作需要等待前面的操作 完成。write, lock锁是为了避免几个线程同时修改一个索引文档而设置的,当索引建立、添 加文档和删除文档时使用;commit, lock锁主要在索引段建立、合并或读取时使用,当索引 或段合并完成,会自动删除。图10表示本发明索引管理基本流程图。系统的索引采用文档作为逻辑单位,索引 的管理也对应到了对文档的管理上,文档管理功能主要体现在对索引的各种主要操作,包 括文档的添加、文档的删除、文档的修改更新。索引的创建、删除与更新均是由索引器320完成的。当文档信息的更新时,索引器 320将随之变更索引,刷新索引库,索引更新的流程采用的是先删除后构建的方式实现的。 具体流程如下索引构建模块200获知文件实时监控模块100捕获的操作,判定出选择何种索引 操作S1000,具体分为添加、删除和修改索引。(1)索引添加具体执行步骤首先创建索引分析器S1001,针对不同的文 本和应用环境,系统提供了多种分析器以供选择,常用的包括SimpleAnalyzer和 StandardAnalyzer。创建索引生成器S1002,并生成索引文档S1003,继而生成并添加索引 域S1004,添加索引文档S1005,最后唤醒索引优化模块400完成索引的优化,并关闭索引 S1006将其从内存写入磁盘的索引库。(2)删除索引具体执行步骤首先创建索引管理器S1007,建立索引项用于删除S1008,对已经被删除的文档信息进行分析,同时删除符合条件的索引S1009,关闭索引 S1010将其从内存写入磁盘的索引库。(3)修改索引首先创建索引修改器S1011,对于已经被修改的文档信息分析处 理,采用先删除,后添加索引的组合方式实现了对索引文档的修改操作S1012,继而完成索 引优化S1013,关闭索引S1014将其从内存写入磁盘的索引库。图11表示本发明多检索器跨索引检索基本结构方框图。在一些应用场合,全文 检索系统需要从不同的索引文件中进行联合检索。如果数据比较小可以考虑合并成一个 单独的索引进行,如果索引数据比较大且还有其他检索要求,为了效率和存储案例,必须 实现对多个索引的联合检索。针对此应用需求,系统提供了对跨索引检索MultiSearcher 的支持,通过相应的配置,即可完成多检索器跨索引检索,从而适用于分布式索引环境。 MultiSearcher可以从不同的索引文件中查找需要的结果,按照排序规则排序后,作为统一 的结果集反馈给用户。MultiSearcher的出现使索引文件的分布式存储成为可能,避免了过 于庞大的单一索引文件造成的存储和管理困难。参见图6,查询检索模块500包括关键字提交模块610、后台检索模块620和快照 生成模块630。关键字提交模块610向用户提供全文检索关键字提交页面,为全文检索系 统获取用户提交查询请求提供接口,并按照一定的分词策略对接收到的关键字进行分词处 理。关键字提交模块610获得用户输入的关键字后,将关键字分割成若干个具有词义的单 词,并将分词后的关键字以及用户组信息传递给后台检索模块620 ;后台检索模块620负责 将接收到的关键字及用户组信息提交给索引库进行检索,然后从索引库获取检索结果并排 序;快照生成模块630能够根据返回结果集生成结果快照,使检索结果易于阅读,并负责生 成结果页面将结果显示给用户。查询检索模块500内各模块间的数据流传递细节如下关键字提交模块610对从 用户接受的检索关键字进行适当策略的分词,使检索结果更加精准,然后将分词后的检索 词以及用户组信息交给后台检索模块620;后台检索模块620接收分词后的检索词,然后分 别将关键词递交给索引库与索引中对应域进行匹配,并从索引库返回命中的记录并对返回 结果集进行排序,然后将结果集与关键词交给快照生成模块630,其中结果集中的每条结果 记录包括网页URL、标题和内容三个域;快照生成模块630将索引标题和内容字段中与关键 词相关内容高亮显示,并在内容字段中取出最相关的段落显示在结果返回页面,使用户更 加直观地阅读结果集。后台检索模块620根据排序策略对返回的所有链接进行排序,将对 用户来说更重要的链接排在列表前面,并将排序后的链接及快照结果返回给用户,即完成 检索服务。这个处理过程就是搜索查询的基本流程,包括查询关键词预处理、文本库匹配、相 似度和排名计算以及文档排重和结果页生成,整体处理流程如图12所示。检索查询模块 500直接使用了索引过程中的字典和文档索引库,获取的数据结果内容都是索引提供的。用 户查询请求输入S1201输入查询关键词后,查询词的预处理S1202是针对关键词的净化和 筛选过程,通常首先过滤关键词中的停用词,截断超长查询词,最后利用分词程序获得检索 项组合;查询词格式化S1203是通过索引字典对检索项进行转化,把检索词汇转化成最终 的词汇索引编码形式,为后续处理提供方便;文本库索引匹配S1204是使用查询词的格式 化的表示从文本倒排索引库中获取匹配的检索结果;相似度和排序计算S1205是按照全文检索特定的计算公式决定结果文档的排列次序;结果排重和生成S1206用来判断结果是否 重复,避免同一文档多次出现,判断的依据是文档的内容和文档编号。整个流程中的几个功 能模块协同工作,统一完成了检索和结果的展示。用户查询请求通常采用Web方式输入,全文检索服务得到用户远程提交的检索词 内容。在本地搜索和硬盘搜索等特定场合,也可以采用程序接口来实现。日志记录模块600用于记录管理员对服务器目录下的文档数据的CRUD操作,日 志记录的内容主要包括事务标识、操作类型(新增、修改、删除)、操作对象、更新前数据旧 值、更新后数据新值。日志记录模块遵循两条原则一是登记的次序严格按照并发事务执行 的时间次序;二是必须先写日志文件,后修改文档信息。参见图13,数据备份模块700根据管理员的设置,自动把整个文档信息复制到另 一个磁盘上。每当主数据信息更新时,数据备份模块700自动把更新后的数据复制过去, 即系统自动保证备份数据与主数据信息的一致性,如图13(a)所示,这样,一旦出现介质故 障,可由备份磁盘继续提供使用,同时系统自动利用备份磁盘数据进行数据信息的恢复,不 需要关闭系统和重装数据信息的副本,如图13(b)所示。由于备份数据是通过复制数据实 现的,频繁地复制数据自然会降低系统运行时的效率,因此在实际应用中,可以只选择对关 键数据和日志文件备份,而不是对整个原始数据文档库进行备份。数据恢复模块800用于当系统运行过程中发生故障,利用数据备份整本和日志文 件可以将数据恢复到故障前的某个一致性状态,从而保证了前台系统能够处于一种相对稳 定的状态。恢复的步骤是1、正向扫描日志文件,找出在故障发生前已经提交的事务,将其 事务标识记入重做队列,同时找出故障发生时尚未完成的事务,将其事务标识记入撤销队 列;2、对撤销队列中的各个事务进行撤销(UNDO)处理,反向扫描日志文件,对每个UNDO事 务的更新操作执行逆操作,即将日志记录中“更新前的值”重新写入到服务器相应的文件目 录下;3、对重做队列中的各个事务进行重做(REDO)处理,正向扫描日志文件,对每个重做 (REDO)事务重新执行日志文件登记操作,即将日志记录中“更新后的值”写入到服务器相应 的文件目录下。本发明基于文档实时监控可配置的全文检索服务系统的工作过程描述如下系统在投入使用时,管理员需要配置系统属性及实际应用需求参数,配置文件中 提供了常用检索服务所涉及的各项参数及服务形式,包括1)完成索引配置文档的配置工 作,定制索引过程服务;2)完成数据备份配置文档的配置工作,定制数据备份服务。全文检 索服务的基础是拥有完整健全的索引机制,在系统配置完成之后,需要先对系统原有的文 档数据解析构造服务索引库。在日常的系统使用过程中,文档信息的变更被文件实时监控 模块100捕获后,将启动日志记录模块600记录管理员的操作,然后转交给数据备份模块 700复制变更的文档信息更新备份数据。数据备份完成之后,索引变更模块400被唤醒,根 据操作的类别的不同,执行相应的策略流程,继而交由索引构建模块200进行索引的更新 与重构,同时,索引优化模块300通过优化函数和索引合并等手段对新生索引优化处理,最 终导入索引库。用户通过前台查询界面输入关键字,提交给查询检索模块500,从索引库获 取结果集,渲染成Web页面反馈给用户。当系统出现故障或受到恶意攻击而导致原始数据 遭到破坏或丢失时,管理员可启动数据恢复模块800,加载日志记录和备份数据恢复原始数 据。本发明的系统支持在原有的系统中扩展全文检索功能,而不需要对原有系统代码及文档信息进行任何改动。
权利要求
一种基于文档实时监控可配置的全文检索服务系统,其特征在于该系统包括文件实时监控模块,索引构建模块,索引优化模块,索引变更模块,查询检索模块,日志记录模块,数据备份模块和数据恢复模块,其中,文件实时监控模块,用于实时监控服务器端文档信息的变更,启动日志记录模块和索引变更模块;索引构建模块,用于分析和处理指定目录下非结构化的文档,生成中间格式文件,通过分词器从中抽取索引项,用于表示文档,并生成文档集合的索引表,由索引变更模块启动,生成的索引存入索引库;索引优化模块,用于通过合并和优化索引的手段提高全文索引时系统的效率,其作用于索引构建模块所生成的索引;索引变更模块,用于接收变更的文档信息,包括文档的添加、删除和修改,从而动态更新索引,其作用于索引构建模块;查询检索模块,用于为用户提供全文检索的搜索接口,接受来自用户的查询关键字,对其进行分词,交由索引库检索,并返回结果集;日志记录模块,用于记录管理员对服务器目录下的文档数据的CRUD操作,由文件实时监控模块启动;数据备份模块,用于备份数据信息,生成备份数据,以防止系统出现故障或受到恶意攻击而导致数据遭到破坏或丢失,确保数据信息从错误状态恢复到某一已知的正确状态,由日志记录模块操作完成后启动;数据恢复模块,用于当系统运行过程中发生故障,利用数据备份整体和日志文件将数据恢复到故障前的某个一致性状态。
2.如权利要求1所述的基于文档实时监控可配置的全文检索服务系统,其特征在于文 件实时监控模块包括初始化系统引擎模块,用于系统初始化时,对文件目录递归遍历,唤醒数据备份模块进 行数据拷贝,继而交由索引变更模块触发执行索引的初始化构建和索引优化; 捕获文档添加模块,用于实时监控管理员添加文档的操作; 捕获文档删除模块,用于实时监控管理员删除过期文档的操作; 捕获文档更新模块组成,用于实时监控管理员更新文档的操作。
3.如权利要求1所述的基于文档实时监控可配置的全文检索服务系统,其特征在于索 引构建模块包括文本解析器,用来分析网页和文档的内容,统一为无格式文档或中间格式文档, 索引器,用于对文本解析器处理和分析非结构化文档结果进行再处理,依次读取分析 索引项,利用预设的索引项字典建立按索引项排列的链表,并动态更改索引字典,最终完成 按照索引项组织的索引列表、索引字典和文档索引。
4.如权利要求1所述的基于文档实时监控可配置的全文检索服务系统,其特征在于索 引优化模块包括离线索引优化模块,用于文档更新时,在离线下作用于索引构建模块,调用相应的优化 函数调整、优化离线索引;离线索引合并模块,用于将一系列小的索引文件合并为一个索引文件,以提高检索效率,其和离线索引优化模块一起共同对离线索引改造、优化,生成最终的优化索引。索引服务切换模块,用于将离线索引与当前的服务索引进行切换,保证离线索引的正 常优化运转,不影响服务索引的检索效率。
5.如权利要求1所述的基于文档实时监控可配置的全文检索服务系统,其特征在于索 引变更模块包括文档添加处理模块,用于接收添加的文档信息,从而动态更新索引; 文档删除处理模块,用于接收删除的文档信息,从而动态更新索引; 文档修改处理模块,用于接收修改的文档信息,从而动态更新索引。
6.如权利要求1所述的基于文档实时监控可配置的全文检索服务系统,其特征在于查 询检索模块包括关键字提交模块,用于向用户提供全文检索关键字提交页面,为全文检索系统获取用 户提交查询请求提供接口,并按照一定的分词策略对接收到的关键字进行分词处理;后台检索模块,用于负责将接收到的关键字及用户组信息提交给索引库进行检索,然 后从索引库获取检索结果并排序;快照生成模块,用于根据返回结果集生成结果快照,并负责生成结果页面将结果显示 给用户。
全文摘要
本发明属于计算机检索技术领域,提供了一种基于文档实时监控可配置的全文检索服务系统,主要特点是由文件实时监控模块,索引构建模块,索引优化模块,索引变更模块,查询检索模块,日志记录模块,数据备份模块和数据恢复模块组成,由于采用框架结构,系统具有支持快速应用开发、易于部署维护、查全率高、使用方便等诸多优点。
文档编号G06F17/30GK101853288SQ20101018132
公开日2010年10月6日 申请日期2010年5月19日 优先权日2010年5月19日
发明者刘妍, 张振莲, 李争艳, 梁晶晶, 汤澹, 董勐, 马晓普 申请人:马晓普
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1