第8章 简单之美——布尔代数和搜索引擎的索引
- 一个搜索引擎大致需要做3件事:1)自动下载尽可能多的网页;2)建立快速有效的索引;3)根据相关性对网页进行公平准确的排序。
- 数据库SQL支持各种复杂的逻辑组合,背后原理是基本布尔运算。而搜索引擎会把用户的查询语句转换成布尔运算的算式。
- 搜索引擎的索引是一张大表:表的每一行对应一个关键词,而每个关键词后面跟着一组数字,是包含该关键词的文献的序号。
- 分布式:根据网页序号将索引分成很多份,分别存储在不同的服务器中。每当接受一个查询时,这个查询就被分发到许许多多服务器中,这些服务器同时并行处理用户请求,并把结果送到主服务器进行合并处理,最后将结果返回给用户。
- 数据量的增加,人们根据网页的重要性,质量和访问频率建立常用和非常用等不同级别的索引。常用的索引需要访问速度快,附加的信息多,更新也要快;而非常用的要求就低多了。