技术开发 频道

Lotus Notes搜索功能的有效使用


输入运算符进行搜索

如何输入查询条件

    搜索运算符是一些词和字符,用来指示 Notes 搜索特定组合的词、域、日期和数字。在 Notes 中,搜索运算符的工作方式与在大多数 Web 搜索引擎中的方式相同即,基于布尔逻辑同时具有某些强大的功能增强。例如,可创建一个搜索,用于搜索出现在同一文档中的两个词,并指定这两个词的靠近程度、它们必须位于哪个域以及它们的精确大小写形式。

    运算符输入对于熟练的Notes用户来说,方便快速。表1列出了常用的条件运算符。

表1:常使用的运算符

运算符

描述和样例
=, <, >, <=, >=, 运算符,可用来输入日期条件,如 [_CreatedDate]=2006-04-01]
Contains, contains 此运算符之前的域必须包含其后面的文本。如
field subject contains test
表明需要搜索Subject域包含单词test的文档
  • field fieldname
  • FIELD fieldname
  • [fieldname] (使用方括号)
域,如
field Subject
FIELD Subject
[Subject]
都表示是Subject域
( ) 括号,改变运算的优先级。
  • &
  • And
查找包含所有由 AND 连接的条件或单词的文档。
  • |
  • OR
查找包含所有由 OR 连接的条件或单词的文档。
  • NOT
  • not
  • !
表示逻辑否运算符,如
!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:在一个域中搜索“或”关系的多个关键字的不正确结果
    图10:在一个域中搜索“或”关系的多个关键字的不正确结果

       从图10中可以看出,搜索出的不少结果并不满足搜索条件。这样的情况通常在视图中有很多文档的时候出现。导致这样结果的原因是Notes会将逗号之后的关键字作为全文搜索的关键字。

        针对这种错误,我们提出的解决方法是在多个关键字外面使用括号。更改后的运算符输入为:

    field from contains (Wei Xi Hu, Yun Fang Ge)

        得到如图11的结果:

    图11:在一个域中搜索“或”关系的多个关键字的正确结果
    图11:在一个域中搜索“或”关系的多个关键字的正确结果

  • 查询在多个域中多个关键字

        当用户希望在多个域中寻找多个关键字的时候,也会遇到不正确的搜索结果,甚至当用户采用了我们在上例中的建议,在多个关键字外面使用了括号,依然会出现错误结果。我们依然拿Notes的收件箱为例。为了找到所有由Yun Fang Ge或 Yin Hu发出,且主题有Re的信,我们输入如下运算符:

    field subject contain Re AND field from contain (Yun Fang Ge, Yin Hu)

        可是我们得到的结果却如图12:

    图12:在多个域中搜索多个关键字的不正确结果
    图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的结果:

    图13:在多个域中搜索多个关键字的正确结果
    图13:在多个域中搜索多个关键字的正确结果

  • 观看专家视频讲座,了解人员协作信息,赢取免费试用软件。

0
相关文章