FQL 简单查询语言
上次修改时间: 2015年3月9日
适用范围: SharePoint Server 2010
利用简单查询语言支持,可以创建使用简单运算符(例如,在 Web 的常用搜索引擎上使用的那些运算符)的搜索框。这包括支持采用比使用更正式的 FAST 查询语言 (FQL) 语法更简单的方法来混合字词或短语以及混合 AND、OR 和 NOT。
STRING 运算符的语法中支持此格式,如下所示。
string("<simple query language expression>", mode="simpleall")
string("<simple query language expression>", mode="simpleany")
simpleall:逻辑 AND 在 <simple query language expression> 中的字词和/或短语之间应用,除非字词的前面有减号("-")字符。
simpleany:逻辑 OR 在 <simple query language expression> 中的字词和/或短语之间应用,除非字词的前面有加号("+")或减号("-")字符。
<simple query language expression> 中的各个字词或短语必须用空格分隔开。
如果 <simple query language expression> 包含一个短语,则必须用反斜线("\")字符对双引号进行转义。例如,如果用户输入查询 "king lear" shakespeare,则结果 FQL STRING 运算符必须采用以下格式:
string("\"king lear\" shakespeare", mode="simpleall|simpleany")
备注
FQL 简单查询语言不支持 SharePoint 查询 Web 部件中使用的 SharePoint 关键字语法的所有选项。若要在自定义应用程序中公布同一查询语法,请查看支持的查询语言中所述的选项。
SIMPLEALL 模式
SIMPLEALL 模式 (mode="simpleall") 表示必须在返回的文档中匹配所有查询词或短语(用空格隔开)。此模式与在字词或短语之间使用逻辑 AND 等效。可使用前缀加号("+")或减号("-")替代此默认匹配模式,如下表所述。
前缀 |
说明 |
---|---|
+ |
允许使用此前缀,但会将其忽略。 下列表达式是等效的,它们都将返回同时包含"goethe"和"faust"的所有文档: +faust +goethe +faust goethe faust +goethe faust goethe |
- |
此前缀将逻辑 NOT 应用于以下字词。 以下表达式返回同时包含"goethe"和"faust"的所有文档,但如果这些文档还包含"marlowe",则不返回它们: goethe faust -marlowe |
备注
"+"或"-"字符与以下字词或短语之间不允许有空格。
SIMPLEANY 模式
SIMPLEANY 模式 (mode="simpleany") 表示必须在返回的文档中匹配至少一个查询词或短语(用空格隔开)。可使用"+"或"-"替代此默认匹配模式,如下表所述。
使用此模式与使用 OR 布尔查询参数等效。在 mode="simpleany" 中,如果未应用 + 或 - 运算符(只是用空格分隔一个或多个字词),则必须匹配其中一个查询词或短语。
前缀 |
说明 |
---|---|
+ |
必须匹配"+"后面的字词或短语(逻辑 AND)。 示例 以下表达式返回同时包含"goethe"和"faust"的所有文档: +faust +goethe 以下表达式返回包含"faust"的所有文档。同时包含"goethe"的文档的动态排名将上升,并将显示在结果集中更高的位置: +faust goethe 以下表达式返回包含"shakespeare"的所有文档。同时短语"king lear"的文档的动态排名将上升,并将显示在结果集中更高的位置: \"king lear\" +shakespeare |
- |
此前缀将逻辑 NOT 应用于以下字词。 示例 以下表达式返回同时包含"goethe"和"faust"的所有文档,但如果这些文档还包含"marlowe",则不返回它们: +goethe +faust -marlowe 以下表达式返回包含"goethe"的所有文档,但如果这些文档还包含"marlowe",则不返回它们。同时包含"faust"的文档的动态排名将上升,并将显示在结果集中更高的位置: +goethe faust -marlowe 以下表达式是一个特例,将使用近似法进行计算: faust -marlowe 按以下方式计算该表达式: andnot(faust, marlowe) |
备注
"+"或"-"字符与以下字词或短语之间不允许有空格。