1.
-------------開啟全文索引和建立全文索引目錄
exec sp_fulltext_database 'enable'
--exec sp_fulltext_catalog 'gf_ft','drop'
exec sp_fulltext_catalog 'gf_ft','create'
-------------為news表建立全文索引 可索引列為 title,abstract,text
exec sp_fulltext_table 'product','create','gf_ft','pk_product'
exec sp_fulltext_column 'product','productname','add'
-------------啟用索引
exec sp_fulltext_table 'product','activate'
exec sp_fulltext_table 'product','start_full'
--檢查全文檢索目錄填充情況
While fulltextcatalogproperty('gf_ft','populateStatus')<>0
begin
--如果全文檢索目錄正處於填充狀態,則等待5秒後再檢測一次
waitfor delay '0:0:5'
END
exec sp_fulltext_catalog 'gf_ft','start_full'
--檢查全文檢索目錄填充情況
While fulltextcatalogproperty('gf_ft','populateStatus')<>0
begin
--如果全文檢索目錄正處於填充狀態,則等待5秒後再檢測一次
waitfor delay '0:0:5'
END
--------------測試------------------
SELECT * FROM product WHERE CONTAINS(productname,'美贊臣')
-----------------------卸載------------------
EXEC sp_fulltext_table 'product','deactivate'
exec sp_fulltext_column 'product', 'productname', 'drop'
EXEC sp_fulltext_table 'product', 'drop'
EXEC sp_fulltext_catalog 'gf_ft', 'stop'
EXEC sp_fulltext_catalog 'gf_ft', 'drop'
2.
先瞭解一下全文索引是如何建立和使用的
建立全文索引:
在MS SQL SERVER 2005裡,全文索引是一個單獨的服務項,預設是啟動的,但是沒有允許資料庫啟用全文索引,如果要在某個資料庫中建立全文索引,先要啟用資料庫的全文索引.
啟用方法:
1.資料庫->屬性->常規->啟用全文索引
2.在查詢中執行:sp_.........忘了,如果沒有啟用就執行建立索引目錄,會提示.
啟用了索引了,就可以建立索引目錄了
在查詢中執行以下語句:
CREATE FULLTEXT CATALOG 索引目錄名
執行以後,就會在SQL SERVER的安裝目錄裡看到一個同名的目錄名了,路徑為MSSQL.1/MSSQL/FTDATA/索引目錄名
每個表只可以有一個全文索引,存放在指定的索引目錄裡,可以通過嚮導建立,也可以通過SQL建立
基本文法:
CREATE FULLTEXT INDEX ON tablename
(索引列1,索引列2...)
KEY INDEX indexname ON 索引目錄名
indexname是指已存在的基於指定表的唯一索引名.而不是唯一索引列名.如果索引不存在,需要先建立唯一索引.
使用全文索引:
主要使用CONTAINS,FREETEXT進行查詢
假設已有一個表music,已為欄位memo建立全文索引,那麼要查詢含有周杰倫或者jay的所有記錄的語句為:
SELECT * FROM music WHERE CONTAINS(memo,'"周杰倫" or "jay"')
也可以使用匹配模式進行包含條件組合,還可以使用and串連條件.