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

SQL Server 全文檢索完整實作指南:啟動服務、精靈建立、SQL-DMO 自動化與預存程序腳本

     編輯:關於SqlServer

基本限制與概念

  • SQL Server 7.0 Desktop 版不支援全文檢索。
  • 每個資料表僅能建立一個全文索引。
  • 被索引資料表必須擁有單一欄位唯一索引 (主鍵或 UNIQUE 限制)。
  • 全文索引儲存於檔案系統 (全文目錄),非資料庫內部。
  • 全文索引更新較一般索引耗時,不支援即時自動更新。
  • 全文目錄屬於單一資料庫,不可跨資料庫共用。
  • 僅能在實體資料表建立,不可用於檢視、系統表、暫存表。
  • 忽略雜訊字,查詢包含雜訊字會報錯,應用程式需預先過濾。

啟動 Microsoft Search 服務

  1. 企業管理器 → 支援服務 → 全文檢索搜尋 右鍵 啟動。
  2. SQL Server Service Manager → Services 下拉選單選 Microsoft Search → Start/Continue。
  3. 命令列:net start mssearch。

全文檢索精靈 (7 步驟)

  1. 工具 → 全文檢索索引 → 選擇資料庫 → 下一步。
  2. 選擇資料表 → 下一步。
  3. 選擇唯一索引 → 下一步。
  4. 選擇索引欄位 → 加入 → 下一步。
  5. 選擇/建立全文目錄 → 下一步。
  6. 設定/建立填滿排程 (選填) → 下一步。
  7. 完成。

SQL-DMO 自動化 (VB 範例)

Dim objSQL As New SQLDMO.SQLServer
objSQL.Connect "localhost", "sa", ""

Dim objCatalog As New SQLDMO.FullTextCatalog
objSQL.Databases("pubs").EnableFullTextCatalogs
objCatalog.Name = "ftcPubsTest"
objSQL.Databases("pubs").FullTextCatalogs.Add objCatalog

Dim objTable As New SQLDMO.Table
Set objTable = objSQL.Databases("pubs").Tables("authors")
objTable.FullTextCatalogName = "ftcPubsTest"
objTable.UniqueIndexForFullText = "UPKCL_auidind"
objTable.FullTextIndex = True
objTable.Columns("au_lname").FullTextIndex = True
objTable.Columns("au_fname").FullTextIndex = True
objTable.FullTextIndexActive = True

objCatalog.Start SQLDMOFullText_Full

預存程序建立腳本

USE Pubs; GO
EXEC sp_fulltext_database 'enable'; GO
EXEC sp_fulltext_catalog 'ftcPubsTest', 'create'; GO
EXEC sp_fulltext_table 'authors', 'create', 'ftcPubsTest', 'UPKCL_auidind'; GO
EXEC sp_fulltext_column 'authors', 'au_lname', 'add'; GO
EXEC sp_fulltext_column 'authors', 'au_fname', 'add'; GO
EXEC sp_fulltext_table 'authors', 'activate'; GO
EXEC sp_fulltext_catalog 'ftcPubsTest', 'start_full'; GO

進階管理

  • 排程填滿:sp_fulltext_catalog 'catalog_name', 'start_incremental' (增量) 或 'start_full' (完整)。
  • 變更追蹤:sp_fulltext_table 'table', 'change_tracking', 'auto'/'manual'/'off'。
  • 查詢語法:CONTAINS、FREETEXT、CONTAINSTABLE、FREETEXTTABLE。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved