SQL Server 7.0 引入的全文檢索功能,專為處理大量非結構化文字資料(如 varchar、text、ntext)而設計。它與傳統 B-tree 索引有本質區別:
| 特性 | 傳統索引 | 全文索引 |
|---|---|---|
| 建立方式 | CREATE INDEX / 約束 | 系統預存程序 |
| 更新機制 | 資料異動即時自動更新 | 需排程或手動執行填充 |
| 每張表數量 | 可建立多個 | 僅能建立一個 |
| 群組管理 | 不支援 | 多個全文索引可組成全文目錄 |
| 儲存位置 | 資料庫檔案內 | 作業系統檔案系統 |
需依序執行下列系統預存程序:
sp_fulltext_database 'enable'sp_fulltext_catalog 'catalog_name', 'create'sp_fulltext_table 'table_name', 'create', 'catalog_name', 'unique_index_name'sp_fulltext_column 'table_name', 'column_name', 'add'sp_fulltext_table 'table_name', 'activate'sp_fulltext_catalog 'catalog_name', 'start_full' 或 'start_incremental'USE pubs
GO
-- 1. 啟用資料庫全文功能
EXEC sp_fulltext_database 'enable'
-- 2. 建立全文目錄 FT_pubs
EXEC sp_fulltext_catalog 'FT_pubs', 'create'
-- 3. 註冊 titles 表,指定唯一索引 UPKCL_titleidind (title_id PK)
EXEC sp_fulltext_table 'titles', 'create', 'FT_pubs', 'UPKCL_titleidind'
-- 4. 指定需檢索的欄位
EXEC sp_fulltext_column 'titles', 'title', 'add'
EXEC sp_fulltext_column 'titles', 'notes', 'add'
-- 5. 啟用該表全文索引
EXEC sp_fulltext_table 'titles', 'activate'
-- 6. 執行完整填充
EXEC sp_fulltext_catalog 'FT_pubs', 'start_full'
CONTAINS(精確/前綴/近似搜尋)或 FREETEXT(自然語言搜尋)謂詞。