高级搜索
Sun ONE Web Server 6.1 用户指南

> ## 基本搜索

> 您可以使用“搜索查询”页来搜索集合中的文档。

> 要输入查询：

> - 选择要搜索的一个或多个集合

> - 键入一些描述性文字

> - 单击“查找”按钮（或按 Enter 键）

> “结果”页将包含指向服务器中匹配搜索条件的文档的链接。

> 大多数情况下，您都可以通过在集合中搜索关键字来找到所需的文档，但有时，您需要执行更加复杂的搜索。

> 大多数情况下，高级搜索页是构造复杂查询的最简便的途径。但是，您也可以直接在搜索框中键入复杂的查询语法。

> 共有两种语法工具可用于自行创建复杂查询，您可以在同一个搜索中同时使用通配字符和搜索查询运算符。

> ## 通配字符

> 通配字符是代表搜索中的各种其它字符或字符组的特殊字符。例如，在查询中，问号 (?) 就是一个表示任意字母或数字的通配字符。可用选项如下：

> - 问号 (?)

> - 星号 (*)

> - 空格

> ### 问号 (?)

> 匹配任意单个字符。

> 实例

> b?g - 搜索 bag、beg、big、bog 和 bug 等单词。

> ver???? - 搜索 verdant、version、verbose 和 verdict 等单词。不会搜索 verify 和 verily 这类包含字符串“ver”但其后不是四个字母的单词。

> ### 星号 (*)

> 匹配任意字符组。

> 实例

> do* - 搜索包含以字母“do”开头的任意单词（例如 dozen、doctor、doughnut、documentation 等等）的文档。

> ### 空格

> 要生成整个集合或种类中所有文档的列表，只需使用单个空格来进行查询。

> ## 搜索查询运算符

> 您可以使用其它搜索运算符创建更加复杂的查询并对搜索进行精细设置。您可以使用以下运算符：

> - AND，<AND>

> - <CASE>

> - <CONTAINS>

> - 等于 (=)，<EQUALS>

> - <ENDS>

> - 大于 (>)，<GREATER>

> - 小于 (<)，<LESS>

> - 小于或等于 (<=)，<LEQ>

> - <MATCHES>

> - <NEAR>

> - <NEAR/n>

> - NOT，<NOT>

> - 不等于 (!=)

> - OR，<OR>

> - <PHRASE>

> - <STARTS>

> - <STEM>

> - <WORD>

> ### AND，<AND>

> 在搜索中添加强制性条件。您无需在搜索查询中包括 AND 运算符以将关键字连接起来。Sun ONE Web Server 会自动将其包括在由空格分隔开的词语之间。它相当于在两个关键字之间插入空格。

> 实例

> 返回同时包含单词 Anderson 和 Tull 的文档，并忽略仅包含两个指定关键字之一的文档。

> ### <CASE>

> 搜索指定的关键字并区分大小写。

> 注意 | 包含大写字母的查询将自动执行区分大小写的搜索，您不必为这些词语键入 <CASE>。但是默认情况下，对全部是小写字母的词语执行的搜索不区分大小写。

> 实例

> 查找包含小写 mark 而不包含 Mark 的文档。

> ### <CONTAINS>

> 在文档字段中查找包含指定单词的文档。<CONTAINS> 只能作用于整个单词，而 <SUBSTRING> 可以作用于任何字符集。

> 实例

> 查找标题中包含 Jethro Tull 的文档。

> ### 等于 (=)，<EQUALS>

> 查找文档字段匹配指定值的文档。

> 实例

> 查找 2003 年 7 月 17 日创建的文档。

> ### <ENDS>

> 查找文档字段以指定字符串结束的文档。

> 实例

> 查找标题以单词 Brick 结尾的文档。

> ### 大于 (>)，<GREATER>

> 查找文档字段大于指定值的文档。

> 查找 2003 年 7 月 17 日以后创建的文档。

> ### 小于 (<)，<LESS>

> 查找文档字段小于指定值的文档。

> 查找 2003 年 7 月 17 日之前创建的文档。

> ### 小于或等于 (<=)，<LEQ>

> 查找文档字段小于或等于指定值的文档。

> 查找 2003 年 7 月 17 日之前创建的文档。

> ### <MATCHES>

> 查找文档字段与作为关键字提供的指定模式匹配的文档。

> 实例

> 查找标题包含 tu 模式的单词（例如 virtual、Tull、tuning 等等）的文档。

> ### <NEAR>

> 查找指定单词彼此之间的单词少于 1000 个单词的文档。单词彼此相距越近，指定的文档相关性越高。

> 实例

> 查找同时包含单词 Anderson 和 Chrysalis、且它们之间的单词少于 1000 个单词的文档，两个单词相距越近，指定的相关性越高。

> ### <NEAR/n>

> 查找单词彼此相距在 n 个单词以内的文档。n 的值必须在 1 和 1024 之间。在指定的临近距离之内的所有文档都将被指定相同的相关性。

> 实例

> 查找包含类似“flute at Hammersmith”和“flute recitals at the Hammersmith”词组的文档，因为 flute 和 Hammersmith 之间的单词不超过三个。但不会查找类似“flute and other musical instruments in the market near Hammersmith”的词组。

> ### NOT，<NOT>

> NOT 运算符用于修饰其它运算符。查找不包含指定单词或词组的文档。

> 注意 | <NOT> 可用于修饰 <OR> 运算符或 <AND> 运算符。

> 实例

> 查找包含姓名 Barre 但不包含姓名 Conway 的文档。

> ### 不等于 (!=)

> 查找 2003 年 7 月 17 日之前或之后、但不是在 2003 年 7 月 17 日创建的文档。

> ### OR，<OR>

> 在搜索中添加可选条件。

> 实例

> 查找包含单词 Aqualung 或 Stormwatch 的文档。

> ### <PHRASE>

> 将单个单词连接起来作为词组。Sun ONE Web Server 将用引号括起来的多个单词看作一个词组。因此，<PHRASE> locomotive and <PHRASE> breath 与“locomotive breath”是相同的查询。

> 查找包含词组“apples and oranges”的文档。

> （and 被作为要搜索的单词而不是运算符，因为它是词组的一部分。）

> 忽略单词 locomotive 和 breath 没有作为一个词组出现的文档。

> ### <STARTS>

> 查找文档字段以指定字符串开始的文档。

> 实例

> 查找标题以单词 Chronology 开始的文档。

> ### <STEM>

> 查找包含指定单词的变化形式（例如复数、过去时态，等等）的文档。

> 注意 | Sun ONE Web Server 将 <STEM> 作为默认值。您不必在搜索框中实际输入 <STEM>。

> 实例

> 查找包含 publish 的任何变化形式（例如 publisher、publishing、public 和 publication）的文档。

> ### <WORD>

> 查找包含与指定单词完全一样的单词的文档。

> 实例

> 查找包含单词“Ian”的文档，而不查找包含“martian”或“diana”等单词的文档。

> ## 文档字段

> Sun ONE Web Server 维护文档的索引。索引包含对应于每个文档的项。每个索引项包含一个或多个字段，例如“标题”、“作者”和“URL”。可以将查询限定在指定文档字段中，并且只能查找到匹配指定字段中条件的文档。

> 例如，如果只搜索 Einstein，则您将找到“标题”、“作者”或“关键字”任意一个字段中包含单词 Einstein 的所有文档。这将包括有关 Einstein 的文档，引用了 Einstein 的文档和由 Einstein 撰写的文档。但是如果您指定了 Author = “Albert Einstein”，则您将只查找由 Albert Einstein 撰写的文档。

> 默认情况下，您可以搜索的索引字段如下：

> - 作者。使用 <Author> Meta 标记指定的创建文档的作者或组织。

> - 关键字。使用 <Keywords> Meta 标记指定的关键字。

> - 日期。上次编辑或修改文档的日期。

> - 标题。使用 HTML <Title> 标记指定的文档的标题。

> （管理员可能会创建其它字段或删除某些默认字段。）

> 高级搜索

> Copyright 2003 Sun Microsystems, Inc. All rights reserved.