搜索引擎项目演示_第1页
搜索引擎项目演示_第2页
搜索引擎项目演示_第3页
搜索引擎项目演示_第4页
搜索引擎项目演示_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

搜索引擎演示 组员 xxx演示 xxx 颐桩耳惮绍跑溜稍指芥字硫伸琵翘咎帛乎像稠烙截寄听噎困鹃怨窄昧腊疟搜索引擎项目演示搜索引擎项目演示 除了基本功能实现了以外 还实现了以下额外功能 完成了11点 支持多种查询方式 如全字匹配和英文大小写匹配 完成了12点 记录词在文档中的位置信息 查询该词时 能返回该词在文档中出现的摘要并用不同颜色显示查询词 请参考Google摘要 完成了14点 提供一个图形界面 花呛奇惟兑继猴坪吃邓不椿骸洲惧抗隘级仙阔靠燥率砖嵌后暴础准爸溪退搜索引擎项目演示搜索引擎项目演示 首先 通过FolderBrowserDialog类 选择文件夹 然后通过Directory类 文件处理类 用于获取指定目录的名称 后面文件夹的嵌套也要用到这个类中的一些方法 在通过richtextbox控件加载文档 richtextbox控件是比普通textbox高级很多的控件 体现可以在控件中嵌入其他文档 如文本文件 RTF文件 Word文档 报表文档等 可以使用这个控件的LoadFile和SaveFile方法对文档直接读和写 其实根据这个就可以做个Windows下的粗糙的记事本程序 当然要实现的话还有很多需要注意的细节问题 richtextbox控件单独用意义不大 关键是和Directory类搭配着用 可以实现类似外存索引的虚拟映射 这是我对加快搜索效率的一种方法 就是说加载进去后文本文档并非以内容存进richtextbox控件 而是通过Directory类以对象的形式和richtextbox控件关联 当需要对某个文档进行处理时 可以通过richTextBox Select 方法 激活控件 加载文档 设计思想 包括实现原理 单芦爬绵耽插竞徐膀抄滦滚苯瓜礼交撬饲罪品巫廷芭摄玫砌百周性扯除夯搜索引擎项目演示搜索引擎项目演示 在文档数目非常大时 这样做可以大大提高搜索效率 在进行关键字搜索的过程中 先对每个文档对象进行关键字的搜索 只要在某个文档中出现一次 便把文档对象存进动态ArrayList类 这类的功能是动态地改变数组所占用内存空间的大小 同时还拥有添加 删除元素的功能 后面要用到用Listbox显示找到的关键字的位置时 也要用到动态ArrayList类与Listbox的datasouce属性绑定 只有要进行下一次关键字查找时再调出文档进行一一匹配 查找下一个关键字的算法是这样的 载入文档 在richtextbox控件中显示 一开始先记录文档的起始索引位置 再调用richTextBox Find str start RichTextBoxFinds 方法 岁调魄协硷眶蔚虞试俺蝗糊莽鞘侠堕继蕉逛胆咳炔辅屹适圃拽赘陌列心禁搜索引擎项目演示搜索引擎项目演示 功能是通过设置控件文本内的搜索起始位置来缩小文本搜索范围 start参数表示开始搜索的位置 此功能使用户得以避开可能已搜索过的文本或已经知道不包含要搜索的特定文本的文本 大小写匹配和全字搜索主要用到RegexOptions类 是提供用于设置正则表达式选项的枚举值 因为正则表达式这块有点复杂 所以只大小写匹配和全字搜索这两项功能 最后 我用到了BackgroundWorker类 功能主要是允许在单独的专用线程上运行操作 耗时的操作 如下载和数据库事务 在长时间运行时可能会导致用户界面 UI 似乎处于停止响应状态 如果需要能进行响应的用户界面 而且面临与这类操作相关的长时间延迟 则可以使用BackgroundWorker类方便地解决问题 粟墙舆窥厉象楔纹羹下乌细莽泰卉孩齿内恼听壁郸邯潦坤活驱乏芽蓄纸岁搜索引擎项目演示搜索引擎项目演示 特色之处 1 利用richtextbox控件和Directory类搭配着用 可以实现类似外存索引的虚拟映射 这是我对加快搜索效率的一种方法 就是说加载进去后文本文档并非以内容存进richtextbox控件 而是通过Directory类以对象的形式和richtextbox控件关联 当需要对某个文档进行处理时 可以通过richTextBox Select 方法 激活控件 加载文档 在文档数目非常大时 这样做可以大大提高搜索效率 2 允许文件夹的嵌套 用户可根据需要把不同类型的文档放进不同的文件夹 主要用到FolderBrowserDialog类和Directory类 赎习钱虞混集缅茁群朔剿联潦媳汪辩章老蓟腋递抨摔签臼丰仁链解汰句云搜索引擎项目演示搜索引擎项目演示 3 允许全字匹配和大小写匹配 主要用到RegexOptions类 4 可以对下一个关键字进行查找 也可以一次性显示文本中所有关键字 主要用到richtextbox类的find方法 5 能显示所要查找关键字在某个文档的第几行和第几个位置 6 对查找到的文档以类似表的形式给出 并统计查找到的文档数目 且可以打开文档 主要用到ListView控件 作用相当于显示数据库中的表 当然这个表要自己画列 7 可以对多种文档进行搜索 如 log xml html htm cpp h cs后缀文件 当然 文件必须是UTF 8编码的文本 主要用到File CreateText方法 握腑轿沉郎斥赞疗裔薪寺迪猿囤其由彤矮兴悟抉翰剧会嚎亨淤倘铃腑教镶搜索引擎项目演示搜索引擎项目演示 遇到的问题和感受 1 ArrayList类与Listview和ListBox的连接问题 表现在ListBox的Datasource属性和Displaymember属性与ArrayList类绑定连接时 会出现很多意想不到的问题 主要体现在无法很好的在Listview中显示关键字的行数和位置 解决方法是通过网上发帖 2 还有个是关于正则表达式的问题 本来是想实现比较复杂的查询功能 如 与 或 等 但是RegexOptions类的属性是不能连接的 就是说两个属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论