“創建全文索引
啟動服務
在SQL Server配置管理工具中,找到'SQL Full-text Filter Daemon Launcher'服務用本地用戶啟動。
創建全文目錄
打開需要創建全文目錄的數據庫-存儲-全文目錄-右鍵新建全文目錄
用語句創建全文目錄
CREATE FULLTEXT CATALOG [FD_HouseSearch]WITH ACCENT_SENSITIVITY = ON AS DEFAULT AUTHORIZATION [dbo]
此外還可以通過存儲過程創建全文目錄,並且可以指定全文目錄文件所在磁盤上的位置,如下所示:
USE [pratice] GO --創建全文索引的方式1: -------------開啟全文索引和創建全文索引目錄 全文目錄創建的路徑是D:\fulltext --fulltext_pratice是自己自定義的全文目錄名稱 EXEC [sys].[sp_fulltext_database] @action = 'enable' -- varchar(20) --如果數據庫中已存在全文目錄fulltext_pratice要先drop掉 --EXEC [sys].[sp_fulltext_catalog] @ftcat = 'fulltext_pratice', -- sysname -- @action = 'drop' -- varchar(20) EXEC [sys].[sp_fulltext_catalog] @ftcat = 'fulltext_pratice', -- sysname @action = 'create', -- varchar(20) @path = N'D:\fulltext' -- nvarchar(101)
當然使用SSMS創建全文目錄的時候也會有一個選項叫你選擇目錄位置,全文索引就存放在這個位置
創建全文索引
右鍵需要創建全文索引的表-全文索引-定義全文索引
1.全文索引必須要有一個唯一非空索引,這里選擇主鍵。
2.選擇需要全文搜索的列,並且選擇斷字符語言,因為該字段主要用來存儲中文,所以這里也選擇了簡體中文。
斷字符:斷字符用來對全文搜索數據進行語言分析,查找單詞的邊界,也就是怎樣將一段很長的內容拆分成日常的詞語或字。例如“全文搜索”,可能會斷字成“全文”、‘搜索’、‘全’、‘文’、‘搜’、‘索’等符合中國人正常的習慣的詞或字。
3.選擇跟蹤方式,這里選擇自動跟蹤,就是表發生更改時自動填充索引。
4.選擇全文目錄、索引文件、非索引字表
非索引字表:在剛才的斷字中講了怎樣斷字,這里就是將斷的字保存在一張表中,該處選擇系統默認的非索引字表.
----查詢斷字表 SELECT TOP 1000 * FROM sys.dm_fts_index_keywords(db_id(''), object_id(''))
”
從該鏈接的第四步當中:
SELECT TOP 1000 * FROM sys.dm_fts_index_keywords(db_id('數據庫名稱'), object_id('目標表'))
以下為我的分詞效果: