检索式怎么写:布尔逻辑与运算符的组合

写检索式,本质上就是做两件事:把同一个概念的各种说法用 OR 并列起来,再把不同概念之间用 AND 连接起来,而括号的作用就是确保这个结构不会被拆开。只要把这三点用对,九成以上的检索需求都能满足。

这一页承接如何确定检索词和检索词的扩展与收窄。前两页整理出来的是一张清单:横向列出每个概念的各种说法,纵向对应三到四个概念。这一页要做的,就是把这张表转换成一行可以直接拿去检索的表达式。

三个运算符各自的作用

运算符 含义 对结果的影响 典型用途
AND 两边都要满足 缩小 连接不同的概念
OR 满足任意一边即可 扩大 连接同一个概念的不同说法
NOT 排除右边 缩小 排除明确不需要的类别(慎用)

一句话记住它们的性质:OR 在做加法,AND 和 NOT 都在做减法。一个检索式最终检出多少文献,取决于这些加减法出现的位置和顺序——而位置由括号决定,这也是下文要重点讲的部分。

为什么同义词用 OR、概念之间用 AND

回到检索词清单的结构来看:横向排列的那些词是可以互相替换的——无论文献中使用的是"运动干预"还是"体育锻炼",表达的都是同一件事,只要出现其中任意一个,就应该被检索出来。这正是 OR 运算符的含义。

纵向排列的那些概念则是缺一不可的:一篇文献必须同时涉及运动干预和认知功能下降,才算符合你的研究问题。这正是 AND 运算符的含义。

判断标准可以简化成一句话:两个词换过来意思不变,用 OR;少了任何一个问题就不成立,用 AND。

最常见的错误,恰恰是把这两者的用法搞反了。如果把同义词用 AND 连接起来,就等于要求一篇文献里必须同时出现"运动干预""体育锻炼""身体活动"这三种写法——几乎没有作者会这样行文,检索结果必然是零。

括号:决定运算顺序

这是整页最需要记住的一节。

AND 的优先级高于 OR。所以下面这个式子:

运动干预 OR 体育锻炼 AND 认知功能下降

系统实际理解成的是:

运动干预 OR (体育锻炼 AND 认知功能下降)

而不是你想要的:

(运动干预 OR 体育锻炼)AND 认知功能下降

差别有多大?前一种写法会把所有只要检索式里只出现"运动干预",而没有用 AND 把"认知功能下降"这个概念也连上去,那么所有提到"运动干预"的文献都会被检出来——运动损伤、运动营养、青少年体质……全都混进来了。结果数量会异常地大,而你很可能只是觉得"这个领域的文献真多",却没意识到其中大部分其实跟你的问题无关。

规则没有例外:每一组 OR 都要用括号包起来。

标准结构长这样:

(概念一说法A OR 说法B OR 说法C)

AND(概念二说法A OR 说法B)

AND(概念三说法A OR 说法B OR 说法C)

写的时候先把括号和 AND 的骨架搭出来,再往括号里填词。顺序反过来最容易漏括号。

NOT 的风险

NOT 是三个运算符里唯一建议初次检索不要用的。

原因在于它的实际行为和多数人的预期不一致:NOT 删掉的是「提到过这个词的文献」,不是「关于这个主题的文献」。

举个实际的例子。假设你想排除动物实验,于是加上了 NOT 小鼠。结果一篇高质量的人群队列研究,仅仅因为在讨论部分提到了一句"既往小鼠实验提示……",就被整篇排除了。你本意是想排除某种研究类型,但 NOT 实际排除的,只是这个词的出现。

更麻烦的是,被 NOT 删掉的文献你看不见。AND 条件写得太严,检索会直接返回零条结果,你马上就能发现问题;可 NOT 一旦删错了,结果列表表面上看起来完全正常,只是悄悄少了一批本该被检出的文献——而系统不会给你任何提示。

什么情况下可以用 NOT 呢?——前提是检索结果已经很多,其中确实混入了大量某一类无关文献,并且这类文献有稳定出现的标志词,这时就可以考虑用 NOT 来排除。不过即便如此,也建议先记下使用 NOT 之前的结果数量,用完之后再对比一下减少了多少;如果减幅过大,就说明很可能误伤了本该保留的相关文献。

更安全的替代方案通常有两个:用发表日期等限定条件收窄,或者把最核心的概念移到标题字段。字段用法见高级检索:五个字段怎么用。

引号与短语检索

不加引号时,一个由多个词组成的说法可能会被拆开匹配——只要这几个词分散出现在文献的不同段落里,系统也会判定为命中。而加上引号之后,就要求这些词必须连续出现,而且顺序完全一致,才算匹配成功。

什么时候该加:拆开之后意思就变了的固定说法。这类术语不加引号会引入大量噪声。

什么时候别加:说法本身写法不固定的时候。加了引号,写法略有出入的文献就全部漏掉了。

引号的本质是一次权衡:提高查准率,降低查全率。实用做法是先不加引号搜一次,看看噪声大不大;噪声确实明显,再加上引号搜第二次,对比两次的结果数量和相关度。

300 字符上限下如何取舍

索框通常有 300 字符的上限,这在编写完整检索式时是一个很现实的约束。比如你有三个概念,每个概念下有四五种同义词,再叠上 OR、AND 以及成对的括号,字符数很快就会逼近甚至超出这个上限。

需要删的时候,按这个顺序:

最长的说法。占字符最多,通常命中最少。

粗搜时几乎不出现的说法。如果第一轮扫标题时,某个词一次都没见到,那它大概率没有保留的必要。

与已有说法高度重叠的。加进去结果只多出百分之几的,属于冗余。

如果实在删不动,还有两条路:

拆成两次检索。把某一个概念的说法分成两组,分别与其余部分组合,检索两次,人工合并结果。查全率要求高的综述检索常用这个办法。

把一个概念移到标题字段。主检索框只留两个概念,字符压力立刻下降,同时还起到了收窄作用。这通常是最划算的一步。

与知网检索行的区别

从国内数据库转过来的用户,最容易卡在这里。

知网、万方这类平台提供的是检索行——每一行对应一个下拉字段和一个输入框,行与行之间通过下拉菜单来选择逻辑关系(AND、OR 等),还可以随时加减行。整个检索式的逻辑结构是藏在界面背后的,由系统替你自动组装,用户不需要亲手写括号和运算符。

这里提供的是一个输入框加一条完整的表达式。逻辑关系需要你自己用运算符和括号写出来。

在检索行里的操作 在这里对应的写法
新增一行,逻辑关系选「或」 在同一个括号内加上 OR 和新的词
新增一行,逻辑关系选「与」 在表达式末尾加上 AND 和一组新的括号
某一行的字段选「篇名」 把这个概念填进标题字段
删除某一行 从表达式里删掉对应的那一段

心态上的差别值得说一句。检索行把逻辑结构替你藏了起来,用起来很轻松;而写表达式则要求你先在脑子里把结构想清楚,刚开始确实会慢一些。但一旦写顺了,表达式在三个方面会明显更方便:修改——想换一个词,直接在文本里改就行,不用重新排列整个界面;复制——它就是一段纯文本,随手就能贴进笔记或发给别人;记录——检索式本身就是一份可复现的检索记录,下次原样粘贴进去就能重跑。做文献综述时第三点是硬需求,见文献综述的检索流程。

常见的三个写法错误

错误写法 症状 正确写法
运动干预 AND 体育锻炼 AND 身体活动 零结果或结果极少 运动干预 OR 体育锻炼 OR 身体活动
运动干预 OR 体育锻炼 AND 认知功能下降 结果异常地多,大量不相关 (运动干预 OR 体育锻炼)AND 认知功能下降
运动干预 AND 影响 AND 认知功能下降 结果偏少,漏掉大量相关文献 运动干预 AND 认知功能下降

第三个错误值得多说一句。「影响」「关系」「作用」这类词描述的是概念之间的关联,而这种关联已经由 AND 表达了。把它们再写成一个检索词,筛掉的是不用这个词的相关文献,而不是不相关的文献。详见如何确定检索词。

常见问题

运算符必须大写吗?多数系统不区分大小写,但建议统一写成大写。检索式长了以后,大写的运算符在一串词里一眼就能认出来,自己检查括号配对时会轻松很多。

括号最多能嵌套几层?实际上很少需要超过一层。标准结构就是「几组括号用 AND 串起来」,每组括号内部是若干个 OR。如果你发现自己写到了三层嵌套,通常说明概念拆得太碎,回到如何确定检索词重新梳理一遍会更快。

检索结果为零,怎么快速定位是哪一段出了问题?逐段拆开单独检索。把每一组括号单独拿出来搜一次,看哪一组本身就是零——那一组的说法要么写错了,要么这个领域不用这种表述。三个概念最多试三次就能定位。

检索式写好之后需要保存吗?需要。把最终的检索式、检索日期和结果数量一起记下来。检索式是纯文本,复制一行就存下了,而它能让你三周后不必从头再想一遍,也是文献综述里说明检索过程的必需材料。

相关指南

如何确定检索词

检索词的扩展与收窄

高级检索:五个字段怎么用

检索结果太多或太少时怎么办

文献检索指南(总览)