Windows 搜索 SQL 语法概述

Windows 搜索结构化查询语言(SQL)类似于标准 SQL 查询。 它显示在以下两种语法中:

SELECT [TOP <positive integer>] <columns>
FROM [machinename.]SystemIndex
[WHERE <conditions>]
[ORDER BY <column>]
GROUP ON <column> [<ranges>]
[AGGREGATE <aggregate_list>]
[ORDER BY <column> [ASC/DESC]]
OVER (<GROUP ON ...> | <SELECT...>) 

在以下查询示例中,将为所有页面超过 50 页的文档返回页计数和日期创建值,排序顺序为页计数的升序。

SELECT System.Document.PageCount, System.DateCreated
FROM SystemIndex
WHERE (System.Document.PageCount > 50)
ORDER BY System.Document.PageCount

Windows 搜索查询语法支持许多选项,从而支持更复杂的查询。

下表描述了 SELECT 或 GROUP ON 语句中的每个子句以及支持的功能。

第 Description
GROUP ON...关于... 指定如何对查询返回的结果进行分组。 可以指定要分组的区域,并指定要分组的多个列。 例如,可以将结果分组到一系列文件大小(大小<为 100、100 = 大小 < 1000<;1000 <= size)和嵌套分组。
SELECT 指定查询返回的列。
从 指定要搜索的计算机和目录。
哪里 指定构成匹配文档的内容。 此子句有许多选项,可实现对搜索条件的丰富控制。 例如,可以匹配字词、短语、屈折词形、字符串、数字和位运算值以及多值数组。 还可以将统计权重应用于匹配条件,并将匹配条件与布尔运算符组合在一起。
ORDER BY 指定查询返回的结果的排序顺序。 可以指定对结果进行排序的多个字段,并使用升序或降序。

代码示例

WSSQL 代码示例演示如何通过 SQL 在 Microsoft OLE DB 和 Windows 搜索之间进行通信。 WSOleDB 代码示例演示了活动模板库 (ATL) OLE DB 对 Windows 搜索应用程序的访问,以及用于从 Windows 搜索检索结果的其他两种方法。 GitHub 上提供了这两个示例。

Reference

文本

使用本地化搜索

了解相关性值

属性映射

高级查询语法

概念

Microsoft Windows 搜索 中的 SQL 扩展

Microsoft Windows 搜索 中不可用 SQL 功能

标识符

在搜索 中 区分大小写

搜索 中的 音调敏感度

强制转换列 的数据类型

数据类型映射