本文介绍搜索引擎发展史,搜索引擎的目标与核心问题以及搜索引擎的技术架构。
搜索引擎技术发展史
史前时代:分类目录的一代
- 也成为"导航"时代,以Yahoo,hao123为代表。
- 纯人工将高质量网站分门别类。
第一代: 文本检索的一代
- 采用经典信息检索模型计算关键词和网页文本的相关程度:布尔模型、向量空间模型、概率模型等。
- 没有使用网页间链接关系,搜索质量较低。
- 早期搜索引擎如AltaVista、Excite等使用这种方式。
第二代: 链接分析的一代
- 利用网页链接关系衡量网页流行程度。
- 结合网页流行性和内容相似性来改善搜索质量。
- Google率先提出并使用PageRank链接分析技术,有效改善搜索质量。
- 未考虑用户个性化要求
第三代: 用户中心的一代
- 以理解用户需求为核心:用户历史搜索信息、查询时间地理位置信息。
- 例如:"苹果"关键词,果粉和果农的搜索目的会有很大差距。
搜索引擎的目标
搜索引擎期望达到的目标:更全、更快、更准。
为达到目标涉及的3个核心问题:
- 用户真正需求是什么。
- 哪些信息是和用户需求真正相关的。
- 哪些信息是用户可以信赖的。
搜索引擎的技术架构
- 信息来源于互联网网页,通过网络爬虫将互联网信息获取到本地。
- 网页去重模块会对网页做检测,除去重复内容。
- 搜索引擎对网页解析,抽出主体内容。
- 通过倒排索引保存网页内容和链接关系。
- 通过云存储与计算平台处理和存储中间结果。
- 搜索引擎对接收的用户查询词分析,推导用户搜索意图。
- 在缓存中查找,缓存系统存储了不同查询意图对应的搜索结果。
- 如果没有命中,调用网页排序模块功能。结合内容相似性、链接分析返回搜索结果。
- 反作弊模块用于自动发现通过"作弊"手段提升排名的网页并对其进行处罚。