企业级搜索 SQL 语法中的 FREETEXT 谓词

WHERE 子句的一部分,支持搜索文本列中的单词和短语。

FREETEXT
([<full-text_column>,]'<freetext_condition>'[,<LCID>])…

Remarks

使用 FREETEXT 谓词查找整列中包含搜索单词的不同组合的文档。与之相反的是,应使用 CONTAINS 谓词查找“完全”匹配项。也可将短语置于双引号内,使用 FREETEXT 谓词执行完全短语匹配。

全文本列引用是可选的。出于相关性目的,我们建议您在此处指定 DEFAULTPROPERTIES。例如:

…WHERE FREETEXT(DEFAULTPROPERTIES, 'computer software')

或者,也可以指定单个列或列分组别名,依此对 FREETEXT 谓词进行测试。这将搜索所有创建索引的文本属性。虽然不要求该列具有文本属性,但如果列属于其他数据类型,结果可能没有意义。列名称可以是常规标识符或带分隔符的标识符,必须使用逗号将其与条件隔开。如果未提供全文条件,则使用 Contents 列,它是文档的正文。

也可以用星号 (*) 指定全文本列引用,指示所有列。

您可以指定 FREETEXT 谓词的搜索区域设置。这样可指示搜索引擎,为搜索查询使用适当的分词系统、干扰词列表、词形变化和排序顺序。若要指定区域设置,可提供 Microsoft Windows 标准区域设置标识符,也称为 LCID。例如,美国英语的 LCID 为 1033。将 LCID 置于 FREETEXT 子句括号内的最后一项。有关搜索和语言的重要信息,请参阅企业级搜索 SQL 查询语言信息中的“使用本地化搜索”。

备注

默认搜索区域设置是系统默认区域设置。

必须用单引号将 <freetext_condition> 部分括起来,且必须包含一个或多个搜索词。FREETEXT 谓词不支持逻辑运算。要作为单个单词搜索短语,可用双引号将短语括起来。

FREETEXT 谓词的默认行为是,查询返回以下条件为真的文档:

  • 此文档至少在一个指定列中包含所有搜索词。

  • Contents 列中必须同时具有其中一个搜索词,该列为包含文档正文的属性。

搜索词不必按任何特定顺序出现。包含多个搜索词的文档可能具有较高级别的列值。

重要

我们建议您只在搜索查询中使用一个 FREETEXT 谓词。如果使用多个实例,查询执行时不会出错,但结果的分级可能不会太理想。

FREETEXT 谓词还支持包含“+”和排除“-”字符,它使用的匹配规则与 Keyword 语法相同。有关匹配规则的信息,请参阅企业级搜索关键字语法的包含和排除

示例

以下示例搜索包含“computer”、“software”和“hardware”的文档。

…WHERE FREETEXT('computer software hardware')

备注

此行为不同于 FREETEXT 在 SharePoint Portal Server 2003 中的工作方式。

您可以在同一 FREETEXT 谓词中使用单词和短语匹配。以下示例搜索包含单词“software”和短语“computer hardware”的文档。

…FREETEXT('software "computer hardware"')

当执行具有缩约形式的查询,同时使用 FREETEXT 谓词时,必须对缩约形式中的引号进行转义;使用 CONTAINS 谓词时,则不必如此。

例如,以下语法将会失败:

…WHERE FREETEXT(*,'"We'll always have Paris"')

正确的语法包含两个单引号。

以下语法将会成功:

…WHERE FREETEXT(*,'"We''ll always have Paris"')

以下示例搜索包含搜索词“hardware”和“store”、但不包含搜索词“computer”的文档。

…WHERE FREETEXT(DEFAULTPROPERTIES, 'hardware store -computer')

备注

FREETEXT 谓词不支持使用属性筛选器。

以下示例不会搜索其中的作者属性包含搜索词“John”的文档;相反,它会搜索包含搜索词“author”、“John”、“computer”和“hardware”的文档。

WHERE FREETEXT(DEFAULTPROPERTIES, 'author:John computer hardware')

以下示例搜索其中的作者属性包含搜索词“John”并在其他位置包含搜索词“computer”和“hardware”的文档。

…WHERE CONTAINS(author, 'John') AND FREETEXT(DEFAULTPROPERTIES, 'computer hardware')

备注

该查询的结果分级只基于 FREETEXT 谓词。

本节内容

企业级搜索 SQL 语法中的干扰词和 FREETEXT 谓词

See Also

参考

企业级搜索 SQL 语法中的 CONTAINS 谓词

企业级搜索 SQL 语法中的 WITH -- AS 组别名谓词