1 引言
21世纪,中国互联网搜索引擎领域可谓群雄逐鹿,百度、Yahoo、中搜、搜狗等等都使出浑身解数吸引着网民的眼球。这些大网站可谓是各有所长,总的来说虽然他们搜索功能都很强,但是搜索得到的结果基本上是千篇一律,信息的冗余量很大,网民不得不在一次又一次的翻页中浪费时间,或者为了想出一个好的关键词而绞尽脑汁。要是有一个有针对性的搜索引擎就好了,并且这个针对性应该是可以控制的。
2 SOSO的由来
笔者在上网搜索的过程中曾有这样痛苦的经历。由于笔者爱好编程,经常需要上网查找技术资料。但是搜到的结果往往是来自一些不起眼的小网站,它们主要是转载CSDN,赛迪网等一些技术大站上的文档,可恶的是,这些小网站常常转载不全,广告成堆,乱弹窗口,更有甚者还有病毒、木马等防不胜防。笔者当时想,如果有一个“IT技术文档搜索引擎”就好了,可惜没有,于是就自己动手做吧。我把CSDN、IT168、赛迪网等IT技术网站存储在“被搜网站库”中,按一定的周期启动Spider(蜘蛛)程序(Spider的原理后面讲),Spider搜到的结果按一定格式暂时存在硬盘上,然后由Carrier(搬运工)程序异步转存到数据库中,再利用SQL Server强大的全文检索(不是用Like语句J)结合Asp.net做出查询界面,这便有了SOSO的原型。由于SOSO只搜特定的网站,数量少,因此数据更新的速度更快,而且由于事先对网站就有了筛选,搜到的结果质量也比较高,比用大型搜索引擎有更好的用户体验。后来笔者想起校网络中心的老师曾提议做一个专门搜索华师校内所有网站信息的搜索引擎,便做了Scanner程序,它的功能是检索出给定的IP范围内所有的网站,并把这些网站的主要信息存入“被搜网站库”。于是便有了“华师人自己的WEB搜索引擎------MySOSO”,网址http://it.ccnu.edu.cn/mysoso。网站推出后受到了同学们的好评,校领导也曾在校网络建设工作会议上点名表扬。有个同学说:“以前想查一下校学生会主席的资料,用Google和Baidu搜到的结果都不理想,因为重名的太多了。有了MySOSO就好多了,搜到网页也都是来源于校内各大网站,真实可靠。”
3 SOSO的技术说明
3.1 SOSO的工作环境
软件环境:Windows平台(推荐Win2000,Win2003 Server)+.NET1.1 Framework + SQL Server 2000。硬件环境:服务器一台,配置越高越好。当然有多台服务器更好,这样Spider可以并行地在多台机器上跑。
3.2 SOSO的基本原理
SOSO主要由五部分组成,数据库+WebScanner+WebSpider+Carrier