基于lucene的搜索引擎的研究与实现开题报告

 2021-08-08 22:25:47

1. 研究目的与意义

现今,google的巨大成功让整个世界都把眼光投入到搜索引擎这个领域中。

仿佛一夜间,各种各样的搜索服务席卷而来。

从最初的google、yahoo到现今的baidu、msn、中搜、sogou等,搜索引擎的品牌愈来愈多,服务也越来越丰富。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

2. 国内外研究现状分析

Lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。 面对已经存在的商业全文检索引擎,Lucene也具有相当的优势。首先,它的开发源代码发行方式,在此基础上程序员不仅仅可以充分的利用Lucene所提供的强大功能,而且可以深入细致的学习到全文检索引擎制作技术和面相对象编程的实践,进而在此基础上根据应用的实际情况编写出更好的更适合当前应用的全文检索引擎。在这一点上,商业软件的灵活性远远不及Lucene。其次,Lucene秉承了开放源代码一贯的架构优良的优势,设计了一个合理而极具扩充能力的面向对象架构,程序员可以在Lucene的基础上扩充各种功能,比如扩充中文处理能力,从文本扩充到HTML、PDF等等文本格式的处理,编写这些扩展的功能不仅仅不复杂,而且由于Lucene恰当合理的对系统设备做了程序上的抽象,扩展的功能也能轻易的达到跨平台的能力。最后,转移到apache软件基金会后,借助于apache软件基金会的网络平台,程序员可以方便的和开发者、其它程序员交流,促成资源的共享,甚至直接获得已经编写完备的扩充功能。最后,虽然Lucene使用Java语言写成,但是开放源代码社区的程序员正在不懈的将之使用各种传统语言实现,在遵守Lucene索引文件格式的基础上,使得Lucene能够运行在各种各样的平台上,系统管理员可以根据当前的平台适合的语言来合理的选择。

3. 研究的基本内容与计划

本毕业论文的内容为设计并实现一个基于lucene搜索引擎的搜索网站,搜索网站的核心部分包括网络蜘蛛、网页索引和搜索三个部分。网络蜘蛛部分采用基于递归和归档机制的Heritrix网络爬虫;网页索引部分利用开源的Lucene引擎架构设计并实现一个索引建立与管理子系统;搜索部分在Ajax技术支持的基础上,设计并实现一个灵活、简洁的用户接口。

开始2-4周先利用Java搭建一个简单的用户界面,学习利用Lucene模块实现内部文件的搜索;接下来再利用2-4周时间学习运用Heritrix网络爬虫,对网上的信息进行抓取,然后再用之前实现的用户见面尝试搜索提前抓取的内容,并利用Ajax技术进行简洁的展示;再利用1周时间对搜索引擎进行优化;最后的1-2周在设计成果的基础上完成论文;

4. 研究创新点

lucene作为一个全文检索引擎,其具有如下突出的优点:

(1)索引文件格式独立于应用平台。lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。

(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版