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 拡張機能

Microsoft Windows Search で使用できない SQL 機能

識別子

検索での大文字と小文字の区別

検索での分音記号の秘密度

列のデータ型のキャスト

データ型のマップ