Windows Search SQL 構文の概要
Windows Search 構造化照会言語 (SQL) は、標準の SQL クエリに似ています。 次の 2 つの構文に示されています。
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 Search クエリ構文では多くのオプションがサポートされており、より複雑なクエリが可能になります。
次の表では、SELECT または GROUP ON ステートメントの各句と、サポートされている機能について説明します。
句 | 説明 |
---|---|
GROUP ON...OVER... | クエリによって返される結果をグループ化する方法を指定します。 グループ化する範囲を指定し、グループ化する複数の列を指定できます。 たとえば、ファイル サイズ (サイズ 100、100 = サイズ < 1000、1000 <= サイズ < ) と <入れ子グループの範囲で結果をグループ化できます。 |
SELECT | クエリによって返される列を指定します。 |
FROM | 検索するマシンとカタログを指定します。 |
WHERE | 一致するドキュメントを構成するものを指定します。 この句には多くのオプションがあり、検索条件を豊富に制御できます。 たとえば、単語、語句、変曲語の形式、文字列、数値とビットごとの値、および複数値の配列と照合できます。 一致条件に統計的重みを適用し、一致条件をブール演算子と組み合わせることもできます。 |
ORDER BY | クエリによって返される結果の並べ替え順序を指定します。 結果を並べ替える複数のフィールドを指定でき、昇順または降順を使用できます。 |
コード サンプル
WSSQL コード サンプルでは、Microsoft OLE DB と SQL を介した Windows Search の間で通信する方法を示します。 WSOleDB コード サンプルは、Windows Search アプリケーションへの Active Template Library (ATL) OLE DB アクセスと、Windows Search から結果を取得するための 2 つの追加メソッドを示しています。 どちらのサンプルも GitHub で入手できます。
関連トピック
リファレンス
概念
Microsoft Windows Search の SQL 拡張機能