WJMonitor舆情之声

企业大数据智能舆情监测管理解决方案

全网监测海量数据按需发布监测预警

实时把握舆情动态精准追溯信息源头

获取验证码
企业采购 个人使用
当前位置: 首页 > SEO博客 > 最简单也最实用的“0”和“1”

最简单也最实用的“0”和“1”

时间:2012-03-19 00:09:37
“0”和“1”,是大家最为熟悉的两个数字。在逻辑运算中,“0”和“1”有着另外的一重身份,它们对应着"false"与“true”,即布尔型变量中的布尔值“假”与“真”。从初始阶段简单的检索系统到现在智能的搜索引擎,“0”和“1”都起着至关重要的作用。

早期的检索系统,大多数是基于数据量相对较少数据库。用户想要搜索某个关键词时,检索系统只要简单判断在数据库中存储的文献是否包含该关键词。如果一篇文献含有它,相应地给这篇文献一个逻辑值 -- 真(TRUE,或 1),否则,给一个逻辑值 -- 假(FALSE, 或0),显然,该系统只要将逻辑值为真的文献检索出来即可。当然,通过布尔运算,也可以进行简单的筛选,比如我想知道“肉馅月饼”的做法,但是同时又不想让结果中含有“广式肉馅月饼做法”,那么我只要将查询语句设置为“肉馅AND月饼AND (NOT 广式)”即可。这里需要说明的一点是,早期的检索系统,在查询时严格要求语句符合布尔运算。

而今天的搜索引擎,可以直接将用户的搜索需求转换为布尔运算的算式。鉴于搜索引擎中数据量得浩大,在查询的过程中,将数据全部扫描一遍,浪费资源不说,用户等待的时间估计也比现在要长的多,这时就需要建立一个索引。

最简单索引的结构是用一个很长的二进制数表示一个关键字是否出现在每篇文献中。有多少篇文献,就有多少位数,每一位对应一篇文献,1 代表相应的文献有这个关键字,0 代表没有。比如关键字“月饼”对应的二进制数是0100100001100001...,表示第二、第五、第九、第十、第十六篇文献包含着个关键字。注意,这个二进制数非常之长。同样,我们假定“肉馅”对应的二进制数是 0010100110000001...。那么要找到同时包含“月饼”和“肉馅”的文献时,只要将这两个二进制数进行布尔运算 AND。根据上面的真值表,我们知道运算结果是0000100000000001...。表示第五篇,第十六篇文献满足要求。

简单的“0”和“1”,将逻辑与数字有效的结合了起来,而且拥有的容易实现、速度快的特性非常适合搜索引擎的需求。当然,用户看到搜索引擎的返回结果,简单的靠布尔运算是无法实现的,需要通过一些列的算法进行排序。当然,这都是后话了。
分享按钮