站内全文搜索引擎的设计与实现.doc
毕业论文(设计)论文(设计)题目站内全文搜索引擎的设计与实现目录摘要1ABSTRACT2第1章绪论311课题的研究背景与意义312研究现状413本文的工作4第2章站内搜索引擎相关技术介绍621全文检索技术622NET相关技术7221NET平台7222VISUALSTUDIO2012开发平台723LUCENENET介绍8第3章站内搜索引擎的设计与实现931站内搜索引擎功能需求932站内搜索引擎总体设计及数据库设计10第4章站内搜索引擎关键代码实现1141主界面11第5章总结与展望14参考文献150摘要淘宝的出现,电子商务井喷式的发展,以及越来越多的社交网站、团购网站、专门类信息网站的出现,海量的数据蕴含在网站之内。巨大的信息量无疑是把双刃剑,在给用户提供丰富信息的同时,也给用户提了一个大大的难题,如何在这海量信息中找到用户想得到的信息,尤其是当用户提供的是一组信息不是十分明确的词组时,如何能讲有用的信息条理清晰地提供给用户,这进一步刺激了站内搜索技术的发展。本文在总结站内搜索功能的同时,在研究了站内搜索相关技术的基础上,设计并实现了一个简易的站内搜索引擎,实现了在内搜索的主要功能。关键词站内搜索;NET;LUCENENET1ABSTRACTTHETAOBAOEMERGENCEOFECOMMERCEDEVELOPMENTSPURT,ASWELLASAGROWINGNUMBEROFSOCIALNETWORKINGSITES,GROUPBUYINGSITES,THEEMERGENCEOFSPECIALIZEDCLASSINATIONWEBSITECONTAINSVASTAMOUNTSOFDATAWITHINTHEWEBSITEAHUGEAMOUNTOFINATIONISUNDOUBTEDLYDOUBLEEDGEDSWORD,GIVINGUSERSAWEALTHOFINATION,BUTALSOTOPROVIDETHEUSERABIGPROBLEM,HOWTOFINDAUSERWANTSINATIONINTHISMASSOFINATION,ESPECIALLYWHENTHEUSERISOFFEREDAWHENINATIONISNOTVERYCLEARSETOFPHRASES,HOWCANSPEAKCLARITYOFUSEFULINATIONAVAILABLETOUSERS,WHICHFURTHERSTIMULATEDTHEDEVELOPMENTOFTHESTATIONSEARCHTECHNOLOGYTHISPAPERSUMMARIZESTHESTATIONSEARCHFUNCTIONATTHESAMETIME,INTHESTUDYOFTHESTATIONSEARCHRELATEDTECHNOLOGIES,BASEDONTHEDESIGNANDIMPLEMENTATIONOFASIMPLESITESEARCHENGINE,INCLUDINGTHEREALIZATIONOFTHEMAINFUNCTIONSOFTHESEARCHKEYWORDSSITESEARCHNETLUCENENET2第1章绪论自从有了计算机以后,人类开始用计算机保存信息,有保存就需要查找,于是出现了检索技术。文本检索技术的发展从最初的SMART文档检索系统到ALTAVISTA搜索引擎,到现在的搜索巨头GOOGLE,人们习惯在互联网上搜索需要的信息1。同时在同一个网站内往往拥有大量的资源,怎样在网站内部使用户能够迅速的找到所需信息,已成为一个网站能够吸引用户的重要方面。随着信息地快速增长,这一方面的需求越来越大,在很大程度上严重影响到WEB站点的成功2。因此,建立站内搜索引擎成为必要。所谓站内搜索无非就是对数据库信息的检索,当然,数据库通过SQL查询也在一定程度上提供了这样的功能。但是,数据库所提供的LIKE’KEYWORD’查询,不但效率不高,尤其是在多字段查询时,而且所提供的仅仅是关键字的全信息匹配,所查询到的内容必须是“KEYWORD”的顺序匹配,这对于大多数网站,尤其是大型网站来说,基于数据库查询的站内搜索往往出现检索数据不准确、更新慢、无法控制检索等问题3。那么,如何来解决这个问题呢搜索引擎的出现给了人们带来了一线希望。诸如GOOGLE、BAIDU等全文搜索引擎能够提供一种基于全文信息的搜索方式,并且能够在所提供的一个或一组词中分离出具有一定含义的词,并以这些词为关键字搜索并得到包含这些关键字的信息4。然而,我们无法做到在自己的网站中做出一个如BAIDU、GOOGLE那样的搜索引擎。但是,LUCENE的出现,使这种实现成为可能,它是一个开放源代码的全文检索引擎工具包,利用LUCENE建立的全文检索系统可以通过其丰富的分析技术达到令人满意的检索效果5。11课题的研究背景与意义在以往网站建设、企业信息系统搭建过程中,由于信息结构简单、内容稀缺,站内搜索乃至搜索都不是网站系统的必要装备。但随着WEB20带来的海量信息井喷式涌现,企业自身对信息架构、管理、发布的需求,以及用户对信息的组织、查询、可寻性的要求越来越高,于是站内搜索出现了。3淘宝的出现,电子商务井喷式的发展,以及越来越多的社交网站、团购网站、专门类信息网站的出现,海量的数据蕴含在网站之内。巨大的信息量无疑是把双刃剑,在给用户提供丰富信息的同时,也给用户提了一个大大的难题,如何在这海量信息中找到用户想得到的信息,尤其是当用户提供的是一组信息不是十分明确的词组时,如何能讲有用的信息条理清晰地提供给用户,这进一步刺激了站内搜索技术的发展6。站内搜索通俗来讲是一个网站或商城的“大门口”,一般在形式上包括两个要件搜索入口和搜索结果页面,但在其后台架构上是比较复杂的,其核心要件包括中文分词技术、页面抓取技术、建立索引、对搜索结果排序以及对搜索关键词的统计、分析、关联、推荐等7。12研究现状站内搜索主要提供的是全文搜索功能,常用的检索技术分为如下两种(1)使用关系数据库的LIKE’KEYWORD’查询来代替全文检索系统。这种方法在信息量比较小的情况下,检索速度比较快,但是由于查询语句比较繁琐,在面对海量信息的情况下,检索速度会急剧降低,其性能也往往达不到要求,甚至影响数据库的其他正常使用,尤其是在网络状态下,这方面的缺陷尤为明显8。(2)使用通用的数据库系统提供的全文检索功能。一些信息化平台虽称实现了全文索引库,但其实质是模拟的全文索引库,其通过先检索放在关系数据库里的结构化数据,如题目、摘要、内容等,然后链接全文以获得全文,而真正实现全文检索的不多,而且在数据量比较大,特别是在海量数据的情况下,检索的效率仍然比较低9。13本文的工作本论文在研究了全文搜索相关文献的基础上,分析了LUCENENET框架,基于NET平台,实现了一个简单的站内搜索引擎,主要研究内容包括10(1)全文检索知识的研究。包括全文检索的基本原理和相关理论;(2)NET平台相关技术的研究。包括,NETFRAMEWORK介绍,VISUALSTUDIO4开发环境介绍;(3)分词框架研究。包括LUCENE介绍及工作原理。(4)设计并实现一个简单的站内搜索引擎。5第