最近在做一个关于搜索引擎方面的项目,于是乎研究了一点关于搜索引擎方面的东西。我们的目标是做一个轻量级的搜索引擎,相对真正的商业搜索引擎来说还是较为简单的。
对于搜索引擎这样的项目来说,我觉得重点在于质量要求,对于功能要求可能会弱一点。高并发,高存储量和快速查询是一个搜索引擎的命脉,而在功能上重点要注意的是几个算法的实现。以前做的项目大多数只是注重功能的实现,对于性能的要求很低,而这次的项目则要求我们对这方面有所注重,也是一次很好的学习过程。
从该项目的需求出发,将项目分为4个模块,分别为抓取模块,分析模块,搜索模块和用户接口模块。对于每个模块的需求进行的相应的划分。根据需求以及现实的硬件条件,初步设计出搜索引擎的体系结构,如下图。
抓取模块和分析模块