基于lucene的信息检索系统毕业论文

基于lucene的信息检索系统毕业论文

ID:33893438

大小:410.15 KB

页数:22页

时间:2019-03-01

基于lucene的信息检索系统毕业论文_第1页
基于lucene的信息检索系统毕业论文_第2页
基于lucene的信息检索系统毕业论文_第3页
基于lucene的信息检索系统毕业论文_第4页
基于lucene的信息检索系统毕业论文_第5页
资源描述:

《基于lucene的信息检索系统毕业论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第三章信息检索系统及其关键技术3.1信息检索系统简介信息检索系统是利用信息检索技术(如全文检索等)帮助用户查找特定信息的一种工具。它能够对信息进行正确的表示、存储和组织,同时还提供对于信息的访问方式。在这里,信息的概念很宽泛,,它可以是一篇文章,一段文本,一个网页,一封邮件,一张照片,甚至是一些虚拟信息的集合。3.2信息检索的过程检索的整个过程包括:构建文木库,建立索引,进行检索。1.构建文本库在开发检索功能前,一个信息检索系统需要做些准备工作。首先,必须构建一个文本数据库。这个文本数据库用来保存所有用户可能检索的信息。在这些信息的基础

2、上,确定检索系统中的文本模型。文本模型是被系统所认可的一种信息格式,这种格式应当具有可识别、冗余度低等特点。当然,在系统的运作过程中,文本数据库的信息可能会不断地发生变化。2.建立索引有了文本模型后,就应该根据数据库内的文本建立索引。索引可以大大提高信息检索的速度。目前有多种索引的建立方式,采用哪种方式取决于信息检索系统的规模。大型信息检索系统(如百度、Google这样的搜索引擎)均采用倒排的方式来建立索引。3.进行搜索在为文本建立索引Z后,就可以开始对其进行搜索。通常由用户提交一个检索请求,该请求被分析,然后在索引中检索并返回结果。3

3、.3LuceneLucene是一个开源全文检索工具包,它是apache软件基金会jakarta项目组的一个了项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。3.3.1Lucene结构分析Lucene作为一个优秀的全文检索引擎,其结构具有强烈的面向对象特征。首先是定义了

4、一个与平台无关的索引文件格式,其次通过抽象将其核心组成部分设计为抽象类,具体的平台实现部分设计为抽象类的实现,此外与具体平台相关的部分比如文件存储也封装为类,经过层层的面向对象式的处理,最终达成了一个低耦合高效率,容易二次开发的检索引擎。Lucene的结构和源码组织结构如图3.1所示:艘囁引文件-、仟训结黒ori^iipjkrheJuccivjiniilyws4▼0r^pachftiliik;ciic.s«ir<;horu^ipachtlucenc.qiicn卩ascrocg.apjkrheJucciicJt^ijnitriHorg-a

5、pucheJucenc^tiir^破引文杵图3.1Lucene结构和源码组织结构从图中可以看出,Lucene由基础结构封装、索引核心、对外接口三大部分组成。其中直接操作索引文件的索引核心又是系统的重点。Lucene的将所有源码分为了7个模块(在java语言屮以包即package来表示),各个模块所属的部分也如图3.1所示。3.3.2Lucene索引的建立索引是信息检索引擎工作的第一步,只有建立了索引才能进行信息检索。Lucene用Document逻辑文件和Field域来组织各种数据源□Document向Lucene提供原始的要索引的文本

6、内容,Lucene从Document屮取出相关的数据源,并根据属性配置进行相应的处理,建立索引。索引过程如下:⑴创建一个IndexWriter用来写索引文件,它有几个参数,INDEX_DIR就是索引文件所存放的位置,Analyzer便是用来对文档进行词法分析和语言处理的。(2)创建一个Document代表我们要索引的文档。(3)将不同的Field加入到文档中。我们知道,一篇文档有多种信息,如题目,作者,修改时间,内容等,不同类型的信息用不同的Field來表示。(4)IndexWriter调用函数addDocument将索引写到索引文件夹

7、中。3.3.3Lucene的搜索Lucene建立了功能强大的索引机制为搜索服务,这是因为在检索系统的使用中,用户体验最深的还是搜索部分。如果这一部分的性能无法达到用户要求,那么软件就没有太大的意义。搜索过程如下:(1)IndexReader将磁盘上的索引信息读入到内存,INDEX.DIR就是索引文件存放的位置。(2)创建IndexSearcher准备进行搜索。(3)创建Analyer用来对查询语句进行词法分析和语言处理。(4)创建QueryParserffl来对查询语句进行语法分析。(5)QueryParseri/nl用parser进行

8、语法分析,形成查询语法树,放到Query中。(6)IndexSearcher调用search对查询语法树Query进行搜索,得到查询结果存放在TopScoreDocCollectoro3.3.4中文分词中文

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。