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

SQL Server全文檢索完整實作指南

     編輯:關於SqlServer

SQL Server的全文索引與LIKE謂詞截然不同:全文查詢依特定語言語言規則拆解詞彙與片語,支援語意搜尋;而LIKE僅做字元模式比對。面對百萬筆非結構化文本,LIKE查詢可能耗時數分鐘,全文檢索則只需秒級響應。

適用資料類型與前置條件

可對char、varchar、nvarchar建立全文索引,也支援varbinary(max)、image等二進位格式(如Word文檔)。前置條件:目標資料表必須擁有唯一且非空的欄位(通常為主鍵)。

三步建立全文索引

1. 建立全文目錄

CREATE FULLTEXT CATALOG DocumentCatalog AS DEFAULT

一個目錄可包含多個全文索引,但每個索引僅屬於一個目錄。每個資料庫可建立多個目錄,AS DEFAULT指定為預設目錄。

2. 建立唯一非叢集索引

CREATE UNIQUE INDEX T_DocumentsContent_VerID ON T_DocumentsContent(VerID)

通常以主鍵作為唯一非叢集索引,強制欄位值唯一。

3. 建立全文索引

CREATE FULLTEXT INDEX ON T_DocumentsContent(DOCUCONTENT TYPE COLUMN ExtendedName)
KEY INDEX T_DocumentsContent_VerID ON DocumentCatalog
WITH CHANGE_TRACKING AUTO
  • DOCUCONTENT:全文檢索欄位
  • TYPE COLUMN ExtendedName:若檢索欄位為二進位流,需指定副檔名來源欄位
  • KEY INDEX:指定唯一鍵索引名稱
  • ON DocumentCatalog:所屬全文目錄
  • CHANGE_TRACKING:變更追蹤模式
    MANUAL
    手動或排程傳播變更日誌
    AUTO (預設)
    資料異動時自動更新索引
    OFF [, NO POPULATION]
    不維護變更清單;NO POPULATION需配合OFF使用,建立後不填充,需手動ALTER FULLTEXT INDEX ... START FULL/INCREMENTAL POPULATION觸發

注意事項

需啟動SQL Server FullText Search服務。SQL Express版本不支援全文索引。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved