



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SQL Server 2000 全文檢索技能1全文檢索及其生長狀態隨著海量信息的出現以及盤算機存儲技能的生長,文獻數據庫正由書目數據庫向全文數據庫變化。這一變化使得全文檢索技能得到空前的生長。常用的實現全文檢索的要領重要有以下兩種:第一種要領是不合錯誤數據庫創立索引而直接對文章舉行匹配的要領。這種要領由于沒有創立索引庫,因此所占空間較少,但同時正是由于它沒有索引庫,以是在舉行全文匹配時要消耗大量的時間。第二種方規那么是一種為全文創立倒排索引庫的要領。這種要領可以大大節流檢索的時間。但同時,這種要領必要占用必然的存儲空間來創立索引庫。如今,國表里對全文檢索的研究可以說是到達一個熱潮。很多研究機構
2、和貿易構造都在舉行這方面的研究。國際最具影響力的全文檢索評估機構當屬TRE(TextRetrievalnferene)。它是由美國技能和尺度研究所(NIST)和美國高級研究籌劃局(DARPA)配合舉行、自1992年以來每年一次的全文檢索評估集會,集會到場者帶來研究的檢索體系以供專家舉行評估。傳統的信息單元,圖書館等也開始創立全文數據庫,引進種種全文檢索技能。一些軟件公司,也紛紛推出全文檢索軟件。海內比力有代表性的如TRS等,而外洋比力知名的有下文將要先容的irsft公司開拓的SQLServer2000。2在SQLServer2000中設置全文檢索辦事SQLServer是irsft公司在本來和S
3、ybase公司互助的底子上推出的一款面向高端的數據庫體系。而SQLServer2000版本那么是最新的、大型聯機事件處置懲罰的新型數據庫平臺。它繼續了SQLServer從前版本的一些強盛的上風,如簡樸易用、具有精良的不變性和高效性等等。同時,它的成效比從前的版本越發強盛,界面越發友愛。總之,無論是在成效、寧靜性、可維護性,照舊在易操縱性上都較從前版本有了長足的進步。它的全文檢索成效設置簡樸,利用非常便利。我在創立關于信息檢索的英文論文題名、文摘數據庫的歷程中,利用了SQLServer2000。由于文摘文本單詞量均勻在500個擺布,并且論文記載數目較多,假設不為文摘創立全文索引庫,將嚴峻影響檢索
4、服從。因此,我利用SQLServer2000的全文檢索成效為這個數據庫提供了全文檢索辦事。2.1創立全文檢索辦事的歷程如下:第一步,在SQLServer中創立一個全文數據庫EnglishData。在該數據庫中創立一個表Papers。該表的字段有paper_id(代表論文的挨次,數據范例為int,長度為4,要求非空,并為標知,標知種子為1,主動增量為1)、paperAitle(代表論文的標題問題,數據范例為vhar,長度為200,要求非空)、paper_abstrat(代表論文的文摘,數據范例為vhar,長度為8000,要求非空)。第二步,為創立全文索引,必然要為該表創立唯一索引(UniqueI
5、ndex)。我為Papers表的paper_id字段創立唯一索引。第三步,將數據漸漸導入到表Papers中。第四步,翻開SQLServer的企業辦理器,在左側的樹視中點擊數據庫。然后點開數據庫EnglishData。選擇“全文目次。點擊右鍵,選擇“新建全文目次,創立全文目次Paper-AbstratFullSearh,然后創立名稱為AbstraetSearh的調理。其他擔當默認。第五步,選擇企業辦理器的右側的表Papers,單擊右鍵,選中“全文索引表,單擊“在表上創立全文索引。將會出現“全文索引指導窗口。點擊“下一步會到達“選擇索引窗口。由于本表只有一個唯一索引paper_id,點擊“下一步,
6、會出現“選擇表中的列窗口。選擇“paper_abstrat字段,然后點擊“下一步,出現“選擇目次窗口,擔當默認設置,點擊“下一步,出現的窗口“選擇或創立添補調理(可選)窗口,擔當默認設置再點擊下一步。出現“正在完成SQLServer全文索引指導,點擊“完成。完成設置。第六步,選擇表Papers,點擊右鍵,選擇“全文索引表,點擊“啟動完全添補,等候完成。第七步,設置數據源名。在DB辦理器中的“體系DSN中,單擊“添加,選擇“SQLServer。在數據源名中輸入“EnglishData,然后舉行客戶設置。第八步,假設以后對表Papers舉行任何的修改(包羅添加、刪除記載和對原記載舉行編纂),都要重
7、復第六步的操縱。這一步是為了包管全文索引庫可以或許與表Papers的修改同步。以上是創立全文索引的全歷程。完成創立后,即可以利用尺度的TSQL語句對其舉行全文檢索。2.2在eb平臺上舉行全文檢索固然利用TsQL語句可以很便利地舉行全文檢索,但筆者思量到不是全部的用戶都把握了TsQL語句,因此為便利用戶檢索,筆者創立了一個基于eb界面的全文檢索平臺。用戶只需將檢索詞提交給eb辦事器,辦事器利用ASP調用AD控件來對SQLServer2000數據庫舉行查詢,并將檢索效果以eb頁面的方法返回給用戶。ASP(AtiveServerPages)是微軟公司創立的一套辦事器端足本情況。方案職員可以結合HTL
8、、ASP指令和AtiveX控件創立動態、交互且高效的eb辦事器應用步伐。由于全部的步伐都嵌入HTL中且在辦事器端實行,因此不必擔憂客戶端的欣賞器可否運行步伐。同時,它還具有簡樸、易開拓、兼容性好等長處。AD(AtiveXDatabjet,AtiveX數據工具)是一個ASP內置的AtiveX辦事器組件(AtiveXServerpnent),用于數據庫拜候,可把它與ASP結合起來,創立提供數據庫信息的網頁內容,對數據庫舉行查詢、插入、更新、刪除等操縱。AD工具可以操縱全部DB驅動步伐存取的數據源格式。同時,AD還具有簡樸易用、速率快等長處。SQLServer2000的全文檢索辦事可以支持布爾檢索和
9、加權檢索等高級檢索。用ASP可以實現這些檢索成效。3全文檢索語句NTAINS和FREETEXT的利用全文檢索利用戶可以高效檢索存儲在數據庫的har、varhar、text、ntext、nhar、nvarhar等數據范例列中的文本數據。在舉行全文檢索之前,應創立和填湊數據庫全文索引。3.1全文索引為了支持全文索引操縱,SQLServer70新增了一些新的存儲歷程和Transat-SQL語句。利用這些存儲歷程創立全文索引的詳細步調如下(括號內為每步所調用的存儲歷程名稱):(1)啟動數據庫的全文處置懲罰成效(sp_fulltexLdatabase);(2)創立全文目次(sp_fulhexLatalg
10、);(3)在全文目次中注冊必要全文索引的表(sp_fulltexttable);(4)指出表中必要全文檢索的列名(sp_fulltexLelun);(5)為表創立全文索引(sp_fulltexLtable);(6)添補全文目次(sp_fulltext_atalg)。下面舉例說明:在本例中,對test數據庫bk表中title列和ntes列創立全文索引。/起首先啟動SQLServer的全文搜刮辦事。usetest/翻開數據庫g/翻開全文索引支持exeutesp_fulltext_databaseenable/創立全文目次ft_pubsexeutesp_fulltext_atalgft_test,r
11、eate/為titles表創立全文索引數據元,pk_title為bk表中由主鍵所創立的唯一索引,此參數必需。exeutesp_fulltext_tablebk,reate,ft_test,pk_title/設置全文索引列名exeutesp_fulltext_elunbk,title,addexeutesp_fulltext_lunbk,ntes,add/創立全文索引exeutesp_fulltexLtablebk,ativate/添補全文索引目次exeutesp_fulltext_atalgft_test,start_fullg至此,全文索引創立完畢。3.2全文檢索SQLServer2000提
12、供的全文檢索語句重要有NTAINS和FREETEXT。NTAINS語句的成效是在表全部列或指定列中搜刮:一個字或短語;一個字或短語的前綴;與一個字相近的另一個字;一個字的派生字;一個重復出現的字。NTAINS語句的語法格式為:NTAINS(lun*),)此中,lun說明被搜刮列,利用時說明對表中全部全文索引列蓮行搜刮ntains_searh_nditin說明NTAINS語句的搜刮內容,其語法格式為:|)|ANDIANDNT|R.n下面就siple_ter和predix_ter參數做一扼要說明:sipleter指出NTAINS語句所搜刮的單字或短語,當為一個短語時,必需利用雙引號作為定界符。其格
13、式為:rd|“phrasepredix_ter說明NTAINS語句所搜刮的字或短語前綴,其格式為:“rd*|“phrase比方,下面語句檢索b0k表的title列和ntes列中包羅database或puter字符串的圖書名稱及其解釋信息:selettitle,ntesfrbkherentains(tilte,database)rntains(ntes,datable)rntains(title,puter)rntains(ntes,puter)FREETEXT語句的成效是在一個表的全部列或指定列中搜刮一個自由文本格式的字符串,并返回與該字符串匹配的數據行。以是,FREETEXT語句所實行的成效
14、又稱做自由式全文查詢。FREETEXT語句的語法格式為:FREETEXT(lun*,freetext_string)此中,lun說明被搜刮列,利用*時說明對表中的全部全文索引列舉行搜刮。Freetext_string參數指出所搜刮的自由文本格式字符串。比方,下面語句利用FREETEXT語句搜刮bk表中包羅SuessfulLife字符串的數據行:selettitle,ntesfrbkherefreetext(*,SuessfulLife)4竣事語通過學習和理論,我以為SQLServer2000的全文檢索辦事有以下長處:第一,簡樸易用。由于SQLServer2000的全文檢索辦事已經集成到整個辦事中,因此,全文檢索可以利用“企業辦理器舉行同一的圖形界面的辦理。并且,舉行檢索時可以利用尺度的TSQL語句,學習、利用非常便利。第二,SQLServer2000成效強盛。好比,其自身具有“噪音詞(niseter)過濾的機制。在“.SSQLTDATASQLServ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論