搜索引擎蜘蛛spider抓取
搜索引擎蜘蛛的作用:通过这些搜索引擎蜘蛛的爬行会自动将网页添加到搜索引擎的数据库当中,搜索引擎蜘蛛会自动判断网页的质量,根据既定的程序判断是否抓取。
spider本意为搜索引擎机器人(robot),称为蜘蛛的原因是将互联网比喻成蜘蛛网,将机器人比喻成了在网上爬行的蜘蛛,是搜索引擎自动抓取网页的程序
如果你不希望某个搜索引擎的蜘蛛来抓取你的网页,可以通过设置robots.txt来禁止抓取。
搜索引擎何以能如此快速的,在全网范围内,检索并抓取关键字?
简单来说,搜索引擎的蜘蛛们都会“空闲”时持续下载所有网站上的所有网页,同时将这些网页做预处理并且存入数据库。你去搜索的时候,只需要按特定规则检索这个数据库就可以了。(蜘蛛们也都是并行的,一个新域名做的网站,在一个更新频度一般的网页放一个链接,1-2天内即可发现Google蜘蛛来过)
然后是倒排索引存储结构与分治思维的应用。
通过倒排索引,可以让数以万亿计的网页查询的查询次数,从遍历查询的万亿次降低到百次以内(效率提升一亿倍+),通过大型分布式存储集群与调度(十万台服务器+),可以线性降低搜索的性能(效率提升万倍+)。
简单说下倒排索引的存储结构:
...
猪头:[网页 URL ](行,列),...[网页 URL ](行,列);
...
川普:[网页 URL ](行,列),...[网页 URL ](行,列);
...
1、搜索引擎在获取到“川普是猪头”这个关键词之后,首先进行分词解析,分解为[川普,猪头];
2、这个时候搜索引擎会打开流处理开关,把猪头数据“水龙头”与川普的数据“水龙头”打开,并且通过逻辑处理器进行“合流”,查询出前10条网页,反馈给客户。由于汉语词汇穷尽人类极限,不超过10万行,加上B树排序索引的应用,因此查询到川普、猪头所在的行,在计算机中的查询次数可以控制在20次以内(<log100000);
加上从川普,猪头行的“合流”与逻辑过滤操作,查询出前10条结果后,关闭“水龙头”,这样的查询效率是非常快的,甚至比在自己计算机上查询文件夹的速度还要快(10<=最乐观查询次数<最悲观查询次数<=Min[川普,猪头])。
想要了解详细的倒排索引与分布式集群技术请自行谷歌,原理较为简单,但是任何东西想要商用,并且达到了万亿这个量级在工程上都会变得非常复杂。
搜索引擎
最新推荐文章于 2024-09-15 22:39:06 发布