互联网是个动态的内容网络,每天有无数页面被更新、被创建,无数用户在网站上发布内容、沟通联系。要返回最有用的内容,搜索引擎就要抓取最新的页面。但是由于页面数量巨大,搜索引擎蜘蛛更新一次数据库中的页面要花很永劫光。搜索引擎刚出身时,这个抓取周期每每以几个月打算。这也便是为什么Google在2003年以前每个月有一次大更新。
现在主流搜索引擎都已经能在几天之内更新主要页面,权重高的网站上的新文件几小时乃至几分钟之内就会被收录。不过,这种快速收录和更新也只能局限于高权重网站。很多页面几个月不能被重新抓取和更新,也是非常常见的。
要返回最好的结果,搜索引擎也必须抓取只管即便全面的页面,这就须要办理很多技能问题。一些网站并不利于搜索引擎蜘蛛爬行和抓取,诸如网站链接构造的毛病,大量利用Flash,JavaScript脚本,或把内容放在用户必须登录往后才能访问的部分,这都提高了搜索引擎抓取内容的难度。

2、海量数据存储
一些大型网站一个网站就有百千万万页面,可以想象网上所有网站的页面加起来是一个什么数据量。搜索引擎蜘蛛抓取页面后,还必须有效存储这些数据,数据构造必须合理,具备极高的扩展性,写入及访问速率哀求也很高。
除了页面数据,搜索引擎还须要存储页面之间的链接关系以及大量历史数据,这样的数据量是我们用户无法想象的。听说Google 有几十个数据中央,上百万台做事器。这样大规模的数据存储和访问一定存在很多技能寻衅。
我们常常在搜索结果中看到,排名会没有明显缘故原由地高下颠簸,乃至可能刷新一下页面,就看到不同的排名,有的时候网站数据也可能丢失。这些都可能与大规模数据存储的技能难题有关。
3、索引处理快速有效,具可扩展性
搜索引擎将页面数据抓取和存储后,还要进行索引处理,包括链接关系的打算、正向索引、倒排索引等。由于数据库中页面数量大,进行PR 之类的迭代打算也是耗时费力。要想及时供应干系又及时的搜索结果,仅仅抓取也没有用,还必须进行大量索引打算。由于随时都有新数据新页面加入,索引处理也要具备很好的扩展性。
4、查询处理快速准确
查询是普通用户唯一能看到的搜索引擎事情步骤。用户在搜索框输入关键词,点击搜索按钮后,常日不到一秒后就会看到搜索结果。表面最大略的过程,实际上牵扯了非常繁芜的后台处理。
在末了的查询阶段,最主要的难题是若何在不到一秒钟的韶光内,快速从几十万几百万,乃至几千万包含搜索词的页面中,找到最合理、最干系的一千个页面,并且按照干系性、威信性排列。
5、判断用户意图以及人工智能
该当说前四个寻衅现在的搜索引擎都已经能够比较好地办理,但判断用户意图还处在低级阶段。
不同用户搜索相同的关键词,很可能是在探求不同的东西。比如搜索“苹果”,用户到底是想理解苹果这个水果?还是苹果电脑?还是电影《苹果》的信息?没有高下文,没有对用户个人搜索习气的理解,就完备无从判断。
搜索引擎目前正在致力于基于用户搜索习气及历史数据的理解上,判断搜索意图,返回更干系的结果。今后搜索引擎是否能达到人工智能水平,真正理解用户搜索词的意义和目的,让我们拭目以待。