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

SQL Server 2000 全文檢索啟用與查詢完整實戰範例

     編輯:關於SqlServer

啟用全文檢索完整步驟 (以 pubs 資料庫 titles 表為例)

  1. 啟用資料庫全文檢索支援
    USE pubs; GO
    EXEC sp_fulltext_database 'enable'; GO
  2. 建立全文檢索目錄
    EXEC sp_fulltext_catalog 'ft_titles', 'create'; GO
  3. 建立全文檢索資料表定義 (指定唯一索引)
    EXEC sp_fulltext_table 'titles', 'create', 'ft_titles', 'UPKCL_titleidind'; GO

    唯一索引名稱可用 sp_help titles 查詢。

  4. 加入全文檢索欄位
    EXEC sp_fulltext_column 'titles', 'title', 'add'; GO
    EXEC sp_fulltext_column 'titles', 'notes', 'add'; GO
  5. 啟用全文檢索索引
    EXEC sp_fulltext_table 'titles', 'activate'; GO
  6. 填充全文檢索目錄 (完整填充)
    EXEC sp_fulltext_catalog 'ft_titles', 'start_full'; GO

全文檢索查詢範例

-- CONTAINS: 精確詞彙/片語搜尋
SELECT title, notes FROM titles WHERE CONTAINS(title, '"computer Cooking"'); GO

-- FREETEXT: 語意/自然語言搜尋
SELECT title, notes FROM titles WHERE FREETEXT(title, 'computer Cooking'); GO

-- FREETEXT 加雙引號視為片語
SELECT title, notes FROM titles WHERE FREETEXT(title, '"computer Cooking"'); GO

-- 單一關鍵字
SELECT title, notes FROM titles WHERE CONTAINS(title, 'computer'); GO

-- 所有全文索引欄位搜尋 (*)
SELECT title, notes FROM titles WHERE FREETEXT(*, 'computer'); GO

CONTAINS vs FREETEXT 差異

特性CONTAINSFREETEXT
搜尋模式精確詞彙、前置詞、近接、加權、布林邏輯自然語言、詞幹分析、同義詞展開
片語搜尋雙引號包裹 "phrase"直接輸入片語,或雙引號強制
效能索引搜尋快較耗資源
適用場景結構化查詢、關鍵字精準比對使用者自由文字輸入、模糊搜尋

總結

全文檢索從啟用、建立目錄、定義表/欄位、填充索引到查詢應用,流程固定且需依序執行。掌握 CONTAINS 與 FREETEXT 差異,能根據應用需求選擇最適查詢方式,提升文字搜尋體驗。

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