天天看點

SQLServer全文搜尋

全文搜尋的核心引擎建立在Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服務提供支援

使用全文搜尋可以快速、靈活地為存儲在 Microsoft SQL Server 資料庫中的文本資料的基于關鍵字的查詢建立索引。與僅适用于字元模式的 LIKE 謂詞不同,全文查詢将根據特定語言的規則對詞和短語進行操作,進而針對此資料執行語言搜尋

在 Microsoft SQL Server 2005 中,全文搜尋用于提供企業級搜尋功能。由于在性能、可管理性和功能方面的顯著增強,全文搜尋可為任意大小的應用程式提供強大的搜尋功能。

對大量非結構化的文本資料進行查詢時,使用全文搜尋獲得的性能優勢會得到充分的表現。對數百萬行文本資料執行的 LIKE 查詢可能需要花費幾分鐘時間才能傳回結果;但對同樣的資料,全文查詢隻需要幾秒或更少的時間,具體取決于傳回的行數。

可以對包含 char、varchar 和 nvarchar 資料的列建立全文索引。也可以對包含格式化二進制資料(如存儲在 varbinary(max) 或 image 列中的 Microsoft Word 文檔)的列建立全文索引。不能使用 LIKE 謂詞來查詢格式化的二進制資料。

最簡步驟:(以AdventureWorks資料庫中的databaselog表中的event字段為例)

1、  啟用全文索引:

use AdventureWorks 

exec sp_fulltext_database 'enable'

2、  全文索引是存儲在指定的檔案系統中的,而不是SQLServer中。

exec sp_fulltext_catalog 'Cat_Desc', 'create', 'f:\ft'

建立全文索引的目錄

3、  對表建立全文索引

exec sp_fulltext_table 'databaselog', 'create', 'Cat_Desc',

'PK_DatabaseLog_DatabaseLogID'

在已有的表上根據已有的索引建立全文索引

4、  對表中的列添加全文索引

exec sp_fulltext_column 'databaselog', 'event', 'add'

5、  表啟動完全填充

exec sp_fulltext_table 'databaselog', 'start_full'

6、  執行全文檢索

select * from freetexttable(databaselog, event,'ALTER_TABLE');

    本文轉自永春部落格園部落格,原文連結:

http://www.cnblogs.com/firstyi/archive/2007/04/29/732263.html,如需轉載請自行聯系原作者