检索式怎么写:布尔逻辑与运算符的组合
写检索式,本质上就是做两件事:把同一个概念的各种说法用 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 串起来」,每组括号内部是若干个 OR。如果你发现自己写到了三层嵌套,通常说明概念拆得太碎,回到如何确定检索词重新梳理一遍会更快。
检索结果为零,怎么快速定位是哪一段出了问题?逐段拆开单独检索。把每一组括号单独拿出来搜一次,看哪一组本身就是零——那一组的说法要么写错了,要么这个领域不用这种表述。三个概念最多试三次就能定位。
检索式写好之后需要保存吗?需要。把最终的检索式、检索日期和结果数量一起记下来。检索式是纯文本,复制一行就存下了,而它能让你三周后不必从头再想一遍,也是文献综述里说明检索过程的必需材料。