当前位置: 首页 > 专利查询>河海大学专利>正文

一种基于Lucene的桌面搜索系统及方法技术方案

技术编号:8078919 阅读:165 留言:0更新日期:2012-12-13 21:43
本发明专利技术公开一种基于Lucene的桌面搜索系统及方法,所述系统在Lucene的基础上扩充了中文处理和文本分析功能,包括四个模块:索引文件构建模块、索引文件实时更新模块、索引文件定时更新模块和用户交互模块。方法包括以下步骤:扫描存储在本地磁盘上包含文本信息的文件,提取文件的名称、路径、内容等关键信息,建立倒排索引;监控对文件删除与修改等操作,更新索引,确保文件和索引信息一致;接收用户的查询请求,读取查询请求对应的索引,并进行相似度计算,将查询结果由高到低排列返回给用户,帮助用户快速而准确的定位所需信息。本发明专利技术实时性好、占用资源少,拥有较高的查全率和查准率。

【技术实现步骤摘要】

本专利技术涉及,属于信息技术处理领域。
技术介绍
信息爆炸的时代,硬盘容量不断增大,本地文件系统目录结构越来越复杂,文件数量越来越庞大,对文件快速搜 索的需要也越来越迫切,桌面搜索应运而生。桌面搜索,是一种个人计算机上存储的信息进行索引、查找的检索工具,面向个人文档管理,在个人信息管理领域中受到用户的欢迎。目前较为成熟的桌面搜索引擎有GoogleDesktop Search、百度硬盘搜索、网络猪、微软桌面搜索等商用免费软件,其功能较为强大,但是建立索引需要时间长,更新索引速度慢,索引实时性不高,硬盘等系统资源占用率高。另外由于商业利益存在,桌面搜索系统涉及用户本地磁盘文件,用户安全性和可扩展性受到限制,从用户体验、索引实时性和系统资源占用率上来说,都有很大的欠缺。
技术实现思路
专利技术目的针对现有技术中存在的问题,本专利技术提供一种实时性好、占用资源少的基于Lucene的桌面搜索系统及方法。技术方案一种基于Lucene的桌面搜索系统,所述系统在Lucene的基础上扩充了中文处理和文本分析功能,包括四个模块 索引文件构建模块,用于系统第一次启动时为存储在磁盘上包含文本信息的文件建立倒排索引; 索引文件实时更新模块,用于实现对文件删除与修改等操作监控与索引更新,确保文件与索引信息一致; 索引文件定时更新模块,用于当系统停止运行时间达到规定值时重新扫描磁盘上包含文本信息的文件,更新索引文件; 用户交互模块,用于接收用户的查询请求,并进行相似度计算,将查询结果由高到低排列返回给用户。一种基于Lucene的桌面搜索方法,包括以下步骤 步骤1,若系统在计算机上第一次启动,则进入步骤2,否则进入步骤4 ; 步骤2,扫描本地磁盘的所有文件,根据文件扩展名识别出word、pdf、html等各种包含文本信息的文件,提取文本和元数据; 步骤3,为文本文件建立倒排索引和索引文件列表,所述索引文件列表记录文本文件的路径和修改时间;进入步骤5 ; 步骤4,查看系统停止运行时间,更新索引和索引文件列表。具体包括以下步骤 步骤4-1,判断系统停止运行时间是否达到规定值 若停止运行时间已经达到规定值,进入步骤4-2 ;若停止运行时间没有达到规定值,进入步骤4-3 ; 步骤4-2,重新扫描存储在磁盘上包含文本信息的文件,获取文本文件后,与索引文件列表相比较,分析文件在系统停止运行期间发生的变化; 步骤4-3,实时监听系统文件变化,包括文件创建、文件修改、文件删除和文件重命名; 步骤4-4,获取文件变化后,更新索引和索引文件列表中相应的信息,确保文件和索引信息一致; 步骤5,接受用户的查询请求,允许用户指定要查找的文件类型和文件修改时间的范围; 步骤6,获得用户的查询请求后,将查询请求按照词典分词进行切分处理,读取经切分处理后的词对应的倒排索引信息,利用索引计算查询与文件的相似度,将查询结果由高到低排列返回给用户。所述步骤2分析包含文本信息的文件时,实现Lucene的解析文本的接口,通过配置文件,使用不同的解析器处理不同格式的文本以提取文本和元数据。所述步骤2分析包含文本信息的文件时,使用IKAnalyzer分词器处理中文,结合词典分词和文法分析算法拆分文本信息。所述步骤4-2获取文本文件后,与索引文件列表相比较,为不在索引文件列表中的文本文件创建索引,更新修改时间在索引文件列表中记录的时间之后的文本文件的索引信息,删除索引文件列表中存在但磁盘上不存在的文本文件的索引信息。本专利技术与现有技术相比,具有的有益效果是 本专利技术是,索引文件格式独立于应用平台,在传统全文检索引擎的倒排索引的基础上实现了分块索引,提升索引速度。在Lucene的面向对象的系统架构上,方便扩充新功能,便于后续的维护和升级。本专利技术的两种索引文件更新方法用于获取系统文件变化,确保文件和索引信息的一致,拥有较高的查全率和查准率。附图说明图I为本专利技术实施例的系统框 图2为本专利技术实施例的方法流程 图3为本专利技术实施例中基于Lucene的桌面搜索方法构建索引的流程图。具体实施例方式下面结合具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。设计桌面搜索的基本思路是提取本地文件的关键信息,建立和维护一个索引文件的集合,在索引文件中对用户输入的关键字进行匹配,并定位到相应的文件。倒排索引由属性值来确定记录的位置,能够实现文件的快速查找。桌面搜索的核心就在于建立和维护索弓I文件以及进行查询操作。如图I所示,基于Lucene的桌面搜素系统包括以下四个模块索引文件构建模块,用于系统第一次启动时为存储在磁盘上包含文本信息的文件建立倒排索引; 索引文件实时更新模块,用于实现对文件删除与修改等操作监控与索引更新,确保文件与索引信息一致; 索引文件定时更新模块,用于当系统停止运行时间达到规定值时重新扫描磁盘上包含文本信息的文件,更新索引文件; 用户交互模块,用于接收用户的查询请求,并进行相似度计算,将查询结果由高到低排列返回给用户。按照如图2所示的流程图,基于Lucene的桌面搜索方法,包括以下步骤 步骤1,如果系统在计算机上第一次启动,则进入步骤2,否则进入步骤3。步骤2,扫描本地磁盘的所有文件,根据文件扩展名识别出word、pdf、html等各种包含文本信息的文件,提取文本和元数据,为文本文件建立倒排索引和索引文件列表。索引文件列表记录文本文件的路径和修改时间。如图3所示,为基于Lucene的桌面搜索方法为文本文件构建索引的详细流程 步骤2-1,扫描存储在本地磁盘的文件,根据文件扩展名筛选出word、pdf、html等各种包含文本信息的文件; 步骤2-2,根据文件类型,通过配置文件,调用不同类型的文档解析器对相应的文档进行解析,以提取文本和元数据; 步骤2-3,使用IKAnalyzer分词器处理得到的文本,结合词典分词和文法分析算法拆分文本信息; 步骤2-4,对文本切分出的关键词,相应地保存该关键词所在文件的文件标示符,在每个文件中出现的次数(词频)、位置等信息,即获得每个关键词对应的全文索引信息。采用倒排索引保存每个关键词的全文索引。关键词表中的每个词对应一个倒排索引链表,链表包含了该关键词所在文件的文件标示符、词频、出现位置等信息,将文本文件的路径和修改时间写入索引文件列表; 步骤2-5,对于倒排索引链表采用压缩方法保存。倒排索引链通过可变字节编码的方式对索引文件的整型数据进行压缩,首先根据文件标示符排序,然后将文件标识符转换为相邻文件标识符的差值,即采用小整数保存文件标识符,然后对倒排索引进行压缩。步骤3,查看系统停止运行时间,更新索引文件。具体包括以下步骤 步骤3-1,判断系统停止运行时间是否达到规定值; 若停止运行时间已经达到规定值,进入步骤3-2 ; 若停止运行时间没有达到规定值,进入步骤3-3 ; 步骤3-2,重新扫描存储在磁盘上包含文本信息的文件,获取文本文件后,与索引文件列表相比较,分析文件在系统停止运行期间发生的变化。文本文件不在索引文件列表中,说明该文件在系统停止运行期间创建的;若本文档来自技高网...

【技术保护点】
一种基于Lucene的桌面搜索系统,其特征在于:所述系统在Lucene的基础上扩充了中文处理和文本分析功能,包括四个模块:索引文件构建模块,用于系统第一次启动时为存储在磁盘上包含文本信息的文件建立倒排索引;索引文件实时更新模块,用于实现对文件删除与修改操作监控与索引更新,确保文件与索引信息一致;索引文件定时更新模块,用于当系统停止运行时间达到规定值时重新扫描磁盘上包含文本信息的文件,更新索引文件;用户交互模块,用于接收用户的查询请求,并进行相似度计算,将查询结果由高到低排列返回给用户。

【技术特征摘要】

【专利技术属性】
技术研发人员:冯钧胡小克聂妮付言章唐志贤卞一路盛震宇许潇徐黎明史涯晴
申请(专利权)人:河海大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1