搜索运算符是一些词和字符,用来指示 Notes 搜索特定组合的词、域、日期和数字。在 Notes 中,搜索运算符的工作方式与在大多数 Web 搜索引擎中的方式相同即,基于布尔逻辑同时具有某些强大的功能增强。例如,可创建一个搜索,用于搜索出现在同一文档中的两个词,并指定这两个词的靠近程度、它们必须位于哪个域以及它们的精确大小写形式。
运算符输入对于熟练的Notes用户来说,方便快速。表1列出了常用的条件运算符。
表1:常使用的运算符
|
运算符 |
描述和样例 |
| =, <, >, <=, >=, | 运算符,可用来输入日期条件,如 [_CreatedDate]=2006-04-01] |
| Contains, contains | 此运算符之前的域必须包含其后面的文本。如field subject contains test表明需要搜索Subject域包含单词test的文档 |
|
域,如 field Subject FIELD Subject [Subject] 都表示是Subject域 |
| ( ) | 括号,改变运算的优先级。 |
|
查找包含所有由 AND 连接的条件或单词的文档。 |
|
查找包含所有由 OR 连接的条件或单词的文档。 |
|
表示逻辑否运算符,如!field Subject contains Test表明在Subject域中不能包含单词Test 注意: 不能在数学符号 =、<、>、<= 或 >= 后输入 NOT;也不能在日期或数字前输入 NOT。例如,'[date1] = NOT 12/25/2002' 不是正确的查询 |
| " " | 为运算符(如 AND、OR、CONTAINS 等)加上引号可使 Notes 将其视为普通词 |
在使用运算符进行搜索的时候,用户常常遇见一些问题。下文针对这些问题提出了解决方法。
- 查询一个域中多个关键字
当用户期望在一个域中以“或”的逻辑关系搜索多个关键字的时候,常常会发现搜索的结果并不正确。我们以Notes的收件箱为例。用户希望找到在收件箱中所有由Yun Fang Ge 或者 Wei Xi Hu发出的信件,输入如下运算符:
field from contains Yun Fang Ge, Wei Xi Hu
得到如图10的结果:
从图10中可以看出,搜索出的不少结果并不满足搜索条件。这样的情况通常在视图中有很多文档的时候出现。导致这样结果的原因是Notes会将逗号之后的关键字作为全文搜索的关键字。
针对这种错误,我们提出的解决方法是在多个关键字外面使用括号。更改后的运算符输入为:
field from contains (Wei Xi Hu, Yun Fang Ge)
得到如图11的结果: - 查询在多个域中多个关键字
当用户希望在多个域中寻找多个关键字的时候,也会遇到不正确的搜索结果,甚至当用户采用了我们在上例中的建议,在多个关键字外面使用了括号,依然会出现错误结果。我们依然拿Notes的收件箱为例。为了找到所有由Yun Fang Ge或 Yin Hu发出,且主题有Re的信,我们输入如下运算符:
field subject contain Re AND field from contain (Yun Fang Ge, Yin Hu)
可是我们得到的结果却如图12:
图12中用红色方框标记出的结果并不满足搜索条件。我们分析其原因为Notes 把除了第一个关键字外剩下的多个关键字当作或的关系来处理。也就是说Notes理解成为:
Field Subject contains Re AND field from contains Yun Fang Ge OR field from contains Yin Hu
针对这种错误,我们提出的解决方法是在每个域外都使用括号。所以更改后的输入运算符为:
(field subject contain Re) AND (field from contains (Yin Hu, Yun Fang Ge))
更改后得到如图13的结果:
