首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 全文索引完整範例:以 Pubs 資料庫建立與查詢

     編輯:關於SqlServer

本文提供一個可直接執行的完整腳本,示範在 `pubs` 資料庫上為 `title` 表的 `title`、`notes` 欄位建立全文索引,並驗證查詢效果。

六步驟建立流程

  1. 啟用資料庫全文功能:`sp_fulltext_database 'enable'`
  2. 建立全文目錄:`sp_fulltext_catalog 'FT_pubs', 'create'`
  3. 註冊資料表:`sp_fulltext_table 'title', 'create', 'FT_pubs', 'UPKCL_titleidind'`
  4. 加入索引欄位:`sp_fulltext_column 'title', 'title', 'add'` 及 `sp_fulltext_column 'title', 'notes', 'add'`
  5. 啟用全文檢索:`sp_fulltext_table 'title', 'activate'`
  6. 完全填充目錄:`sp_fulltext_catalog 'FT_pubs', 'start_full'`

完整可執行 T-SQL

USE pubs;
GO

-- 1. 啟用全文功能
IF (SELECT DATABASEPROPERTY('pubs', 'IsFulltextEnabled')) = 0
    EXEC sp_fulltext_database 'enable';

-- 2. 建立全文目錄
EXEC sp_fulltext_catalog 'FT_pubs', 'create';

-- 3. 註冊 title 表(需唯一索引 UPKCL_titleidind)
EXEC sp_fulltext_table 'title', 'create', 'FT_pubs', 'UPKCL_titleidind';

-- 4. 指定索引欄位
EXEC sp_fulltext_column 'title', 'title', 'add';
EXEC sp_fulltext_column 'title', 'notes', 'add';

-- 5. 啟用全文檢索
EXEC sp_fulltext_table 'title', 'activate';

-- 6. 開始完全填充
EXEC sp_fulltext_catalog 'FT_pubs', 'start_full';
GO

-- 等待填充完成
WHILE FULLTEXTCATALOGPROPERTY('FT_pubs', 'PopulateStatus') <> 0
BEGIN
    WAITFOR DELAY '00:00:30';
END

-- 7. 全文查詢驗證
SELECT title
FROM title
WHERE CONTAINS(title, 'database')
   OR CONTAINS(title, 'computer')
   OR CONTAINS(notes, 'database')
   OR CONTAINS(notes, 'computer');

全文相關系統預存程序權限速查

程序權限用途
sp_fulltext_serviceserveradmin / sysadmin設定全文搜尋屬性
sp_fulltext_catalogdb_owner+建立/刪除目錄、啟動/停止填充
sp_fulltext_databasedb_owner啟用/停用資料庫全文功能
sp_fulltext_tabledb_ddladmin / db_owner標識表為全文索引表、啟用/停用
sp_fulltext_columndb_ddladmin指定欄位加入/移出全文索引

前置條件

  • 已安裝 Microsoft Search Service。
  • SQL Server Full-Text Search 服務(MSSQLFDLauncher)已啟動。
  • 目標資料表擁有唯一、非空、單欄位索引(主鍵即可)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved