一、什么是搜索引擎的架构?
搜索引擎架构可以当作软件架构来理解。
① 软件架构
百度百科对于软件架构的描述如下:
软件架构,是指一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。
② 搜索引擎架构
那么搜索引擎的架构,就是用于指导搜索引擎系统中重要的组件以及组件之间关系而设计的抽象模式。
二、设计搜索引擎架构的目标是什么?
SEOer应该知道为什么要设计搜索引擎架构,主要有以下两点:
① 搜索效果
搜索引擎致力于优化用户搜索体验,当用户搜索某个词之后,可以给予用户更多更精准的结果。这就是在质量层面上的目标。
② 搜索效率
搜索引擎追求更快地展现出用户查询词的搜索结果,也是为了提升用户搜索体验,试想如果我们搜索一个词,搜索引擎一分钟后才显示出结果,这样的搜索引擎在这个时代是要被淘汰的。这就是在速度层面上的目标。
小结:因为用户需要一个高效的搜索引擎系统,对搜索引擎有效果和效率的要求,所以,结构的目标也就是这两点了。
三、搜索引擎的基本架构是什么?
对于SEOer而言,只需要在抽象模式上了解搜索引擎架构即可,也无需关注过多的数学公式与算法。
搜索引擎基本架构主要有索引处理和查询处理。
① 索引处理
索引过程主要由以下几个组件来完成:
1)文本采集组件
文本采集组件,主要用于发现、存储和传递文档。
2)文本转换组件
文本转换组件,主要用于提取文档中所有内容和元数据,同时将文本转换为索引项。
元数据可以理解为页面的基本参数,如类型、结构、多少字等等。
索引项,又可以称之为特征,是对文档内容的一部分,符合要求的文档的索引会被存放在索引表中用于搜索。
3)索引创建组件
索引创建组件,利用文本转换组件输出的文档和索引项,创建索引表,从而实现快速搜索。
索引的创建非常重要,尤其是针对互联网的信息爆炸时代,对于新的文档加入时,应高效完成索引创建。为了实现高效,一般都采用的倒排索引。
② 查询处理
查询处理主要由以下几个组件来完成:
1)用户交互组件
用户交互组件,提供了用户查询和搜索引擎展现搜索结果之间的接口。
搜索引擎接收到用户的查询词后,在索引库中找到相关文档,按照程序认为的最合理的索引排序结果展现给用户。
2)排序组件
排序组件,从用户交互组件中获得查询词,并且根据一定的模型给出一个得分从高到低排序的文档。
排序的高效依赖于搜索引擎检索技术的高低,排序的质量取决于搜索引擎的检索模式。
3)评价组件
评价组件,主要用于评测和评价搜索引擎系统的效果和效率的目标。
一来可以统计大量搜索日志来记录和分析用户行为,二来评价的结果用来调整和改善排序组件的性能,从而提升用户的搜索体验度。
凤飞飞一个沟沟壑壑
应该是百度,因为不知道,就去找百度
应该是百度,因为不知道,找百度。
最近练的射手隐形框架应该是百度因为。不是有那么一句话吗?不知道。就找百度。