桌面搜索引擎的设计文档

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地址的查询。

 

详情请进:

http://www.18ie.com/wordpress/index.php?p=43


0.011 sec