本站所列毕业设计(论文)资料均属于原创者所有,初衷是为大家在毕业设计(论文)过程中参考和学习交流之用。

毕业设计我帮你

基于Web的搜索服务器搭建设计

基于Web的搜索服务器搭建设计

使用Visual Studio开发工具创建基本窗体构架,使用Lucene完成数据的处理,搜索等操作。对站内搜索进行开发,完成搜索等功能。对系统的主要功能和核心模块开发技术进行研究与学习。

如需购买请QQ扫描右边二维码或者加QQ 3449649974 咨询 毕业设计(论文)代做请加QQ 2269757180 微信号:bylwwwww


  • 详细描述

    基于Web的搜索服务器搭建设计
    摘要:web搜索服务器是对数据的抓取和检索的工具,它的数据来源可以是网络上的信息还有可能是自己数据库中的信息。网络上的信息是需要网络爬虫去获取的,对于数据库中的信息获得方式有许多。本系统实现的是对数据库中数据的检索,网络数据的抓取。对于数据库的检索我们需要提高它的读取速度,和准确度。这需要分词技术和全文检索技术的支持。本系统采用现在开源的Lucene全文搜索引擎帮助使我们实现对于数据的检索和索引的创建,但是 Lucene的内置分词是英文的所以我们需要加入中文的分词支持,盘古分词是一款比较好用的中文分词工具。利用这些工具可以快速开发出一款基于Lucene的站内搜索服务器。系统的主要功能就是实现对于从数据库中信息检索,将数据库中的数据转成需要的索引数据,查询索引数据来提高效率。
    关键词:Lucene;盘古分词;全文搜索;搜索引擎 
     
    目录
    第一章 绪论 4
    1.1课题的背景及意义 4
    1.2国内现状 4
    1.3 方法与技术概述 4
    1.3.1 相关开发工具 5
    1.3.2 Lucene.net全文检索 5
    1.3.3盘古分词 5
    1.3.4网络爬虫 6
    第二章 系统分析 6
    2.1需求分析 6
    2.2搜索过程分析 6
    2.3 功能分析 7
    2.4工具介绍 8
    2.4.1 Lucene.net 8
    2.4.2 盘古分词 9
    第三章 数据库设计 10
    3.1数据库 10
    3.2表结构 11
    3.2.1 web搜索服务器数据库设计 11
    第四章 系统实施 13
    4.1系统实现分析 13
    4.1.1搜索架构设计 13
    4.1.2搜索显示实现方案 13
    4.2系统实现 14
    4.2.1 类设计 14
    4.2.2 索引库的创建 15
    4.2.3 索引库搜索的实现 16
    4.2.4 获取数据库数据模块的实现 17
    4.2.5 网络爬虫模块的实现 18
    第五章 系统测试和使用说明 19
    5.1系统测试 19
    5.1.1白盒测试 20
    5.1.2黑盒测试 20
    5.2系统使用说明 20
    第六章 系统创新点 21
    6.1代码的的可扩展性 21
    6.2对于不同数据库的支持 21
    6.3使用工厂模式 21
    6.4使用压力测试 22
    总结与致谢 23
    参考文献 25
     
    第一章 绪论
    1.1课题的背景及意义
    随着web2.0的时代的到来,越来越的网站面临着数据量爆发式增长。现在要把握好用户的需求你就需要有一定数量的用户数据进行统计,这样才能更加好的把握用户的动向,更好的发展自己。加上现在大数据的发展,数据量也会更加的庞大。现在许多大型的搜索引擎,有了相当的发展。比如说谷歌,在2013年他们索引的网页数量已经达到一万亿。谷歌在准确度和全面上已经做的很好了。类似谷歌一样的搜索引擎也大都提供了网站的站内搜索的方法,但却需要将自己的网站的提交到谷歌上,对于那些局限于内网的网页,这种方式是一定不可取的。还有使用这种搜索你并不能保证搜索到的信息一定是本站点之内的。所以我们需要开发一款有效的搜索引擎来为我们自己的网站更加好的服务。有助于我们把握用户的最新动向来提升自己的服务,跟上时代的潮流。
    1.2国内现状
    现在的网页大多数都已经是交互式的网页了,当然还有许多的静态网页。对于静态网页使用网络爬虫,可以有效获取到当前网站的所有url和网页的内容,但还是需要全文检索提取出中间的信息。百度的站内搜索可以有效的解决。当然百度的排序是有商业的成分在里面。
    对于动态的网页,网络爬虫获取不到站点下的所有的url,其有很多的url是在网页上的看不到的。比如说MVC架构做的网站如果不在网页上显示的加上<a>标签的话,网络爬虫只能获取到当前页面。作为网站的开发者,我们知道所有的链接地址。可以有效的获取到这些页面和内容为用户提供搜索。
    现在有许多的比较成熟站内搜索引擎,比如说迅搜,sphinx、coreseek等他们做的都是比较好的中文全文搜索引擎,可以尝试使用一下。
    1.3 方法与技术概述
    本系统采用C# 语言开发,使用B/S架构(浏览器/服务器),使用bootstrap 开发前台的页面和优化,持久层使用传统的SQl connection。数据库采用微软的SQLServer。使用windrows的IIS 发布网站。
    1.3.1 相关开发工具
    1、Visual Studio 2012
    VisualStudio2012是微软公司推出的专门用来开发微软相关的应用程序的工具。随着VS的不断升级如今的版本已经到2017了,然而VS2017下载安装完太大了所以我没有使用,其中包括了许多的开发如android,ios等等。所以我还是采用vs2012因为本人用着顺手。
    2、Microsoft SQL Server 2012
     Microsoft SQL Server 2012是一款用来可视化数据库操作的软件,本系统开发数据库采用SQL Server。Microsoft SQL Server 2012的安全性和高可用性,高效的性能,方便的操作。对于开发的效率提高很有效果。
    1.3.2 Lucene.net全文检索
    Lucene 是apache软件基金会4 jakarta项目组的一个子项目。是一个开源的全文检索开发工具包。但它不是一个完成的全文检索工具。它拥有搜索引擎和索引引擎。Lucene是JAVA开发环境中的成熟全文检索工具开发包。而Lucene.net是Luence的.net的版本。Luence的.net版本现在是3.4它的更新比java的版本的更新慢。其中包括了搜索和索引的功能还有英语和德文的分词支持。
    1.3.3盘古分词
    盘古分词作者eaglet 曾经开发过KTDictSeg 中文分词组件,拥有大量用户。作者基于之前分词组件的开发经验,结合最新的开发技术重新编写了盘古分词组件。这个项目也有段时间没更新了。它的使用方便快捷,分词准确度足够我们使用。
    1.3.4网络爬虫
    网络爬虫(网络机器人)是用于自动抓取网页数据的程序。它的工作就是向目标网址发出请求,然后获取整个网页,对网页中的超链接继续访问下载网页,如此循环直到获取的网页没有超链接或者是程序经过检查不再获取当前页面的超连接。网络爬虫是搜索引擎很重要的组成部分。本文使用的网络爬虫是最普通的网络爬虫。只能获取当前的页面的超链接。此功能在本程序中只是辅助(便于使用者快速的获取页面上的URl)用于方便使用着获取一些常用页面。
     
    参考文献
    [1] Skeet.深入理解C#(第2版).北京:人民邮电出版社.2012
    [2] Andrew Troelsen著朱晔译. 人民邮电出版社.C#与.NET 4高级程序设计  2011 
    [3] 张昌龙 辛永平. 机械工业出版社..ASP.NET 4.0从入门到精通. 2011
    [4] 张越廷 顾彦玲 .《ASP.NET从入门到精通》 . 清华大学出版社 2008\ 
     
    收缩