1. 认识搜索引擎: 在搜狗搜索的搜索结果页中, 包含了若干条结果, 每一个结果包含了图标, 标题, 描述, 展示URL等 2. 搜索引擎思路: 2.1 搜索的核心思路: 当前我们有很多的网页(假设上亿个), 每个网页我们称为是一个文档 如何高效进行检索? 查找出有哪些网页是和查询词具有一定的相关性呢? 我们可以认为, 网页中包含了查询词(或者查询词的一部分), 就认为具有相关性. 那么我们就有了一个直观的解决思路 方案一 -- 暴力搜索 每次处理搜索请求的时候, 拿着查询词去所有的网页中搜索一遍, 检查每个网页是否包含查询词字符串. 这个方法是否可行? 显然, 这个方案的开销非常大. 并且随着文档数量的增多, 这样的开销会线性增长. 而搜索引擎往往对于效率的要求非常高. 方案二 -- 倒排索引 这是一种专门针对搜索引擎场景而设计的数据结构. 文档(doc): 被检索的html页面(经过预处理) 正排索引: "一个文档包含了哪些词". 描述一个文档的基本信息, 包括文档标题, 文档正文, 文档标题和正文的分词 /断句结果 倒排索引: "一个词被哪些文档引用了".