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

SQL Server 7.0 全文檢索架構與建立步驟完整指南

     編輯:關於SqlServer

全文索引 vs 一般索引比較

特性一般索引全文索引
建立方式CREATE INDEX / 約束系統預存程序
更新機制資料異動自動維護排程填充或手動啟動
每張表數量多個僅一個
儲存位置資料庫檔案(MDF/NDF)檔案系統(全文目錄)
群組管理無多個全文索引可組成全文目錄

建立全文索引六大步驟(對應系統預存程序)

  1. 啟用資料庫全文功能:sp_fulltext_database 'enable'
  2. 建立全文目錄:sp_fulltext_catalog 'FT_Catalog', 'create'
  3. 註冊需全文索引的資料表:sp_fulltext_table 'TableName', 'create', 'FT_Catalog', 'UniqueIndexName'
  4. 指定參與全文檢索的欄位:sp_fulltext_column 'TableName', 'ColumnName', 'add'
  5. 啟動資料表全文索引:sp_fulltext_table 'TableName', 'activate'
  6. 填充全文索引:sp_fulltext_catalog 'FT_Catalog', 'start_full'

完整範例腳本(以 pubs 資料庫 titles 表為例)

USE pubs
GO
IF (SELECT DATABASEPROPERTY('pubs','IsFulltextEnabled')) = 0
    EXEC sp_fulltext_database 'enable'

EXEC sp_fulltext_catalog 'FT_pubs', 'create'
EXEC sp_fulltext_table 'titles', 'create', 'FT_pubs', 'UPKCL_titleidind'
EXEC sp_fulltext_table 'titles', 'activate'
EXEC sp_fulltext_column 'titles', 'title', 'add'
EXEC sp_fulltext_column 'titles', 'notes', 'add'
EXEC sp_fulltext_catalog 'FT_pubs', 'start_full'
GO

-- 監控填充進度
WHILE FULLTEXTCATALOGPROPERTY('FT_pubs', 'PopulateStatus') <> 0
BEGIN
    WAITFOR DELAY '00:00:05'
END

查詢語法:CONTAINS / FREETEXT

-- 精確詞彙搜尋
SELECT * FROM titles WHERE CONTAINS(title, 'SQL')

-- 自然語言搜尋
SELECT * FROM titles WHERE FREETEXT(notes, 'database performance tuning')

維護提醒

  • 定期排程 start_incremental 或 start_full 更新索引
  • 監控全文目錄大小,避免磁碟爆滿
  • SQL 2000 起支援變更追蹤自動更新,減少手動維護
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved