Google布尔运算是否有优先级?

LiaoSam2017-01-19Google5834 次访问2 评论

george-booles-200th-birthday

Sam,请问Google布尔逻辑运算中的 与、或、非 有运算顺序吗?像C语言中,非就是进行优先“与”运算的。

其实,关于这个问题我一直想说,今天正好借这个机会来和大家交流一下。

是的,C 语言是逻辑非优先运算,但谷歌不是。Googl e里面没有像 C 语言中的优先级。


比如,a b OR c d

在逻辑上会被按照这样的逻辑执行:a AND (b OR c) AND d
而不是按照这样的逻辑执行:(a AND b) OR (c AND d)

再比如,a OR b c OR d

在逻辑上会被这样理解:(a OR b) AND (c OR d)
而不是这样理解:a OR (b AND c) OR d

所以,事实上,谷歌不支持 OR 能把它左右两边作为整体做逻辑非,OR 仅仅只能作用到左边和右边最近的一个关键词(除非双引号精确匹配)。

谷歌实际也不支持我们像上面这样用圆括号来分组,所以我们这里也仅仅是这样表示方便理解而已。


我们可以设想更复杂的布尔表达式,我们可能希望通过Google运行这些表达式。但如果谷歌能支持某个程序语言的逻辑程序,那么显然越复杂的搜索表达式,谷歌要耗费的服务器时间和运算就越多。而且有这种需求的搜索用户毕竟很少,顶多构成 Google 数十亿次搜索中的极小部分。很显然,99%的搜索用户只会进行一些简单的操作。

考虑到谷歌的搜索量无比巨大,所以它只做一些基础逻辑支持的做法我认为也是可以理解的,毕竟它要让绝大部分用户觉得搜索尽可能快地呈现结果。


最后,a OR “b c” d 应该怎样理解?

(a OR ("b c")) AND d

 

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到微信朋友圈

LiaoSam
LiaoSam
识不足则多虑,威不足则多怒,信不足则多言。

2条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

已读说明
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
呃,评论有点多呢... 料网小秘书为您玩命加载中...
  1. #1

    什么叫google布尔运算?说的是哪个编程语言?google没有编程语言吧,或者说有好几种编程语言,是指哪一个呢?

    3年前 (2017-02-04)回复
    • LiaoSam
      Liaosam,外贸综合症患者。
      @咸菜一点米 we are talking about how to use google boolean operators. “google布尔运算” means google boolean operations.
      3年前 (2017-03-01)回复