Windows検索SQL構文の概要

Windows検索構造化照会言語 (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検索クエリ構文では、多くのオプションがサポートされており、より複雑なクエリが可能になります。

次の表では、SELECT ステートメントまたは GROUP ON ステートメントの各句と、サポートされている機能について説明します。

説明
GROUP ON...OVER... クエリによって返される結果をグループ化する方法を指定します。 グループ化する範囲を指定し、グループ化する複数の列を指定できます。 たとえば、さまざまなファイル サイズ (サイズ 100、100 = サイズ < 1000 <、1000 = サイズ < ) で結果をグループ化し、 <グループ化を入れ子にすることができます。
SELECT クエリによって返される列を指定します。
FROM 検索するマシンとカタログを指定します。
WHERE 一致するドキュメントを構成するものを指定します。 この句には多くのオプションがあり、検索条件を豊富に制御できます。 たとえば、単語、語句、変曲語の形式、文字列、数値とビットごとの値、および複数値の配列と照合できます。 また、一致条件に統計的重みを適用し、照合条件をブール演算子と組み合わせることもできます。
ORDER BY クエリによって返される結果の並べ替え順序を指定します。 結果を並べ替える複数のフィールドを指定でき、昇順または降順を使用できます。

コード サンプル

WSSQL コード サンプルでは、Microsoft OLE DB と Windows Search 間で通信する方法をSQLで示します。 WSOleDB コード サンプルは、Windows Search アプリケーションへの Active Template Library (ATL) OLE DB アクセスと、Windows Search から結果を取得するための 2 つの追加メソッドを示しています。 どちらのサンプルもGitHubで入手できます。

リファレンス

リテラル

ローカライズされた検索の使用

関連性の値について

プロパティのマッピング

詳細クエリ構文

概念

Microsoft Windows Search の拡張機能をSQLする

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

識別子

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

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

列のデータ型のキャスト

データ型のマップ