桌面搜索引擎的设计文档
ftfind 桌面搜索引擎的设计文档 (1)
坦白地说,我设计软件时,和很多程序员一样,也不爱写文档。
上半年,我写了一个桌面搜索引擎,类似于google desktop search 。
下载地址:http://www.18ie.com/find/download.php
9月18号那天,把它递交到河南省青年软件大赛,看看能得第几名。
花了整整2个星期的时间,才写完了这个文档。现在放在网络上,希望会给大家带来一些帮助:
1)对于初学者,会对桌面搜索引擎的内部结构有所了解。
2)给以后参加此类软件大赛的选手一个参考例子。
详情请进:
http://www.18ie.com/wordpress/index.php?p=41
ftfind 桌面搜索引擎的设计文档 (2)
一般性描述
本软件要提供的主要功能是:帮助用户在自己的计算机的本地硬盘中,迅速进行全文检索。
软件语言采用DELPHI和Vc 混合编程。使用Delphi 编写主程序ftfind.exe,包括http server、遍历模块和软件界面等模块。使用Vc编写动态连接库fullindex.dll, 包括全文检索和中文分词等模块,供主程序ftfind.exe调用。
限制与约束:
为了方便软件在网络上的传播,在设计时,需要尽量精减软件的尺寸:整个软件的安装包限制在1M字节之内。在一个安装包内,提供全文检索的完整功能,内含微型化的http 服务器,hash型文件数据库,中文分词模块,中文词汇表,doc解析模块,html解析模块,文件遍历模块,模版化人机界面等。
性能需求:
1) 查询时,最长的响应时间:控制在800毫秒和1秒左右;平均响应时间:控制在200毫秒之内。
2)内存平均占用控制在4M-10M之间。
3)软件安装包的大小控制在1M之内,以方便下载。
4)倒排索引文件的占用随索引范围而变动,采用中文分词技术,以词汇为单位进行存储,以期减少对硬盘空间的消耗。
5)如果计算机死机或者突然断电后,软件重新启动时,应该具备自我修复功能,避免从头再次建立索引。
6)提供模版化人机界面,如果用户具备编写html的能力,可以灵活地自行修改查询结果的显示页面。
安全性需求:
只允许来自本地IP地址(127.0.0.1)的查询,拒绝来自局域网和互联网的其他IP地址的查询。
详情请进: