検索用フィルターの構成と管理Configure and Manage Filters for Search

適用対象: ○SQL Server ○Azure SQL Database XAzure Synapse Analytics (SQL DW) XParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

varbinaryvarbinary(max)image、または xml データ型列のドキュメントにインデックスを作成するには、追加の処理が必要です。Indexing documents in a varbinary, varbinary(max), image, or xml data type column requires extra processing. この処理はフィルターによって実行します。This processing must be performed by a filter. フィルターは、ドキュメントから (フォーマットを解除して) 文字情報を抽出します。The filter extracts the textual information from the document (removing the formatting). 次に、テーブル列に関連付けられている言語のワード ブレーカー コンポーネントにテキストを送ります。The filter then sends the text to the word-breaker component for the language associated with the table column.

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

フィルターは、ドキュメント型 (.doc、.pdf、.xls、.xml など) に固有です。A given filter is specific to a given document type (.doc, .pdf, .xls, .xml, and so forth). これらのフィルターは IFilter インターフェイスを実装しています。These filters implement the IFilter interface. ドキュメント型の一覧を参照するには、 sys.fulltext_document_types カタログ ビューに対してクエリを実行してください。For more information about these document types, query the sys.fulltext_document_types catalog view.

バイナリ ドキュメントは、単一の varbinary(max) 列または image 列に格納できます。Binary documents can be stored in a single varbinary(max) or image column. 各ドキュメントについて、 SQL ServerSQL Server はファイル拡張子を基に正しいフィルターを選択します。For each document, SQL ServerSQL Server chooses the correct filter based on the file extension. ファイルが varbinary(max) 列または image 列に格納されている場合にはファイル拡張子が表示されないため、ファイル拡張子 (.doc、.xls、.pdf など) を型列と呼ばれるテーブル内の別の列に格納する必要があります。Because the file extension is not visible when the file is stored in a varbinary(max) or image column, the file extension (.doc, .xls, .pdf, and so forth) must be stored in a separate column in the table, called a type column. この型列は、任意の文字ベースのデータ型で、文書ファイルの拡張子 (たとえば MicrosoftMicrosoft Word 文書の場合は .doc) を格納します。This type column can be of any character-based data type and contains the document file extension, such as .doc for a MicrosoftMicrosoft Word document. Adventure WorksAdventure WorksDocument テーブルでは、 Document 列は型 varbinary(max)、型列 FileExtensionは型 nvarchar(8) です。In the Document table in Adventure WorksAdventure Works, the Document column is of type varbinary(max), and the type column, FileExtension, is of type nvarchar(8).

既存のフルテキスト インデックスの型列を表示するにはTo view the type column in an existing full-text index

注意

フィルターは、実装によっては、親オブジェクトに埋め込まれたオブジェクトを処理できます。A filter might be able to handle objects embedded in the parent object, depending on its implementation. ただし、 SQL ServerSQL Server では、フィルターが他のオブジェクトへのリンクをたどるように構成されていません。However, SQL ServerSQL Server does not configure filters to follow links to other objects.

インストールされているフィルターInstalled filters

SQL ServerSQL Server では、独自の XML フィルターと HTML フィルターがインストールされます。installs its own XML and HTML filters. さらに、オペレーティング システムに既にインストールされている MicrosoftMicrosoft 専用形式 (.doc、.xdoc、.ppt など) のフィルターもすべて SQL ServerSQL Server によって読み込まれます。In addition, any filters for MicrosoftMicrosoft proprietary formats (.doc, .xdoc, .ppt, and so on) that are already installed on the operating system are also loaded by SQL ServerSQL Server. SQL ServerSQL Serverのインスタンスに現在読み込まれているフィルターを確認するには、次のように sp_help_fulltext_system_components ストアド プロシージャを使用します。To identify the filters that are currently loaded on an instance of SQL ServerSQL Server, use the sp_help_fulltext_system_components stored procedure, as follows:

EXEC sp_help_fulltext_system_components 'filter';   

注意

.xlsx のサポートを提供する Office Filter Pack の最新バージョンであっても、SQL Server では完全 Open XML スプレッドシートはサポートされません。Even with the latest version of the Office Filter Pack that provides .xlsx support, SQL Server does not support Strict Open XML Spreadsheets. エラーは返されず、SQL Server は完全 Open XML スプレッドシートの内容のインデックス作成を失敗するだけです。No error will be returned, SQL Server will simply fail to index the contents of any Strict Open XML Spreadsheets.

Microsoft 以外のフィルターNon-Microsoft filters

ただし、MicrosoftMicrosoft 形式以外のフィルターを使用するには、事前にこれらのフィルターをサーバー インスタンスに読み込む必要があります。Before you can use filters for non- MicrosoftMicrosoft formats, however, you must manually load them into the server instance. 追加のフィルターのインストールの詳細については、「 登録済みのフィルターおよびワード ブレーカーの表示または変更」を参照してください。For information about installing additional filters, see View or Change Registered Filters and Word Breakers.

参照See Also

sys.fulltext_index_columns (Transact-SQL) sys.fulltext_index_columns (Transact-SQL)
FILESTREAM と SQL Server のその他の機能との互換性FILESTREAM Compatibility with Other SQL Server Features