搜索引擎分类和基础架构概述( 二 )


横向产业一般是指跨行业 , 包括多个领域或行业;而垂直行业特指某一行业或某一领域 。
了解垂直行业 , 了解垂直搜索引擎对我们来说并不难 。垂直搜索引擎是近年来兴起的一种新型搜索引擎 。不同于一般的网络搜索引擎 , 垂直搜索侧重于特定的搜索领域和搜索需求(例如:机票搜索、旅游搜索、生活搜索、小说搜索、视频搜索、购物搜索等) , 具有更好的用户体验他们的特定搜索区域 。与通常需要数千台检索服务器的一般搜索相比 , 垂直搜索需要较低的硬件成本、特定的用户需求和多种查询方法 。典型的垂直搜索引擎包括去哪儿和携程 。
5)其他类别的搜索引擎
除了以上四种搜索引擎 , 还有集体搜索引擎、门户搜索引擎和免费链接搜索引擎 , 这里不再详细介绍 。
2. 搜索引擎基础架构
优秀的搜索引擎需要复杂的架构和算法来支持海量数据的获取和存储 , 以及对用户查询的快速准确响应 。从架构的角度来看 , 搜索引擎需要能够获取、存储和处理数百亿的海量网页 , 同时保证搜索结果的质量 。
要构建搜索引擎基础架构 , 应考虑以下三个问题:
如何获取、存储和计算如此海量的数据?
如何快速响应用户查询?
如何让搜索结果满足用户的信息需求?
下图是一般搜索引擎的示意图:

搜索引擎分类和基础架构概述

文章插图
从上面的搜索引擎架构图我们可以看出 , 一个完整的搜索引擎架构(以全文搜索引擎为例)需要包含三大块(我们在开头提到过):
1)收集信息:这个阶段是基础数据收集阶段 , 主要任务是建立一个网页数据库 。这个阶段主要依靠网络爬虫技术来收集全网的数据并进行采集 。这个阶段还包括网页去重的过程 , 主要使用去重技术 。
2)组织和处理信息:这里最重要的部分是建立索引 , 其中主要技术是倒排索引技术 。当然 , 现阶段也有建立连接和防作弊技术 。
3)显示信息:搜索引擎根据用户的查询搜索数据库 , 然后根据内容、链接匹配度和具体的排序算法将结果显示给用户 。目前常用的排序算法主要是排序方法和算法 。
下面 , 我们将详细描述每个链接 。
1)网页抓取和索引
网络爬虫技术是网络爬虫的核心技术 。我们可以通过编写某些程序或脚本来抓取上的信息 。网络爬虫技术的详细介绍会在后面的博文中介绍 , 这里不再详述 。网页爬取完成后 , 我们需要建立相应的数据库来存储我们爬取的网页信息 。但是 , 互联网上的信息是多余的 。主要原因是各大网站也会在后台爬取 。他们还会使用爬虫来检测一些热门内容或文章 , 然后爬取他们的信息并重新整理格式 。 , 但实际上页面的内容几乎是一样的 。因此 , 在包含爬虫抓取的网页信息之前 , 我们还需要添加一个关键环节——网页去重 , 以保证网页在我们数据库中的唯一性 。
2)索引
爬取网页信息后 , 我们需要解析网页信息 , 提取网页的主题内容和类别信息 。这就是我们通常所说的网页解析 , 主要涉及文本识别和文本分类技术 。网页解析的输出往往是一些结构化信息(每个网页的信息完整性不同 , 我们需要统一对数据进行结构化操作) , 一般结构化信息包括网页URL、网页代码、网页页面标题、作者、生成时间、类别信息、摘要等 。获取网页的结构信息后 , 需要建立相应的索引 。为了加快对用户查询的响应速度 , 通过一种称为“倒排索引”的高效查询数据结构保存网页内容 , 同时保存网页之间的链接关系 。之所以保存链接关系 , 是因为该关系在网络F相关性排名阶段可用 , 通过“链接分析”可以判断页面的相对重要性 , 对为用户提供准确的搜索结果有很大帮助 。