lucene的站内搜索引擎的研究与实现(源码)

摘 要随着时代的进步,世界迈入了一个信息爆炸的时代,人们无时无刻的不在接收着各式各样的信息。而其中,互联网的扩张使得网络成为人们获得信息的一个主要途径,由此也带来了大量的网络数据,因而,搜索引擎的搜索性能成了许多人对信息获取速度的主要考量。仅仅只靠数据库提供的搜索方法,已经不满足于现今人们的要求。Apache软件基金会提供了一个优秀的项目——Lucene,对于搜索的应用上有很大的贡献,它是一个良好的全文搜索引擎架构,开源的它使得开发人员更加容易对它进行应用和改造。本文主要通过研究与分析Lucene插件及其工作机制,设计与实现了一个基于Lucene的站内搜索引擎,当新闻内容发布时,能够利用Lucene完成分词,生成内容索引,当用户搜索时能够利用已有的索引快速的定位搜索内容,可适用于当今许多内容管理系统,在用户搜索内容时提供了良好的搜索速率。同时,本文还通过对比基于SQL的站内搜索,比较两种方式的速率差异。
Keywords:Search Engine;Lucene; Station Within Search;Content Management System 目 录
第一章 绪论 1
1.1 基于Lucene的站内搜索引擎的背景 1
1.2 基于Lucene的站内搜索引擎的目的与意义 1
1.2.1 基于Lucene的站内搜索引擎的目的 1
1.2.2 基于Lucene的站内搜索引擎的意义 1
1.2.3 基于Lucene的站内搜索引擎的研究方法 1
第二章 开发环境、语言和相关技术介绍 3
2.1 .NET开发平台介绍 3
2.2 SQL Server数据库 3
2.3 Lucene技术介绍 4
2.4 盘古分词介绍 4
第三章 Lucene.NET组件的安装部署与分析 6
3.1 Lucene.NET组件的安装部署 6
3.2 Lucene.NET的总体框架 9
3.2.1 Lucene.NET的执行流程 9
3.2.2 Lucene.NET各模块功能 9
3.3 全文检索的基本原理 10
3.
 *好棒文|www.hbsrm.com +Q: @351916072@ 
3.1 全文检索的含义 10
3.3.2 索引的创建 11
3.3.3 搜索索引 12
第四章 实现过程 13
4.1 数据库设计 13
4.2 具体实现代码 13
4.2.1 索引的创建 13
4.2.2 搜索索引 17
4.2.3 基于SQL的搜索 19
第五章 功能演示 21
5.1 搜索功能演示 21
5.2 总结 22
结束语 23
致 谢 24
参考文献 25
第一章 绪论
1.1 基于Lucene的站内搜索引擎的背景
随着信息爆炸时代的来临,互联网上充斥着各种各样的信息。哪怕仅仅只是一个新闻发布网站,每天都要新增许许多多的新闻。随着新闻的不断累积,数据库中文新闻数量也以指数型增长,简单的搜索语句所耗费的时间也令人瞠目结舌。搜索数据的时间过长,影响用户的体验,对网站的使用程度也会大大减少。所以,如何高效快速地对数据库中的数据进行检索成了许许多多内容管理系统需要考虑的事情。
除了对搜索速度的要求外,对用户输入的词句分析一大难题。由于用户在知识水平,语言体系以及描述水平上的不同,对于同一件的事情的上的描述也是各有不同。在英语中,对于一句话尽心分析,只需要对空格进行拆分,将拆分的每一个单词进行查找即可。但是由于中文语法的特殊性,一句话可以有多种表达方法,由于切词的位置不同,也会产生不一样的词义与句义。由此可以看出,一个好的分词方法也为搜索引擎提供了非常巨大的帮助。
1.2 基于Lucene的站内搜索引擎的目的与意义
1.2.1 基于Lucene的站内搜索引擎的目的
在当下许多网站当中,用户如果希望查找该网站某一条具体的新闻,需要在网站的历史记录一一进行排查,既花费了大量的时间,还需要用户对新闻的标题或者时间有相对应的记忆,而且还不一定可以查找的对应的内容,偶尔的晃神也可能与所查找新闻擦肩而过。所以站内搜索引擎也就应运而生。使用站内搜索引擎的目的就是为了更加快速、准确、智能的搜索出用户所需要的数据,提升网站的用户体验,让网站在众多的内容管理系统网站中脱颖而出。
1.2.2 基于Lucene的站内搜索引擎的意义
使用站内搜索引擎,可以增加网站的用户体验,使用户快速准确地获取想要的数据。用户在体验到高速搜索数据之后,对于耗时耗力地缓慢搜索会产生抗拒与厌烦,使得有站内搜索引擎的网站可以在同类型网站中慢慢凸显出来,即使别的网站在之后也加入了站内搜索引擎,在同等数据库时,用户会更加习惯使用一开始所使用的网站,给该网站带来了稳定的网站的访问量。
1.2.3 基于Lucene的站内搜索引擎的研究方法
该课题所采用的研究方法主要有:网络搜索法、文本文献研究法以及实践研究法。网络搜索法主要是通过互联网搜索有关于该课题的所需要的资料,通过在互联网上进行提问的方法来解决自己在实践过程中所遇到的问题,来实现站内搜索引擎。文本文献研究法主要是通过对已经出版的杂志、报刊、书籍等进行阅读理解,了解有关于Lucene和站内搜索引擎相关领域的技术以及作者对其的理解与用法。通过网络搜索法和文本文献研究法将所获取的资料与实际项目进行结合,应用到实际的内容管理系统网站上,经过不断地优化、改善、修改调整之后,完成一个较为实用,符合网站要求的站内搜索引擎。 第二章 开发环境、语言和相关技术介绍
2.1 .NET开发平台介绍
.NET框架是由微软(Microsoft)开发的一个多语言组件的开发和执行环境,是一个致力于敏捷软件开发、快速应用开发以及平台无关性和网络透明化的软件程序开发平台。它是一个跨越编程语言的集成开发环境。.NET框架构成的主要作用是为了使软件开发工程师更加方便快捷的地开发Web应用程序和Web服务,通过相关的Web服务就可让因特网上应用程序相互通信了。从应用软件开发的层次结构上来看,.NET框架包含三个主要的层次结构:公共语言运行时(CLR:Common Language Runtime)、服务框架(Services Framework)以及上层的两类应用模板——使用ADO.NET开发的Windows应用程序(WinForms)和使用ASP.NET开发的Web应用程序(WebServices和WebForms)
ASP.NET是微软旗下的.NET Framework框架之中的一个重要的构成部分,它是由微软公司推出的一项Web开发技术,能够使嵌套在网页中的脚本在因特网服务器上执行的一项服务器端脚本技术,它能够在通过HTTP向服务器请求文档时再在Web服务器上动态创建它们。ASP.NET的意思可以理解为.NET下的Active Server Pages(动态服务器页面),运行于IIS(Internet Information Server服务,均为微软公司开发的基于Windows桌面化操作系统的Web服务器)之中的程序。
本系统基于ASP.NET开发,项目需要部署在IIS 6.0以上版本,服务器操作系统版本需要在Windows Sever 2003之上。本系统可以通过网页浏览器访问,浏览器需要IE 8.0以上的版本、Chrome 30.0以上的版本、Mozilla Firefox 8以上的版本。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2144.html

好棒文