论文部分内容阅读
随着教学科研信息系统地建立和发展,产生了大量的业务信息。其中不仅有保存在数据库中的科研实验业务信息、学生信息等结构化信息,还有大量实验室采集数据、教学科研资料等非结构化信息。这些信息有的可能存储在数据库中,大量的信息则保存在文件服务器或内容管理服务器中。如何从实验室纷繁复杂的信息资源中,检索到教学科研所需要的各类资源是信息管理所面临的一个巨大挑战。本文主要研究存在于文件服务器、内容管理服务器上的实验室采集数据以及教学科研资料等大量非结构化数据的检索与取用问题。通过分析研究提出搭建基于Lucene检索框架的实验室采集数据搜索引擎系统一MonsterSearch搜索引擎系统。MonsterSearch搜索引擎系统由Parse模块和Search模块组成。Parse模块利用Tika解析框架提取非结构化数据的文本内容与相关元数据,使用Lucene检索框架进行索引操作并将索引数据存入Berkeley DB数据库。Search模块基于Lucene检索框架实现搜索操作,为用户检索查询实验室各类信息资源提供用户接口。本文所做的工作如下:首先,本文通过对Lucene检索框架的检索机制、系统架构、框架核心模块、文本分析过程、数据流、索引结构、评分机制进行了深入的分析研究,明确了Lucene内部调用时序与处理逻辑以及Lucene索引的数据结构和索引段优化策略,对Lucene检索框架有了全面的认识。与此同时,通过数学模型对Lucene核心评分公式进行了推导验证,从根本上理解Lucene的评分机制,为使用Lucene检索框架实现搜索引擎系统奠定了基础。其次,本文对解析提取非结构化数据文本内容及相关元数据的Tika解析框架进行了分析。随后介绍了Tika如何判断文档类型以及提取文档文本信息的方法。通过分析研究Tika的语言识别机制,建立一个NGP语言配置文件来解决对中文支持的问题。再次,根据需求分析编码实现MonsterSearch搜索引擎系统。系统实现过程中解决的关键问题包括:1.系统结合IKAnalyzer分析器实现了对检索词的准确切分,解决了Lucene自带分析器对中文支持不力的问题;2.系统使用多线程技术对非结构化数据信息进行解析并创建索引,在充分利用CPU资源的同时,提升索引创建速度;3.使用索引部分优化策略对索引进行优化;4.通过对系统运行特性的分析以及对系统资源的使用情况,使用Berkeley DB存储索引数据,实现更高的数据读取效率;5.对文档内容域进行加权操作,使得系统在计算其相似度的同时充分考虑到该域针对其他域的重要程度;6.系统利用Lucene检索框架功能强大的API实现了针对教学科研资料、实验采集数据等非结构化数据构建的多种检索方式;7.系统实现了搜索结果的高亮显示为用户提供更好的使用体验;8.对系统运维中需要注意的内存管理与索引备份问题提出了解决方法。最后,系统编码实现后在惠普HP ProLiant DL380G7服务器上完成了部署运行,并对系统进行了功能测试和搜索质量评估,结果显示系统符合设计要求,能够满足实验室用户搜索需求。