Lucene.Net.Store 数据存储管理,主要包括一些底层的I/O操作
Lucene.Net.Util 一些公共类
从结构功能表中可以看出Lucene.Net提供了非常全面的索引以及查询模块。
它的功能就是把数据传给Lucene.Net,查询数据时从Lucene.Net 查询数据,可以把它看做是提供了全文检索功能的一个数据库。Lucene.Net不管文本数据是怎么样获取到的。用户可以基于Lucene.Net开发满足自己的个性需求的搜索引擎。Lucene.Net只能针对文本信息进行检索。如果不是文本信息,就要转换为文本信息,比如要检索Excel文件,就要用NPOI把Excel读取成字符串,然后把字符串传送给Lucene.Net。Lucene.Net会把扔给它的文本切词进行保存,加快检索速度。因为是保存的时候分词,所以搜索速度非常快,Lucene.Net的特点如下:
(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,并且使得兼容系统或者不同平台的使用可以共享建立的索引文件。
(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,加快索引速度。然后通过源于索引的合并,达到优化的目的。
(3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便以后扩充新功能。
(4)设计了独立于与语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。
(5)已经默认实现了一套强大的查询引擎,用户不用自己编写代码即使系统可获得强大的查询功能,Lucene的查询实现中默认实现了布尔操作,模糊查询,分组查询等操作。
1.2课题背景及意义
搜索引擎是网站建设中针对“用户使用网站的便利性”所提供的必需功能,同时也是“研究网站用户行为的一个非常有效的工具”。高效的站内搜索引擎可以让用户快速精确地找到目标信息,从而更有效地促进服务的销售。站内搜索不同于百度,Google这些搜索。站内搜索是网站当中的非常重要的一个模块,有一定访问量的互联网站都有站内搜索功能,比如优酷,豆瓣,淘宝,大众点评网等。
随着计算机技术和互联网技术的急速发展,网络上的信息量急剧增长,要在浩如烟海的网络世界中寻自己所需要的信息,作为现代信息获取技术的主要应用,那么搜索引擎是不可或缺的。通过Lucene.Net,可以很方便的构建起搜索引擎,本毕业设计除了考查使学生综合运用以前所学知识的能力以外,同时也使学生了解现在搜索及编程的一些新技术,并且可以模拟简单的站内搜索引擎开发。
1.3课题目前研究情况及存在问题
现在有一些成熟的搜索引擎可以使用,但是大部分都是用于商业,一般不公开源代码,所以学习起来比较困难,所以一些开源的项目成为设计时的首选,经过对搜索技术的研究,在Apache上发现了一个Java实现的用于搜索的开源项目Lucene,Lucene目前是公认的最好的搜索方面的开源项目之一,Lucene.Net就是从Lucene上移植过来的版本,所以它的扩展性比较好,可以适用于大多数的平台,所以是站内搜索引擎的最理想的技术,但是目前仍然存在一些问题:
(1)因为实际项目需要.Net平台,所以要移植到.Net平台上使用。
(2)Lucene默认是不支持中文搜索的,所以要通过扩展API使其支持中文搜索和实现基本的中文分词。
(3)由于公司项目的具体需求,以后会遇到多条件的搜索,以及搜索SQLServer数据库和联合多个目录进行的搜索问题。 基于Lucene.Net的站内搜索引擎的设计(2):http://www.751com.cn/jisuanji/lunwen_10257.html