如何使用运算符优化搜索查询?

搜索运算符是一些词和字符,用于搜索特定组合的词、字段、日期和数字。您可以使用运算符使搜索更精确。

运算符的工作方式与在大多数 Web 搜索引擎中的方式相同,即都是基于布尔逻辑,并具有某些增强的功能。

例如,可创建一个搜索,用于搜索显示在同一文档中的两个词,并指定这两个词的靠近程度、它们必须位于哪个字段以及它们的精确大小写形式。此外,还可指定应该将某个词视为比另一个词更重要,以便包含第一个词的文档更靠近搜索结果列表的顶部。此外,还可以使用通配符搜索词的一部分。

要在搜索中使用运算符,应使用下表示例中所示格式在搜索栏中的文本输入框中输入运算符。

Web 查询语法

Notes® 查询语法表中列出及说明的运算符用于 Web 样式搜索查询语法,带有以下限定符:

  • 运算符必须全部大写,以正确应用于 Web 样式查询。如果输入小写的运算符(如 accrue 或 exactcase),搜索会将其用作实际的术语,而不是用作运算符。
  • 此规则的例外情况是公共词运算符 AND、OR 和 NOT,这些运算符不必大写。不过,请注意,NOT 不是运算符,因此,如果在任何情况下一个词前有词 NOT,且没有所需的运算符,则将添加 AND,例如 (not renovations) => (and not renovations)。在 Web 查询语法中,-(减号)是具有含义的运算符。
  • 用作通配符的星号只能用于搜索术语末尾,而不能位于术语开头或中间。

Notes 查询语法

运算符是 Notes® 中的保留字。如果希望像搜索正常文本一样搜索运算符(例如,在 Gene and Joan 这样的短语中),那么必须用引号将该短语括起。

如果 Notes® 查询语法是选定首选项,可以使用以下运算符:这些运算符也适用于 Web 查询语法,但上文所述的情况例外。

1. 运算符描述

运算符

描述和示例

运算符使用位置

CONTAINS

contains

=

要求此运算符之前的字段必须包含其后面的文本。“CONTAINS”与其两边的词之间应有空格。

示例

[Projectname] CONTAINS top secret

查找 Projectname 字段中包含词“top secret”的文档。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

IS PRESENT

要求此运算符之前的字段不得为空。“IS PRESENT”与其两边的单词之间应有空格。此运算符可用于查找在特定字段中包含(或不包含)某个值的所有文档。

示例

[Subject] IS PRESENT

查找其 Subject 字段不为空的文档。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

field fieldname

FIELDfieldname

[fieldname] (使用方括号)

表示“搜索此字段”;必须使用其字段名称来指定要搜索的字段。

示例

下面是查找其 Projectname 字段中包含短语 top secret 的文档的三种方式:

FIELD Projectname CONTAINS top secret

field Projectname CONTAINS top secret

[Projectname] CONTAINS top secret

注: Notes® 将文件附件存储在 $FILE 字段中。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

但仅限在视图搜索中

( ) [括号]

确定搜索的查询区段的顺序。在括号内的查询部分将优先于括号外的部分进行处理。

示例

(FIELD Projectname CONTAINS top secret OR FIELD Title CONTAINS tuna) AND (Field body CONTAINS cat OR Field revdate > 01/01/2004)

返回的文档其 Projectname 字段中包含词“top secret”,或者其 title 字段中包含词“tuna”;或者 body 字段中包含词 cat 或者 revdate 字段中包含超过 01/01/2004 的日期。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

AND

&

+

查找包含所有由 AND 连接的条件或词的文档。

示例

cat AND dog AND fish

查找包含所有这三个词的文档。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

除非“&”不起作用

或者

OR

|

ACCRUE

,(半角逗号)

查找包含任意一个条件或词的文档,并且返回结果按搜索项在文档中的出现次数进行排列。

示例

cat OR dog OR fish

查找至少包含这三个词之一的文档。

注: 按相关性进行排序时,ACCRUE 要比 OR 效果好些。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

NOT

not

!

排除含有出现在此运算符之后的术语的文档。

示例

可在词间输入 NOT:

  • cat AND NOT dog 查找包含词 cat,但不包含词 dog 的文档。
  • (cat OR dog) AND NOT (fish OR frogs 查找包含词 cat 或 dog,但不包含词 fish 或 frog 的文档。
  • (cat AND dog) AND NOT fish 查找包含词 cat 和 dog,但不包含词 fish 的文档。

可在任何字段名前输入 NOT:

  • NOT [Projectname] CONTAINS top secret 查找 Projectname 字段中包含词“top secret”的文档。

不能在数学符号 =、<、>、<= 或 >= 后输入 NOT;也不能在日期或数字前输入 NOT。

  • [date1] = NOT 12/25/2002 并非适当的查询。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

要求只返回包含精确短语的文档。为运算符(如 AND、OR、CONTAINS 等)加上引号可使它们作为普通词读取。

示例

rock and roll

查找包含短语 rock and roll 的文档。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

PARAGRAPH

paragraph

查找 PARAGRAPH 两边的词出现在同一段落中的文档,并按单词的靠近程度进行排列。

示例

car PARAGRAPH wheels

查找“car”和“wheels”出现在同一段落中的文档,并且按这两个词在段落内的靠近程度进行进行排列。

Notes® 视图 -

(需要创建应用程序的全文索引,并选中Index sentence and paragraph breaks选项。有关详细信息,请参阅全文索引选项主题。)

Notes® 域 -

Web 视图/域 -

SENTENCE

sentence

查找 SENTENCE 两边的词在同一句子中的文档,并按单词的靠近程度进行排列。

示例

car SENTENCE wheels

查找“car”和“wheels”出现在同一句子中的文档,并且按这两个词在句子内的靠近程度进行排列。

Notes® 视图 -

(需要创建应用程序的全文索引,并选中Index sentence and paragraph breaks选项。有关详细信息,请参阅全文索引选项主题。)

Notes® 域 -

Web 视图/域 -

?

可以表示任何单个字母的通配符。不适用于日期或数字。

示例

?one

查找包含 bone、cone、done、gone(以及任何其他以“one”结尾的四个字母的词)的文档。

???ck

查找包含 stack、clock、stick、truck、rack、rick、rock 的文档

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

*

可以表示任何长度字母的通配符。不适用于日期或数字。

示例

*one

查找包含 bone、cone、clone、crone、done、drone、gone、telephone(以及任何其他以“one”结尾的任意长度的单词)的文档。

同样,

*one*

查找包含 bone、cone、clone、lonely、phoned、 stoned、pardoned 的文档

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

TERMWEIGHT

termweight

给出搜索词的重要程度,即权重。可以使用介于 0 与 65537 之间的任意值。

示例

TERMWEIGHT 25 photo or TERMWEIGHT 75 audio or TERMWEIGHT 50 video

查找至少包含其中某一个词的文档。其中“Audio”的重要程度最高,“video”次之,“photo”最低。Notes® 对结果进行相应排列。第一个 TERMWEIGHT 与后面的值之间需要用 AND 或 OR 进行连接。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

EXACTCASE

exactcase

搜索此运算符后指定的精确大小写的词。

示例

exactcase Apple

查找包含“Apple”,而不是包含“APPLE”“apple”的文档。

Notes® 视图 -

(需要创建应用程序的全文索引,并选中Enabled case sensitive searches选项。有关详细信息,请参阅全文索引选项主题。)

Notes® 域 -

Web 视图/域 -

= (等于)

<(小于)

>(大于)

<=(小于或等于)

>=(大于或等于)

只搜索数字或日期字段中的数字或日期。

示例

FIELD date1<12/25/98

查找其“date1”字段中包含 12/25/98 之前的任何日期的文档。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

-(连字符)

查看具有用连字符连接的词对的文档。

示例

full-text

查找包含“full-text”的文档。

Notes® 视图 -

Notes® 域 -

Web 视图/域 -

字段名特例

使用 fieldname _CreationDate 按创建日期查找文档。例如,

[_CreationDate]=1/05/2001

查找于 2001 年 1 月 5 日创建的文档。

使用 fieldname _RevisionDate 按上次修改日期查找文档。例如,

[_RevisionDate]=1/05/2001 

查找上次于 2001 年 1 月 5 日修改的文档。

这些字段包含在文档标题中,而不包含在文档本身,因此不会出现在“文档属性”对话框中找到的字段名列表中。

注: 如果语言不支持大写概念,那么任何可作为运算符的词也将视为运算符。