第43章 搜索引擎
搜索引擎,顾名思义,便是一种用于搜索信息而产生的工具。一般解释而言,便是通过用户的需求,和一定的算法,将用户输入的关键词与互联网上现存的信息进行匹配,并按照相关度和时间顺序,将符合要求的信息罗列在用户的眼前。
搜索引擎这门生意讲究的是个先来后到。如果能在最早的时候将知名论坛和网站的内容全部爬取,那就会在用户占有率上占尽优势。
要知道在这个时间点,日后驰名全球的寻他公司和布谷公司还在娘胎里,呀唬公司的搜索引擎虽然已经诞生,但其底层技术依旧是依靠人工存放网站目录,可谓是效率极其低下。
现在已经有互联网信息爆炸的趋势了,随着信息越来越多,人工处理流程必将被淘汰,而王向中设想的,则是抢在市场最前列,将新一代的搜索引擎提前面世。
实际上做一个搜索引擎并没有看上去那么轻松。首先是代码问题,这个年代网页技术还停留在Web1.0(互联网1.0)的时代,先暂且不提Ajax(Asynchronous Javascript And XML,异步JavaScript和XML)这种动态页面刷新机制,就连JavaScript(一种Web页面脚本语言)都还尚未出现。
还好Windows公司相当强大,早在1996年发布了ASP1.0(Active Server Pages,动态服务器页面),这也让王向中不必苦哈哈地用大量C语言进行后端代码编写工作。
接下来就是数据的爬取和存储问题。这话虽然听起来很高端,但实际上也就是将数据从别的网站上摘下来,进行索引和关键词分配的简单加工后存储的过程。
这个时候Python语言尚还叫ABC语言,很显然在这个年代使用这个失败的产品是不太合适的,使用更加成熟的C++也许可以解决一些问题。
将爬虫模型简单地铺开来讲,最基础的爬虫,便是通过程序直接访问网页的源代码,通过正则表达式匹配出网页的标题和其具体内容,再接着分析网页内的超链接所指向的页面,逐步将整个网站的内容收入囊中。
再接下来便是数据的存储问题。MySQL(一种关系数据库管理系统)可以完美地代替文本文档进行数据存取,因为它有一项对于搜索引擎而言重要的功能——索引。
索引可以给一条数据给予定义。举个最简单的比方,为了节省空间,图书馆的书一般是纵向摆放,而在每本书的侧面上,都写有书名和作者姓名。
这个书名和作者姓名,就是一本书的“索引”,当你想要找一本书的时候,显然不可能将每本书都打开细细查阅一番,这无疑是在浪费时间。而通过书名和作者名,你可以轻松地找到自己想要的那本书。
假设一本书是一条数据,那么通过索引功能,便可以轻松地将它从数据库中调取出来,而不必辛苦地逐行逐字分析书本的内容。
至于数据库访问优化,还是属于暂时不必要考虑的问题。这个时代,互联网上存在的网站还不算太多,不到1TB的硬盘便可以解决问题。
剩下的域名购买、网站报备申请等环节,则就是行政工作了,只要抽个时间便可以将它们全部搞定。
如此估算下来,王向中还需要一台服务器,一个小机房用于存放设备,以及网络费用成本。
按照目前王向中的赚钱速度,想要快速攒到所需要的钱,还需要一些时日。
不过现在他已经可以开始着手代码的框架建立了,尽管在当年那个世界,代码这一步是最难的事情,然而在王向中身上,代码是最简单的事情……
但凡是不用掏钱的事情,都是最简单的事情。
短短三天内,电信公司便派了人来,将电话线给拉好了,与此同时,王向中也向蒋红月借出重金,咬紧牙关买了一部固定电话。
尽管Windows95在这个年代是人类顶级智慧成果之一,但王向中还是愣了好一会,才逐渐熟悉它的操作方式。
在他这个现代人眼里,这个所谓最先进的系统,等同于是反人类的设计功能也不为过。
虽然王向中懂编程,懂设计,但ASP1.0和最初代的C++还是让他遇到了不小的困难。不同于日后隐隐有大一统趋势的编程语言,此时它们的编码结构和习惯简直是天差地别,对比未来的版本而言,更是缺少了不少库和函数。
在调试好编译环境后,就算是王向中,也不得不照着书一点一点地再啃代码。如果按照日后那种习惯来写代码,恐怕每三行就会出现一个报错。
正当他对着电脑屏幕冥思苦想之时,林建这个小子,却悄悄溜达到他背后开始观察起来。
“你在干什么?”林建一脸好奇地望着屏幕中的英文代码,出声问道。
此时王向中也有些疲惫,于是也重重地靠在了椅背上,不断地揉搓着太阳穴:“我在编程,写代码,做软件。”
“我看这个挺好玩的。”林建将双手搭在王向中肩头上,指着屏幕上的一行代码:“这个地方是不是有问题?”
王向中闻言,也是自觉有些好笑地摇了摇头,笑道:“怎么,你也能看出问题?”
“没有,我就是有一种感觉。”林建小脸满是认真之色,丝毫没有半点玩笑的意味。
听到这话,王向中也是有一丝狐疑地仔细打量了一下这一行的代码。虽然他天天都能在店里见到林建这个小子,但两人交流极少,很多时候也只是象征性地问好。
不过通过他的观察,确实发现林建这个小子是个很细致的人,很多时候都可以点出一些被人忽视的问题。
在仔细检查一番过后,王向中也是瞪大了双眼,嘴巴也张成了一个“o”字型。
因为他真的发现了一个小问题,尽管只是变量名没有打前缀而已。在这个时代,IDE(Integrated Development Environment,集成开发环境)并不算先进,也没有什么检测非法变量名的功能,充其量算个能补充语句的文本文档工具,很多时候都是编译一遍才能发现问题。
林建,初中都还没读完就已经辍学,从来没有学过什么计算机,却能一眼看穿代码中存在问题,尽管只是一个字母的错漏,但依然证明了,他绝对在计算机上有着过人的天赋。
常人是不可能对一堆看不懂的英文字母感兴趣的,更不会有心思去理解所谓代码背后的逻辑。
如果林建不是一个疯子的话,那他一定是传说中的计算机天才。
这样的人要是能充分发挥才能,绝对不可能是一个籍籍无名之辈。
难道他真的在后世被埋没了吗?
王向中使劲揉了揉眼睛,再度细细打量了一番眼前表情错愕的林建。
那清秀的脸庞,在王向中脑海里不断对比搜索着,很快便与一个形象完整重合。
这一发现,也让王向中的内心中瞬间炸起了惊涛骇浪,难怪他第一次见到林建时,就觉得眼前的林建有些眼熟,没想到,此人竟是日后震撼华夏的不世天才——传奇人物林建!