| Jams 的个人资料开心照片日志列表 | 帮助 |
|
|
3月13日 搜索技术及搜索引擎开发,我的理解都在说搜索技术及制作一个搜索引擎是多么复杂的一件事,特别是提到了中文搜索。
哎,哪里有那么难。翻遍所有网上解释及介绍搜索原理的文章,几乎篇篇写的象天书,程序员本身就是熟悉代码的,怎么会写出那么拗口,那么难理解的文章呢。受不了。
搜索真的是一个独门技术吗?哎,根本就是数据库查询和自动收录网站的合体。普通网站是由人工将数据登入进数据库,再由前台页面吊取数据库内容,搜索引擎只是把人工的改为机器人作业。
在一定意义上我个人感觉搜索引擎要比普通网站简单最起码人工输入改成机器人收录自然的将数据库内容填充完毕,并且更新及时。
搜索引擎的花费将要超过普通网站,主要是硬件上,比如机器人程序所需的服务器,数据查询需要快速,并且数据量庞大,这便需要大量的数据服务器或数据存储空间。前台查询将接受庞大的查询,那就需要有足够的带宽,及可以容纳那么许多人查询的服务器。 搜索引擎应该只需要以上3大部分,如果想做个GOOGLE或百度这样的搜索引擎,你需要以上3大部分。
关于搜索的开发关键
我个人认为还是在数据库结构上,数据库查询快速才是他的关键。我把我对搜索引擎工作原理的理解,写一下。
搜索引擎由机器人程序在整个互联网上抓取页面,将这些数据写入数据库,供查询者查询。机器人可以是一个小时进行一次所有网站的收录,当然也可以是一天,一周,每分钟,这个取决于你的资金实力,因为任何一切都将影响到你的数据库查询,足够的资金实力可以让你在硬件上避免读写频繁所延误掉的时间及出问题的几率。(以上想法基于本身就有个很优化的查询程序)
等待用户查询,当用户查询即将数据给返回到用户查询页面。
这个其中数据库结构其实是关键之关键,结构的合理,将减少查询所需时间,因为毕竟数据量是非常庞大的,不管你是做索引还是所有一同查询,良好的数据库结构是绝对需要的。
对于中文网页搜索,这个百度的后期开发绝对是经典的,但是决非技术非常高,只是百度开发小组一直在不停的搜索中找到一些捷径。比如百度在搜索列表下生成的相近查询关键字,其实这个应该只是又一个新的表,这个表里面收录了最多查询的关键字,当你所查询的关键字、词与该表中字词有相符,他就会列出,当然,这个就是百度及其人性化的一面也是用最简单的东西达到最好效果的表现,就凭这一点对于百度程序员我绝对是只有一句话,一切以用户为中心。
写了这点我只是想说明搜索引擎其实和普通网站一样,而且设计理念也相同。对于一些苦于对网站内容无法确定的技术高手来说,搜索引擎应该是最简单的网站策划提案。
对于现在一直在高调提出的垂直搜索啊,什么有关搜索的技术,我是绝对没有什么感兴趣的,不管是什么算法不管是什么方法,最终其实还是数据库搜索,若你的数据库中没有用户想要的,一切美丽的方法和技术全是白费。我的想法就是一切复杂的东西变简单,简单才是最好的。 关于动态网页收录现在一般搜索机器人都以会有死循环为借口,几乎所有搜索引擎都不收录动态网页,我想提出一个我的傻瓜化思路,动态网页其实还是个网页,只是读取时有个交互动作,但是如果我用保存,那是不是这个网页可以直接存为HTM或TXT呢,既然特可以生成文本形式,机器人读取TXT应该是没有什么问题的吧,只是URL还是需要原始路径,当然现在很多动态网页都有自己被机器人读取的方法,我这个只是一个小思路,尽量让搜索引擎去靠近大众,而不是大众要靠近搜索引擎。 |
|
|