美文网首页
第八章 布尔代数和搜索引擎

第八章 布尔代数和搜索引擎

作者: Chasingcar_501 | 来源:发表于2019-01-15 16:50 被阅读0次

技术分为“术”和“道”两种,具体做事方法是术,做事的原则和原理是道。追求术的人一辈子很辛苦,只有掌握本质和精髓才能游刃有余。

  搜索引擎的原理非常简单:自动下载尽可能多的网页;建立快速有效的索引;根据相关性对网页进行公平准确的排序。

1.布尔代数

  二进制是印度学者完成的,但他们没有用0和1计数,后来德国数学家莱布尼兹进一步完善了二进制,用0和1表示它的两个数字。二进制除了是一种技术方式外,还可以表示逻辑的“是”与“非”。布尔是19世纪英国的一位中学数学老师,他出版了一本书阐述如何用数学的方法解决逻辑问题,在此之前人们普遍认为数学和逻辑是两个不同的学科。布尔代数运算的元素之有两个1(true)和0(false),基本运算有“与”、“或”、“非”三种。
  布尔运算刚提出的时候数学家们会疑惑,如此简单的理论能解决什么实际问题,直到提出的80多年后,香农在他的硕士论文里指出用布尔代数实现开关电路,才使得布尔代数成为数字电路的基础。所有的数学和逻辑运算,加减乘除开方乘方等都能转换成二进制的布尔运算,正是依靠这一点人类用一个个开关电路搭出电子计算机。
  文献搜索和布尔运算的关系是,对于一个用户输入的关键词,搜索引擎要判断每篇文献是否有这个关键词,如果一篇文献有它,我们相应给这篇文献一个逻辑值——真,否则给假。一篇文献对于每个条件都有一个ture或false的答案,根据真值表就能算出每篇文献是不是要找的。布尔代数对于数学的意义相当于量子力学对于物理学的意义,它们将对世界的认知从连续的状态扩展到离散状态。

2.索引

  建立索引是提高搜索速度的技巧之一,比如图书馆的索引卡片。当信息检索进入计算机时代后,索引便不再是卡片,而是基于数据库的。数据库的查询语句(SQL)支持各种复杂的逻辑组合,但是背后的原理是基于布尔运算的。
  最简单的索引结构是用一个很长的二进制表示一个关键字是否出现在每篇文献中,有多少篇文献就有多少位二进制,每一位对应一个文献,1代表相应文献有该关键字,0代表没有。比如“原子能”对应的二进制数是0100100010000001...表示第二、五、九、十、十六篇文献包含该关键字;同样假定“应用”对应的二进制是00101001100000001...,那么要找包含“原子能”和“应用”的文献时,只要将这两个二进制进行AND运算即可。由于网页数量和词汇表数量很大,所以索引的大小也将非常大,索引中还有很多附加信息,诸如每个次出现的次数、位置等,因此整个索引表变得非常之大,不是一台服务器能存下的。所以这些索引需要通过分布式的方式存储到不同的服务器上。普遍的做法是根据网页的序号将索引分成很多份(shards),分别存储在不同的服务器中,当接受一个查询时,这个查询被分发到很多服务器中,这些服务器同时并行处理用户的请求,并把结果送到主服务器中进行合并,再将结果返回给用户。

Truth is ever to be found in simplicity,and not in the multiplicity and confusion of things.

相关文章

  • 搜索引擎

    第 8 章:布尔代数和搜索引擎 搜索引擎: 自动下载尽可能多的网页——下载 建立快速有效的索引——索引 根据相关性...

  • 第八章 布尔代数和搜索引擎

    技术分为“术”和“道”两种,具体做事方法是术,做事的原则和原理是道。追求术的人一辈子很辛苦,只有掌握本质和精髓才能...

  • 第8章 简单之美:布尔代数和搜索引擎

    以下内容学习、摘录自《数学之美》 很多想通过作者了解google的独门搜索技术,但对作者只讲述简单的原理感到失望。...

  • 超级搜索术10——高级搜索

    建立高级搜索式,才能玩转搜索引擎,什么是搜索式,说白了就是我们向搜索引擎发出的搜索指令。 一、搜索的布尔逻辑 布尔...

  • <<数学之美>> part4

    摘要 : [布尔代数] [搜索引擎] 布尔代数 再也没有哪个运算比布尔运算更简单的了,操作数只有0和1,操作符只有...

  • 代数和

    本以为这节课学生们会觉得难,但结果恰好相反,从学生做的题目来看,学生们更喜欢这种简洁的写法,代数和学生们做的不错,...

  • xpresso -布尔-布尔

    布尔节点可以有多个输入点,都是布尔值,输出点也是布尔。布尔节点激活的条件就是输入条件全部为真。开关节点输出两个布尔...

  • 5章 布尔表达式

    本章大纲 布尔类型 布尔表达式 布尔操作符 布尔类型 布尔类型:只有2中结果:真 假 布尔表达式 布尔表达式 ...

  • 2022-10-19-继续读《编码》

    布尔值布尔值,布尔是个人,乔治·布尔,建立了布尔代数,处理逻辑运算。 香农是第一个将布尔运算和电路开关联系起来的人...

  • 布尔

    sizeof(BOOL) = 1sizeof(bool) = 1sizeof(Boolean) = 1

网友评论

      本文标题:第八章 布尔代数和搜索引擎

      本文链接:https://www.haomeiwen.com/subject/ihyydqtx.html