简单之美 布尔代数和搜索引擎的索引

布尔代数:

一个搜索引擎要做以下几件事:自动下载尽可能多的网页、建立有效的索引、根据相关性对网页进行公平正确的排序(下载、索引、排序)。其中索引是为基础。

布尔代数就是在数字电路上常用的逻辑运算。在刚开始布尔提出布尔代数时,没有什么像样的应用。直到香农在其硕士论文中提出使用布尔代数实现数字电路的开关,才使得布尔代数成为数字电路的基础。布尔代数很简单,主要包含“与、或、非”操作。

在文献检索过程中,可以根据用户的输入的关键词是否包含在每篇文章中来判断文章与关键词的相关性。这样通过布尔代数的与或非运算就能找出文章。布尔运算我将我们从连续状态转换为离散状态。

索引:

搜索引擎要在极快的时间内搜索成千上万甚至几亿的搜索结果,这就需要特殊的技巧:建索引。以图书馆为例,进图书馆找书,并不是去存书柜上一本一本的找,而是根据电脑搜索结果,先去几楼几号房间、然后第几排书柜、再按照代号查找。现代信息检索基于数据库,数据库的查询语句支持复杂的逻辑组合,其背后原理还是基于布尔运算。

最简单的索引结构,就是为关键字建立一个很长的二进制数字,数字的每一位代表这篇文献是否包含该关键词。当我们需要同时包含两个关键字的文章时,只需要将这两个关键字的二进制索引进行与操作。注意计算机做布尔运算是非常快的。此试,搜索引擎的索引就是一张大表,每一行代表一个关键词的二进制数字。由于大部分位置的值都为0,因此只需要记住那些值为1的位置就行了。

随着用户产生的内容越来越多,数据量越来越大。根据网页的重要性、质量和访问频率建立常用和不常用等不同级别的索引。常用的更新快、访问速度快、附加信息多。从而降低服务器压力。

猜你喜欢

转载自blog.csdn.net/qq_16234613/article/details/82454562