資源描述:
《sql server 2000 全文檢索技術(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、SQLServer2000全文檢索技術(shù)1全文檢索及其發(fā)展狀況隨著海量信息的出現(xiàn)以及計算機存儲技術(shù)的發(fā)展,第八步,如果以后對表Papers進行任何的修改(包括添加、刪除記錄和對原記錄進行編輯),都要重復(fù)第六步的操作。這一步是為了保證全文索引庫能夠與表Papers的修改同步。以上是建立全文索引的全過程。完成建立后,即可以使用標準的T—SQL語句對其進行全文檢索。2.2在n);(5)為表創(chuàng)建全文索引(sp_fulltexLtable);(6)填充全文目錄(sp_fulltext_catalog)。下面舉例說明:在本例中,
2、對test數(shù)據(jù)庫book表中title列和notes列建立全文索引。//首先先啟動SQLServer的全文搜索服務(wù)。usetest//打開數(shù)據(jù)庫go//打開全文索引支持executesp_fulltext_database‘enable’//建立全文目錄ft_pubsexecutesp_fulltext_catalog‘ft_test’,‘create’//為titles表建立全文索引數(shù)據(jù)元,pk_title為book表中由主鍵所建立的唯一索引,此參數(shù)必須。executesp_fulltext_table‘book
3、’,‘create’,‘ft_test’,‘pk_title’//設(shè)置全文索引列名executesp_fulltext_eolumn‘book’,‘title’,‘a(chǎn)dd’executesp_fulltext_column‘book’,‘notes’,‘a(chǎn)dd’//建立全文索引executesp_fulltexLtable‘book’,‘a(chǎn)ctivate’//填充全文索引目錄executesp_fulltext_catalog‘ft_test’,‘start_full’go至此,全文索引建立完畢。3.2全文檢索SQ
4、LServer2000提供的全文檢索語句主要有CONTAINS和FREETEXT。CONTAINS語句的功能是在表所有列或指定列中搜索:●一個字或短語;●一個字或短語的前綴;●與一個字相近的另一個字;●一個字的派生字;●一個重復(fù)出現(xiàn)的字。CONTAINS語句的語法格式為:CONTAINS({column*}),‘’)其中,column說明被搜索列,使用時說明對表中所有全文索引列蓮行搜索Contains_search_condition說明CONTAINS語句的搜索內(nèi)容,其語法格式為:{
5、
6、
7、
8、)[{
9、ANDIAND
10、NOT
11、OR}}][.n]下面就simple_term和predix_term參數(shù)做一簡要說明:simple—term指出CONTAINS語句所搜索的單字或短語,當為一個短語時,必須使用雙引號作為定界符。其格式為:{說明CONTAINS語句所搜索的字或短語前綴,其格式為:{“bookn*},‘freetext_string’)其中,column說明被搜索列,使用*時說明對表中的所有全文索引列進行搜索。Freetext_string參數(shù)指出所搜索的自由文本格式字符串。例如,下面語句使用FREETEXT語句搜索book
12、表中包含SuccessfulLife字符串的數(shù)據(jù)行:selecttitle,notesfrombook)過濾的機制。在“.MSSQL\TDATA\SQLServer\config”目錄下,有一個“noise.dat”文件類似于停用詞表,可以對一些沒有檢索意義的詞如a、you等進行過濾而不建立索引。用戶自己也可以對該詞表進行增補,以過濾一些詞。同時,我發(fā)現(xiàn)SQLServer2000的全文檢索存在一些不足。如當用戶對全文索引過的字段進行修改后,需要用戶進行手工的“填充”,而不能機器自動完成這一步,另外該系統(tǒng)對計算機硬件
13、要求較高等等。隨著計算機硬件的發(fā)展以及SQLServer軟件本身的不斷完善,我相信這些不足是可以得到改善的。