SQL Server2000全文索引心得

SQL Server2000全文索引心得
試想,如果你開了家藥鋪,第一年在紙上寫下1,2,3,4,5號抽屜放黃膽.9,52,7號抽屜中放靈芝,47,25,36,87號抽屜中放天麻............有一天你急要找天麻,於是,47,25,36,87號抽屜逐個找,費時,費力.

第二年,你老婆在紙上寫下:黃膽:1,2,3,4,5號抽屜.天麻:9,52,7號抽屜.靈芝:47,25,36,87號抽屜.有一天,她急要找靈芝,但,沒用幾分鐘,就找到了!

那麼,第一種情況是什麼呢?對!就是我們經常用到的;LIKE索引!第二種情況就是本文要向你介紹的:全文索引!

LIKE索引:LIKE謂詞用於指出一個字符串是否與指定的字符中相匹配.

全文索引:就是事先做好相關的索引,表示哪個主題詞可以在哪些記錄裏找到,甚至事先計算好RANK,檢索時可以把相關度高的先列出來,這可以大大提高檢索的速度。

那麼,在SQL 2K中怎麼建全文索引呢?

例子:

1、 打開NorthWind數據庫,右鍵Products表,選擇“全文索引表”,“在表上定義全文索引”,爲其創建全文目錄。在“全文索引向導”中,選擇你需要全文查詢條件的列(可以是文本或圖像),我們選擇Productname和QuantityPerUnit列。然後下一步,輸入一個新的目錄p,點擊下一步。在填充調度一項裏,我們暫時不建立填充調度。接着“下一步”,全成全文索引向導。完成後,我們可以看到在“全文目錄”裏,多了一個全文目錄p。右鍵p屬性,可以看到其狀態、表、調度情況。
 
2、  右鍵全文目錄p, “啓動完全填充”,系統會出現“全文目錄填充成功啓動”。
 
3、  這時,我們可以使用Transact-SQL進行全文檢索了,我們使用CONTAINS、FREETEXT等謂詞。如:
 
檢索ProductName中,即包含d又包含e的所有列
SELECT *
FROM Products
WHERE CONTAINS(ProductName, '"d*" and "e*" ')
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章