关于信息检索方面论文范文例文,与全文检索引擎Lucene系统模型与应用相关毕业论文格式范文

时间:2020-07-08 作者:admin
后台-系统-系统设置-扩展变量-(内容页告位1-手机版)

本论文是一篇关于信息检索方面毕业论文格式范文,关于全文检索引擎Lucene系统模型与应用相关学年毕业论文范文。免费优秀的关于信息检索及索引及数据结构方面论文范文资料,适合信息检索论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

摘 要:大数据时代下信息爆炸式增长,全文检索技术是提高信息检索效率的有效方法.Lucene是一个采用Java编写的全文搜索引擎框架,它运用了面向对象的设计思想,提供了丰富的API.对Lucene的系统结构、索引流程、索引机制进行了详细分析,对应用Lucene引擎搭建全文搜索系统的关键问题进行了研究.


本文出处 http://www.sxsky.net/benkelunwen/060477.html

关 键 词:全文检索;Lucene;倒排索引;分词

DOIDOI:10.11907/rjdk.151168

中图分类号:TP319

文献标识码:A文章编号

文章编号:16727800(2015)006012703

作者简介作者简介:张吴波(1977-),男,湖南邵阳人,湖北汽车工业学院电气与信息工程学院讲师,研究方向为软件开发.

0引言

大数据时代,可利用的数据和信息量呈爆炸式增长,人们在获取更多信息的同时,也不可避免地增加了筛选信息的难度[1].面对海量数据,如何使用户更好、更准确地抓取所需信息,已成为信息化技术中一个非常重要的课题.全文检索技术是为用户提供快速、准确获取有效信息的重要方法.

1全文检索技术

全文检索是以各种计算机数据,诸如文字、声音、图像等为处理对象,提供按照数据资料的内容,而不是外在特征来实现的信息检索手段[2].相对于一般的DBMS,可以将Word文档、邮件、网页等非结构化、半结构化数据作为检索对象.

全文检索最初是以字符串匹配程序实现的,即在待查找的文件中,打开每个文件后,对文件内容从头到尾检索,如果其中包含需要查询的字符串,则将它作为结果文件.这种顺序检索效率较低,因此,全文检索都是通过“索引”技术实现的.其过程是由计算机索引程序扫描文件中的每一个词,然后对每个词建立一个索引,并指明该词在文章中出现的次数和位置.当用户查询时,由检索程序对已建立的索引进行查找,得到所需要的文件[3].

2全文搜索引擎Lucene

Lucene是一个非常优秀、成熟、开源、免费、采用Java语言编写的全文检索引擎工具.它提供了丰富的API,可以与存储在索引中的信息方便地交互,并能方便地嵌入到各种应用系统中,实现针对应用的全文索引/检索功能.

Lucene运用了大量的面向对象设计思想.首先定义了一个与平台无关的索引文件格式,其次通过抽象系统的核心组成部分设计为抽象类,具体的平台实现部分设计为抽象类的实现,此外与具体平台相关的部分比如文件存储也封装为类,经过层层的面向对象式处理,最终达成一个低耦合、高效率、容易二次开发的检索引擎系统[4].

目前,Lucene得到了广泛应用,许多Java项目都使用了Lucene作为其后台的全文搜索引擎,比较著名的有:Jive(Web论坛系统)、Eyebrows(邮件列表HTML归档/浏览/查询系统)、Cocoon(基于XML的Web发布框架)等.

3Lucene系统模型

3.1Lucene系统结构

Lucene搜索引擎由基础结构封装、索引核心、对外接口、查询分析器4大部分组成,如图1所示.

索引核心是Lucene的重点,主要包括索引管理和数据存储管理.其中.apache.lucene.index包实现对索引的建立、删除等操作[5],通过为每个分出的词建立索引,查询时只需遍历索引,从而极大地提高检索效率;.apache.lucene.store包实现对索引文件的存储管理.基础结构封装是Lucene的基础,包括文档管理和公用类.其中.apache.lucene.document实现对文档信息和域信息的管理;.apache.lucene.util作为公共类,实现一些优化的数据结构和算法.对外接口包括检索和语言分析器,.apache.lucene.analysis是语言分析器,主要用于切分词,把输入的文本分成一个个可供索引模块处理的“词语”..apache.lucene.search是检索管理器,提供用户检索接口,可以实现根据用户输入的查询条件进行查询..apache.lucene.QueryParser是查询分析器,其作用是解析用户输入的查询语句,对查询语句进行分析,然后返回一个查询对象(query),它还可以自定义查询规则,以实现像Google一样能支持查询条件的与、或、非等复合查询方式.

3.2Lucene检索流程

基于Lucene的全文搜索,包含索引管理和搜索索引两个基本过程,其数据处理流程如图2所示.

3.2.1索引管理

在创建索引时,先将被索引(待搜索的数据)的内容,作为文档(Document)信息,传给IndexWriter对象,在IndexWriter对象中,指定语言分析器Analyzer.语言分析器自动对文档进行分词处理,将文档分成一个个单独的单词,其中还要进行去除标点符号和停用词(像英语中的a、the、or等使用频率很多的冠词、介词、副词或连词)等处理,形成“词元(Token)”.词元传递给语言处理器进行相关处理,形成“词(Term)”,对于英语形式的词元进行语言处理时,一般做以下工作:将词元变为小写、将词元缩减为词根形式(例如“cars”转换成“car”)、将词元转变为词根形式(例如“drove”转换“drive”)等.最后索引组件依据语言处理产生的词形成词典,采用倒排索引法,形成一定数据结构的索引文件.

3.2.2搜索索引

Lucene是针对索引进行查询的.先将用户输入的查询信息传递给QueryParser对象,该对象采用建立索引时类似的分词方法和语言处理方法,得到需要查询的单词和查询关 键 词;再根据查询语句的语法规则,进行语法分析,创建一棵语法树,形成Query对象;最后由IndexSearcher对象打开、读取索引目录中的索引文件,在反向索引表中,分别找出需要查询的单词文档链表,并根据语法树对文档链表进行交、差、并等操作,得到结果文档.3.3Lucene索引机

后台-系统-系统设置-扩展变量-(内容页告位2-手机版)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:123456789@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。
后台-系统-系统设置-扩展变量-(内容页告位3-手机版)