フィルターの構成と管理

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

varbinary(max)image、または xml データ型の列でドキュメントのインデックスを作成するには、追加の処理が必要です。 フィルターによってこの処理が実行されます。 フィルターは、ドキュメントから (フォーマットを解除して) 文字情報を抽出します。 次に、テーブル列に関連付けられている言語のワード ブレーカー コンポーネントにテキストを送ります。

フィルターおよびドキュメントの種類

フィルターは、ドキュメント型 (.doc、.pdf、.xls、.xml など) に固有です。 これらのフィルターは IFilter インターフェイスを実装しています。 ドキュメント型の一覧を参照するには、 sys.fulltext_document_types カタログ ビューに対してクエリを実行してください。

バイナリ ドキュメントは、単一の varbinary(max) 列または image 列に格納できます。 各ドキュメントについて、SQL Server はファイル拡張子を基に正しいフィルターを選択します。 ファイルが varbinary(max) 列または image 列に格納されている場合にはファイル拡張子が表示されないため、ファイル拡張子 (.doc、.xls、.pdf など) を型列と呼ばれるテーブル内の別の列に格納する必要があります。 この型列は、任意の文字ベースのデータ型で、文書ファイルの拡張子 (たとえば Microsoft Word 文書の場合は .doc) を格納します。 Adventure Works の Document テーブルでは、Document 列の型は varbinary(max) で、type 列の FileExtension の型は nvarchar(8) です。

既存のフルテキスト インデックスの型列を表示するには

フィルターは、実装によっては、親オブジェクトに埋め込まれたオブジェクトを処理できます。 ただし、SQL Server では、フィルターが他のオブジェクトへのリンクをたどるように構成されていません。

インストールされているフィルターを表示する

インスタンスに登録されているドキュメントの種類とフィルターを確認するには、次のいずれかの方法を使用します。

既定のフィルター

SQL Server がインストールする既定のフィルターは、フルテキスト コンポーネントのバージョンによって決まります。

各バージョンで処理されるフィルター バイナリとファイル拡張子の完全な一覧については、「 フルテキスト フィルター バイナリ」を参照してください。

.xlsxサポートを提供する最新バージョンの Office フィルター パックでも、SQL Serverは Strict Open XML スプレッドシートをサポートしていません。 エラーは返されません。SQL Serverは、厳密な Open XML スプレッドシートの内容のインデックスを作成できません。