- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
优秀设计
全套CAD图纸或资料,联系qq 1360715675 各专业都有
联系方式:QQ223857666勾月
基于C#的桌面搜索系统文档
1 引言
随着计算机技术的发展,本地和互联网上的信息量越来越大,想要获取有用的信息相当困难,尤其对于网站建设来说需要快速地更新网络信息,传统的人工筛选方式容易出错且效率很低,因而在庞大的数据量中进行人工筛选越来越不现实,需要借助搜索软件来辅助人们的工作。
使用搜索系统可以快速找到需要的信息,从而节省了劳动力并且提高了工作效率。作为现代信息获取技术的主要应用——“搜索引擎”对于计算机相关人员来说是非常有必要的,本搜索系统可以为用户提供一个快速、准确检索信息的解决方案。
1.1 研究意义
对于普通用户来说,该搜索系统可以对本地硬盘上大量的文本数据进行筛选,获得文件的位置信息并可打开文件进行操作,给普通用户带来极大的方便。另外用户可以将感兴趣的站点进行下载分析,选择含有关键字的网页浏览。对于计算机相关人员尤其是网站维护管理人员来说,可以在收集的资源中快速找到需要的信息发布到网站上,另外在无版权问题时,可下载网页资源进行分析找到所需的信息,然后摘录到自己的网站上。
1.2 搜索系统概述
本系统支持全文检索,全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式[1]。这个过程类似于通过字典中的检索字表查字的过程。全文检索系统的结构与功能如图1.1所示。
图1.1 全文检索系统的结构与功能
2 编程语言、开发工具及Lucene介绍
基于Lucene的桌面搜索系统,采用C#语言,使用Microsoft Visual Studio .NET开发工具,以开源项目dotlucene的dll(版本)作为核心。
2.1 C#介绍
C#是一种简单、现代、面向对象和类型安全的编程语言,由C和C++发展而来[2]。C#是C/C++系列中第一个面向组件的程序语言。近几年来,面向组件式的程序设计方式已被广泛的应用,组件的设计在C#中可一次完成,不再像C++一般得要处理一些头文件,IDL等外部文件。
C#执行在.NET Framework上,通过C#编译器所编译的程序称为Managed Code,它只能够在.NET Framework上的Common Language Runtime上执行[3]。
C#通过编译器编译产生EXE或DLL等可执行文件,这些编译过的EXE或DLL并不是CPU可以直接执行的程序代码(Native Code),而是一种中间语言(Intermediate Language)。中间语言是一种与CPU无关的指令集(Instruction Set),这使得由C#所编译的程序可以在任何支持.NET Framework的操作系统下执行,实现了微软“撰写一份程序,到处可以执行”的目标。事实上,不仅是C#,任何.NET程序语言都是以相同的方式运行的[4]。
在.NET Framework中,类型安全性(Type Safety)会在程序代码真正执行前先进行检验的操作。如果程序中有参考到其它的外部类函数库(Class Library),CLR Class Loader也会动态地将参考的类函数库载入[5]。
C#的目标在于把Visual Basic的高生产力和C++本身的能力结合起来,C#是专门为.NET应用而开发出的语言,所以C#和.NET框架完美的结合在了一起[6]。C#有着突出的特点。
a) 简洁的语法
在缺省的情况下,C#代码在.NET框架提供的“可操控”环境下运行,不容许直接地内存操作。它所带来的最大特色是没有了指针。C++中使用各种不同的操作符而在C#中只支持“.”需要理解的仅仅是一个名字嵌套。
C#对C++中的语法冗余进行了简化,只保留了常见的形式。
b) 精心的面向对象设计
C#具有面向对象的语言所应有的一切特性:封装、继承与多态。C#通过精心的面向对象设计,从高级商业对象到系统应用,使得C#是建造广泛组件的绝对选择。
在C#的类型系统中,每种类型都可以看作一个对象。C#只容许单继承,从而避免了类型定义的混乱。C#中没有了全局函数,没有了全局变量,也没有了全局常数。所有成员必须封装在一个类中。代码具有更好的可读性,并且减少了发生命名冲突的可能。
c) 与Web 的紧密结合
由于Web服务框架的帮助,网络服务看起来就像是C#的本地对象。可以使用已有的面向对象知识与技巧开发Web服务。
d) 完全的安全性与错误处理
语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。C#先进的内存管理中的垃圾回收机制减轻了开发人员对内存管理的负担。
您可能关注的文档
- 柴油机P型喷油器设计(全套有图纸).doc
- 柴油机齿轮室盖钻镗专机总体及夹具设计(全套有图纸).doc
- 柴油机机体顶面精铣床设计(全套有图纸).doc
- 柴油机进气管铸造设计(全套有图纸).doc
- 柴油机连杆工艺工装设计(含全套有图纸).doc
- 柴油机曲轴断裂分析(全套有图纸).doc
- 柴油机燃用水煤浆的设计(全套有图纸).doc
- 柴油机数字化快速设计系统中实例库的建立(全套设计有图纸).doc
- 柴油机新型燃油分配泵结构设计(全套有图纸).doc
- 铲运机液压系统试验台的设计(全套有图纸).doc
- 基于CAPP的XZ25.50箱体工艺规程及专用夹具(全套有图纸).doc
- 基于Dynform的车门冲压成形过程仿真与坯料设计(全套有图纸).doc
- 基于pro-E的减速器箱体数控加工自动编程(全套设计有图纸).doc
- 基于PROE的模具设计(全套有图纸).doc
- 基于PROE的双轴双凸轮联动轨迹再现机构机械装置的设计(全套有图纸) .doc
- 基于ProE的蒸汽电熨斗的建模设计(全套有图纸).doc
- 基于PROE平台的柴油机机体工艺及三面精镗夹具设计(全套有图纸).doc
- 基于PROE平台的立式双轴缸孔半精镗机床总体及刀具设计(全套有图纸).doc
- 基于Solidworks的齿轮泵设计(全套有图纸).doc
- 基于SolidWorks的电除尘器振打装置设计(全套有图纸).doc
文档评论(0)