設定及管理搜尋的篩選

適用於:SQL ServerAzure SQL Database

編製 varbinaryvarbinary(max)imagexml 資料類型資料行中文件的索引需要進行額外處理。 這項處理必須由篩選執行。 篩選會從文件中擷取文字資訊 (移除格式)。 然後,篩選會將文字傳送至與資料表資料行相關聯之語言的斷詞工具元件。

篩選及文件類型

給定的篩選是給定文件類型 (.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),而 FileExtension 類型資料行的類型為 nvarchar(8)

若要檢視現有全文檢索索引中的類型資料行

注意

根據篩選的實作方式,篩選可能會處理父物件中內嵌的物件。 不過,SQL Server 不會將篩選設定成遵循其他物件的連結。

安裝的篩選

SQL Server 會安裝其自有的 XML 和 HTML 篩選。 此外,SQL Server 也會載入已安裝在作業系統上的 Microsoft 專屬格式 (.doc、.xdoc、.ppt 等) 適用的篩選。 若要識別目前載入到 SQL Server 執行個體上的篩選,請使用 sp_help_fulltext_system_components 預存程序,如下所示:

EXEC sp_help_fulltext_system_components 'filter';   

注意

即使有提供 .xlsx 支援的最新版 Office Filter Pack,SQL Server 還是無法支援 Strict Open XML 試算表。 SQL Server 會直接在編製任何 Strict Open XML 試算表的內容索引時失敗,而不會傳回任何錯誤。

非 Microsoft 篩選

不過,您必須先手動將非 Microsoft 格式的篩選載入伺服器執行個體中,才能加以使用。 如需安裝其他篩選的相關資訊,請參閱 檢視或變更已註冊的篩選與斷詞工具

另請參閱

sys.fulltext_index_columns (Transact-SQL)
FILESTREAM 與其他 SQL Server 功能的相容性