2-1搜索引擎的发展、现状和趋势发展历程
优采云 发布时间: 2021-06-14 19:202-1搜索引擎的发展、现状和趋势发展历程
2-1 搜索引擎的发展、现状和趋势
发展历程:
第一代:分类目录时代。 1994年4月,美国斯坦福大学的两名博士生杨致远和大卫·菲洛共同创立了雅虎
二代:文本检索时代,搜索引擎查询信息通过用户输入的查询信息提交给服务器,服务器通过查询向用户返回一些相关度高的信息,如Alta远景;
第三代:综合分析时代,与今天网站的外链形式基本一致。当时,外链代表了一种推荐,由每个网站的推荐链接数量决定一个网站的流行度和重要性。然后搜索引擎结合网页内容的重要性和相似性来提高用户搜索的信息质量。这个模型的第一个用户是google,并且取得了巨大的成功;
起源:谷歌和百度现在是一种搜索引擎。 1990年,加拿大麦吉尔大学计算机学院师生开发了Archie。那时万维网还没有出现,人们使用FTP来共享和交流资源。 Archie 可以定期采集和分析FTP 服务器上的文件名信息,并提供查找每个FTP 主机中的文件。用户必须输入准确的文件名进行搜索,Archie 会告诉用户哪个 FTP 服务器可以下载该文件。 Archie采集的信息资源虽然不是网页(HTML文件),但它和搜索引擎的基本工作方式是一样的:自动采集信息资源,建立索引,提供检索服务,所以被认为是搜索的鼻祖引擎;
2018 年 8 月,谷歌全球市场份额为 92.12%,排名第一。百度排名第四,市场份额1.17%;
2018年8月,百度国内市场份额为77.88%,位居榜首。 360搜索排名第二,市场份额8.18%;
第四代:以用户为中心的时代,当输入同一个查询请求关键词时,用户背后可能会有不同的查询需求。如果输入是“Apple”,你是要找 iPhone 还是水果?即使是同一个用户,和关键词一样,也会因为时间和场合的原因返回不同的结果。各大搜索引擎都在致力于解决同样的问题:如何从用户那里获取信息 输入一个简短的关键词来确定用户的真实查询请求。移动互联网搜索的必然使命是提供精准的个性化搜索;
畅想未来:
未来的搜索引擎应该能够回答任何问题。使用搜索引擎时,用户不必考虑先搜索什么,然后再搜索什么。用户不需要学习如何搜索,而应该像向好友提问一样。搜索应该更像对话,更简单自然,而不是固定的搜索方式。
结合人工智能(AI),人工智能可以处理复杂的任务,分析一系列用户习惯、用户信息、用户行为,并根据上下文优化个人推荐和建议,例如位置、时间、个人爱好、需求, 和bottlenecks ,从而保证搜索结果匹配的相关性快速增加。比如你想买房,它会根据你的经济状况、周边学校要求、娱乐需求、工作喜好等因素,带你到你理想的房子,让你不用四处张望.
第五代:生活生态搜索时代,即互联网+万物互联时代,搜索空间更广阔,搜索无处不在,比如远程看孩子、老人,或者寻找迷路者孩子,包括那些精确到厘米 GPS 定位的,比如你去一个陌生的地方,找厕所,找警察,甚至可能找东西,比如米饭煮熟了,米堡打电话你等
百度,全球最大的中文搜索引擎,于2000年1月在北京中关村成立。公司名称来源于宋词“千百度找他”,以及“熊掌”的理念图标来源于“猎人巡逻熊掌”的刺激,与李彦宏的“解析搜索技术”非常相似,构成了百度的搜索理念。它最终成为百度的图标形象。从最初的不到10人,百度于2001年10月22日正式发布百度搜索引擎。到2015年,拥有近5万名员工,现已成为中国搜索市场的佼佼者;
2-2 搜索引擎排名的原理和流程
搜索引擎从用户搜索到最终搜索结果显示的步骤是(以百度为例):
抓取,百度不知道你的网站,你怎么排名?所以要让百度知道你,你必须先通过爬虫这一步;
过滤,过滤掉低质量的页面内容;
索引,只存储符合条件的页面;
处理、处理搜索词,如中文特定分词、去除停用词、判断是否开始整合搜索、判断是否有拼写错误或错别字。
排名,向用户展示高质量的页面;
2-2-1蜘蛛排位原理
蜘蛛:
l 搜索引擎发送的用于在互联网上查找新网页并对其进行抓取的程序称为蜘蛛。它从一个已知的数据库开始,像普通用户的浏览器一样访问这些网页,跟踪网页中的链接,访问更多的网页,这个过程叫做爬取; l 蜘蛛对站点的遍历爬取策略分为深度优先和广度优先。
根据爬取目标和范围可分为
批量爬虫:清除爬取目标和范围,到达时停止;
增量爬虫:针对网页不断更新的状态,爬虫需要及时响应。一般商用引擎一般都是这种类型;
垂直爬虫:只针对特定领域的爬虫,按主题过滤;
2-2-2 爬取排名原则
百度官方蜘蛛爬取过程的策略
1、Grab-friendliness,同一个网站的爬取频率和一段时间内的爬取流量是不同的,即错开正常用户访问高峰,不断调整,避免被网站的过分影响正常的用户访问行为。
2、常用的抓取返回码,如503、404、403、301等;
3、 多种url重定向的识别,如http 30x、meta refresh重定向和js重定向。规范标签也可以看作是伪装的重定向;
4、抓取优先级分配,如深度优先遍历策略、广度优先遍历策略、pr-first策略、反链策略、big-site优先策略等;
5、重复URL过滤,包括URL规范化识别,例如一个URL收录大量无效参数但实际上是同一个页面;
6、dark web数据采集,搜索引擎暂时无法抓取的数据,如存在于网络数据库中,或由于网络环境,网站不符合规范,孤岛等爬取,比如百度的“阿拉丁”项目;
7、Grab 反作弊,爬取过程中经常会遇到所谓的爬取黑洞或者大量低质量页面的烦恼,这就需要爬取系统也设计一套完整的爬取防-作弊系统。如分析url特征,分析页面大小和内容,分析爬取规模对应的站点规模等;
蜘蛛感兴趣的页面有 3 种类型:
1.从未被抓取的新页面。
2. 抓取的页面,但内容已更改。
被3. 抓取但现在被删除的页面。
蜘蛛不能/不喜欢爬行的内容:
1.page 被机器人屏蔽;
2. 图片、视频和 Flash 内容;
3.Js,iframe 框架,表格嵌套;
4. Spider 被服务器屏蔽;
5.孤岛页面(无任何导入链接);
6.登录后可以获得的内容;
2-2-3 排名原则的过滤
四种近似重复页面:
l1.完全重复页面:内容和版面格式没有区别;
l2.content 重复页面:内容相同,但布局格式不同;
l3.layout 重复页面:部分重要内容相同,布局格式相同;
l4.一些重复的页面有一些重要的内容相同,但布局格式不同;
低质量的内容页面:
Ø1.多个URL地址指向同一个网页和镜像站点,如带www和不带www,同时解析为一个网站;
Ø2.网页内容重复或接近重复,如采集内容,文字不正确或垃圾邮件;
Ø没有丰富的内容,如纯图片页面或搜索引擎无法识别的页面内容;
过滤器-如何处理重复文档:
ü1.低质量内容删除
ü2.高质量重复文档先分组展示(高重复表示欢迎)
2-2-4 排序原则索引
l1. 用户查询时得到的结果不及时。它们排列在搜索引擎的缓存区。在处理用户查询请求时,他们会根据词库对请求进行切分,并首先计算每个关键词在库中的URL排名并保存在索引数据库中。这是倒排索引,即以文档的关键词为索引,以文档为索引对象(与普通书籍类似,索引为关键词,书籍的页码是索引目标);
l 如果页面被剪成单词p={p1, p2, p3,..., pn},会在索引库中反映如右图(仅供理解,并非如此)
l 索引更新策略:通过完全重构策略、重新合并策略、原位更新策略、混合策略等,不断更新索引;
处理:
l1. 分析用户的搜索意图,判断是导航性、信息性还是交易性,从而提供准确的搜索结果。假设用户在搜索时可能没有想到合适的搜索词,或者关键词输入错误,这时候就需要帮助用户明确搜索意图(相关搜索,查询纠错)。
l2.extract 关键词,代码去噪只留下文本,去除公共区域和其他非文本的关键词,去除“的”和“在”等停用词,然后通过分词系统将这个文本分成分词表存入数据库,并与其URL一一对应;
l3.content检索,通过布尔模型、向量空间模型、概率模型、语言模型、机器学习排名等检索模型,计算网页与查询的相关性;
l4.link 分析,通过分析和计算得到的分数来评估网页的重要性。
补充知识:
1.重要信息分析,利用网页代码(如H标签、强标签)、关键词密度、内链锚文本等分析本网页最重要的词组; Ø网页重要性分析,通过指向该网页的外链锚文本传递的权重值确定该网页的权重值,结合“重要信息分析”,从而建立关键词中每个关键词的排名系数本网页的 k5@采集 p。
2-2-6 排序原则的查询/排序
查询服务:
l1.根据查询方法用关键词切词。首先将用户搜索到的关键词划分为一个关键词序列,暂时用q表示,然后将用户搜索到的关键词q划分为q={q1,q2,q3,..., qn}。然后根据用户的查询方式,比如所有的词是连在一起还是中间有空格,并根据q中不同关键词的词性,确定查询结果中每个词的占用情况对显示查询结果的重要性。
l2.搜索结果已排序。我们有搜索词集q,q-index库中每个关键词对应的URL排名,同时根据用户的查询方式和词性,计算每个关键词在查询结果。重要,那么你只需要执行一点综合排序算法,搜索结果就出来了。
l3.只是向用户展示上面的搜索结果和文档摘要;
通过常见现象猜百度算法:
1. 搜索的时候经常发现百度会显示在用户的搜索词周围。有时候词条比较长或者多翻几页,会看到一些结果,因为目标页面本身并没有完全收录搜索词,而百度页面上的红色词只是搜索词的一部分。可以理解为,在搜索词没有完全收录的情况下,百度会在分词结果中优先考虑百度认为比较重要的词吗? Ø 是 有时,搜索词会多次出现在页面上,但在百度中只会显示部分搜索结果页面,而且通常是连续的。可以理解为百度会优先显示它考虑的页面部分和搜索词中最重要的部分吗?什么?
2-3 百度蜘蛛3.0
BaiduSpider3.0对seo的影响:
l1. 抓库建库速度更快,所以优化周期应该会缩短,包括更新、微调、修订等。之前的修订需要3个月,现在可能会在1个月内调整。
l2.Dead link 处理更及时。优化时要及时发现死链接(包括错误页面、被黑页面、没有内容的页面等),提交百度站长工具及时删除,防止死链接掉电。
l3.关注优质原创内容,给予保护和排名优先展示权,所以我们应该主动更新优质原创内容并积极提交。
主动提交l4.链接有以下四种方式,可以根据自己的情况选择;
2016年6月,百度官方宣布Spider从2.0升级为3.0。本次升级是将当前的离线全计算系统改造为实时增量计算全实时调度系统,万亿级数据可实时读写,收录90%的网页可读写,速度提升80%!
这说明搜索更注重时效性。比如主动提交的数据平均爬取时间比爬虫的发现时间早4个小时,而且收录提交的也很快,这样页面更新速度就快了,可能不会马上做。排名不错,但如果做得不好,一旦发现会更及时地更新。毕竟要向用户展示优质的内容,所以网站一定不能掉以轻心,因为一旦出现问题很难恢复;
2-4 常用搜索引擎高级说明
l 双引号(英文):搜索词完全匹配,如["software"],结果必须收录software;
l减号:不包括减号后的单词,前面有空格,后面不跟空格,如[Software-Changzhou];
lInurl:用于搜索url中出现查询词的页面,如[inurl:dingjianseo];
intitle:搜索页面的标题中收录关键词,如[intitle:搜索引擎];
Allinurl:页面URL收录多组关键词,如[allinurl:dingjianseo zuoseoyh];
Allintitle:页面标题收录多组关键词,如[allintitle:你好常州];
文件类型:搜索特定文件格式。比如[filetype:pdf seo]就是一个收录seo的pdf文件;
Site/Domain:搜索域名收录与外部链接的相似度,如site:;