Workspace of LionHeart

Focus on Spark/TensorFlow and other BigData and ML platforms

搜索引擎及其技术架构

导航[-]

本文介绍搜索引擎发展史,搜索引擎的目标与核心问题以及搜索引擎的技术架构。

搜索引擎技术发展史

史前时代:分类目录的一代

  • 也成为"导航"时代,以Yahoo,hao123为代表。
  • 纯人工将高质量网站分门别类。

第一代: 文本检索的一代

  • 采用经典信息检索模型计算关键词和网页文本的相关程度:布尔模型、向量空间模型、概率模型等。
  • 没有使用网页间链接关系,搜索质量较低。
  • 早期搜索引擎如AltaVista、Excite等使用这种方式。

第二代: 链接分析的一代

  • 利用网页链接关系衡量网页流行程度。
  • 结合网页流行性和内容相似性来改善搜索质量。
  • Google率先提出并使用PageRank链接分析技术,有效改善搜索质量。
  • 未考虑用户个性化要求

第三代: 用户中心的一代

  • 以理解用户需求为核心:用户历史搜索信息、查询时间地理位置信息。
  • 例如:"苹果"关键词,果粉和果农的搜索目的会有很大差距。

搜索引擎的目标

搜索引擎期望达到的目标:更全、更快、更准。

为达到目标涉及的3个核心问题:

  • 用户真正需求是什么。
  • 哪些信息是和用户需求真正相关的。
  • 哪些信息是用户可以信赖的。

搜索引擎的技术架构

  • 信息来源于互联网网页,通过网络爬虫将互联网信息获取到本地。
  • 网页去重模块会对网页做检测,除去重复内容。
  • 搜索引擎对网页解析,抽出主体内容。
  • 通过倒排索引保存网页内容和链接关系。
  • 通过云存储与计算平台处理和存储中间结果。
  • 搜索引擎对接收的用户查询词分析,推导用户搜索意图。
  • 在缓存中查找,缓存系统存储了不同查询意图对应的搜索结果。
  • 如果没有命中,调用网页排序模块功能。结合内容相似性、链接分析返回搜索结果。
  • 反作弊模块用于自动发现通过"作弊"手段提升排名的网页并对其进行处罚。