當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]1 全文檢索及其發(fā)展?fàn)顩r隨著海量信息的出現(xiàn)以及計(jì)算機(jī)存儲(chǔ)技術(shù)的發(fā)展,文獻(xiàn)數(shù)據(jù)庫(kù)正由書目數(shù)據(jù)庫(kù)向全文數(shù)據(jù)庫(kù)轉(zhuǎn)變。這一轉(zhuǎn)變使得全文檢索技術(shù)得到空前的發(fā)展。常用的實(shí)現(xiàn)全文檢索的方法主要有以下兩種:第一種方法

1 全文檢索及其發(fā)展?fàn)顩r
隨著海量信息的出現(xiàn)以及計(jì)算機(jī)存儲(chǔ)技術(shù)的發(fā)展,文獻(xiàn)數(shù)據(jù)庫(kù)正由書目數(shù)據(jù)庫(kù)向全文數(shù)據(jù)庫(kù)轉(zhuǎn)變。這一轉(zhuǎn)變使得全文檢索技術(shù)得到空前的發(fā)展。
常用的實(shí)現(xiàn)全文檢索的方法主要有以下兩種:
第一種方法是不對(duì)數(shù)據(jù)庫(kù)建立索引而直接對(duì)文章進(jìn)行匹配的方法。這種方法由于沒(méi)有建立索引庫(kù),因此所占空間較少,但同時(shí)正是因?yàn)樗鼪](méi)有索引庫(kù),所以在進(jìn)行全文匹配時(shí)要花費(fèi)大量的時(shí)間。
第二種方法則是一種為全文建立倒排索引庫(kù)的方法。這種方法可以大大節(jié)省檢索的時(shí)間。但同時(shí),這種方法需要占用一定的存儲(chǔ)空間來(lái)建立索引庫(kù)。目前,國(guó)內(nèi)外對(duì)全文檢索的研究可以說(shuō)是達(dá)到一個(gè)高潮。許多研究機(jī)構(gòu)和商業(yè)組織都在進(jìn)行這方面的研究。國(guó)際最具影響力的全文檢索評(píng)估機(jī)構(gòu)當(dāng)屬TREC(Text Retrieval Conference)。它是由美國(guó)技術(shù)和標(biāo)準(zhǔn)研究所(NIST)和美國(guó)高級(jí)研究計(jì)劃局(DARPA)共同舉辦、自1992年以來(lái)每年一次的全文檢索評(píng)估會(huì)議,會(huì)議參加者帶來(lái)研究的檢索系統(tǒng)以供專家進(jìn)行評(píng)估。傳統(tǒng)的信息單位,圖書館等也開始建立全文數(shù)據(jù)庫(kù),引進(jìn)各種全文檢索技術(shù)。一些軟件公司,也紛紛推出全文檢索軟件。國(guó)內(nèi)比較有代表性的如TRS等,而國(guó)外比較著名的有下文將要介紹的Microsoft公司開發(fā)的SQL Server 2000。

2 在SQL Server 2000中配置全文檢索服務(wù)
SQL Server是Microsoft公司在原來(lái)和Sybase公司合作的基礎(chǔ)上推出的一款面向高端的數(shù)據(jù)庫(kù)系統(tǒng)。而SQL Server 2000版本則是最新的、大型聯(lián)機(jī)事務(wù)處理的新型數(shù)據(jù)庫(kù)平臺(tái)。它繼承了SQL Server以前版本的一些強(qiáng)大的優(yōu)勢(shì),如簡(jiǎn)單易用、具有良好的穩(wěn)定性和高效性等等。同時(shí),它的功能比以前的版本更加強(qiáng)大,界面更加友好??傊?,無(wú)論是在功能、安全性、可維護(hù)性,還是在易操作性上都較以前版本有了長(zhǎng)足的進(jìn)步。它的全文檢索功能配置簡(jiǎn)單,使用十分方便。我在建立關(guān)于信息檢索的英文論文題名、文摘數(shù)據(jù)庫(kù)的過(guò)程中,使用了SQLServer 2000。由于文摘文本單詞量平均在500個(gè)左右,而且論文記錄數(shù)量較多,如果不為文摘建立全文索引庫(kù),將嚴(yán)重影響檢索效率。因此,我使用SQL Server2000的全文檢索功能為這個(gè)數(shù)據(jù)庫(kù)提供了全文檢索服務(wù)。
2.1 建立全文檢索服務(wù)的過(guò)程如下:
第一步,在SQL Server中建立一個(gè)全文數(shù)據(jù)庫(kù)English—Data。在該數(shù)據(jù)庫(kù)中建立一個(gè)表Papers。該表的字段有pa—per__id(代表論文的順序,數(shù)據(jù)類型為int,長(zhǎng)度為4,要求非空,并為標(biāo)知,標(biāo)知種子為1,自動(dòng)增量為1)、paperAitle(代表論文的題目,數(shù)據(jù)類型為vchar,長(zhǎng)度為200,要求非空)、pa—per_abstract(代表論文的文摘,數(shù)據(jù)類型為vchar,長(zhǎng)度為8000,要求非空)。
第二步,為建立全文索引,一定要為該表建立唯一索引(Unique Index)。我為Papers表的paper_id字段建立唯一索引。
第三步,將數(shù)據(jù)逐步導(dǎo)入到表Papers中。
第四步,打開SQL Server的企業(yè)管理器,在左側(cè)的樹視中點(diǎn)擊數(shù)據(jù)庫(kù)。然后點(diǎn)開數(shù)據(jù)庫(kù)EnglishData.。選擇“全文目錄”。點(diǎn)擊右鍵,選擇“新建全文目錄”,建立全文目錄Paper-AbstractFullSearch,然后建立名稱為AbstraetSearch的調(diào)度。其他接受默認(rèn)。
第五步,選擇企業(yè)管理器的右側(cè)的表Papers,單擊右鍵,選中“全文索引表”,單擊“在表上建立全文索引”。將會(huì)出現(xiàn)“全文索引向?qū)А贝翱?。點(diǎn)擊“下一步”會(huì)到達(dá)“選擇索引”窗口。由于本表只有一個(gè)唯一索引paper_id,點(diǎn)擊“下一步”,會(huì)出現(xiàn)“選擇表中的列”窗口。選擇“paper_abstract”字段,然后點(diǎn)擊“下一步”,出現(xiàn)“選擇目錄”窗口,接受默認(rèn)配置,點(diǎn)擊“下一步”,出現(xiàn)的窗口“選擇或創(chuàng)建填充調(diào)度(可選)”窗口,接受默認(rèn)配置再點(diǎn)擊下一步。出現(xiàn)“正在完成SQL Server全文索引向?qū)А?,點(diǎn)擊“完成”。完成配置。
第六步,選擇表Papers,點(diǎn)擊右鍵,選擇“全文索引表”,點(diǎn)擊“啟動(dòng)完全填充”,等待完成。
第七步,配置數(shù)據(jù)源名。在ODBC管理器中的“系統(tǒng)DSN”中,單擊“添加”,選擇“SQL Server”。在數(shù)據(jù)源名中輸入“EnglishData”, 然后進(jìn)行客戶配置。
第八步,如果以后對(duì)表Papers進(jìn)行任何的修改(包括添加、刪除記錄和對(duì)原記錄進(jìn)行編輯),都要重復(fù)第六步的操作。這一步是為了保證全文索引庫(kù)能夠與表Papers的修改同步。
以上是建立全文索引的全過(guò)程。完成建立后,即可以使用標(biāo)準(zhǔn)的T—SQL語(yǔ)句對(duì)其進(jìn)行全文檢索。
2.2 在web平臺(tái)上進(jìn)行全文檢索
雖然使用T—sQL語(yǔ)句可以很方便地進(jìn)行全文檢索,但筆者考慮到不是所有的用戶都掌握了T—sQL語(yǔ)句,因此為方便用戶檢索,筆者建立了一個(gè)基于Web界面的全文檢索平臺(tái)。用戶只需將檢索詞提交給Web服務(wù)器,服務(wù)器使用ASP調(diào)用ADO控件來(lái)對(duì)SQL Server2000數(shù)據(jù)庫(kù)進(jìn)行查詢,并將檢索結(jié)果以Web頁(yè)面的方式返回給用戶。

??共3頁(yè): 1 [2] [3] 下一頁(yè) ??

?


ASP(Active Server Pages)是微軟公司建立的一套服務(wù)器端腳本環(huán)境。設(shè)計(jì)人員可以結(jié)合HTML、ASP指令和ActiveX控件建立動(dòng)態(tài)、交互且高效的Web服務(wù)器應(yīng)用程序。由于所有的程序都嵌入HTML中且在服務(wù)器端執(zhí)行,因此不必?fù)?dān)心客戶端的瀏覽器能否運(yùn)行程序。同時(shí),它還具有簡(jiǎn)單、易開發(fā)、兼容性好等優(yōu)點(diǎn)。ADO(ActiveX Data Object,ActiveX數(shù)據(jù)對(duì)象)是一個(gè)ASP內(nèi)置的ActiveX服務(wù)器組件(ActiveX Server Component),用于數(shù)據(jù)庫(kù)訪問(wèn),可把它與ASP結(jié)合起來(lái),建立提供數(shù)據(jù)庫(kù)信息的網(wǎng)頁(yè)內(nèi)容,對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、插入、更新、刪除等操作。ADO對(duì)象可以操作所有ODBC驅(qū)動(dòng)程序存取的數(shù)據(jù)源格式。同時(shí),ADO還具有簡(jiǎn)單易用、速度快等優(yōu)點(diǎn)。
SQL Server 2000的全文檢索服務(wù)可以支持布爾檢索和加權(quán)檢索等高級(jí)檢索。用ASP可以實(shí)現(xiàn)這些檢索功能。
3 全文檢索語(yǔ)句CONTAINS和FREETEXT的使用
全文檢索使用戶可以高效檢索存儲(chǔ)在數(shù)據(jù)庫(kù)的char、varchar、text、ntext、nchar、nvarchar等數(shù)據(jù)類型列中的文本數(shù)據(jù)。在進(jìn)行全文檢索之前,應(yīng)建立和填充數(shù)據(jù)庫(kù)全文索引。
3.1 全文索引
為了支持全文索引操作,SQL Server 7.0新增了一些新的存儲(chǔ)過(guò)程和Transact-SQL語(yǔ)句。使用這些存儲(chǔ)過(guò)程創(chuàng)建全文索引的具體步驟如下(括號(hào)內(nèi)為每步所調(diào)用的存儲(chǔ)過(guò)程名稱):
(1)啟動(dòng)數(shù)據(jù)庫(kù)的全文處理功能(sp_fulltexLdatabase);
(2)建立全文目錄(sp_fulhexLcatalog);
(3)在全文目錄中注冊(cè)需要全文索引的表(sp_fulltext table);
(4)指出表中需要全文檢索的列名(sp_full—texLeolumn);
(5)為表創(chuàng)建全文索引(sp_fulltexLtable);
(6)填充全文目錄(sp_fulltext_catalog)。
下面舉例說(shuō)明:
在本例中,對(duì)test數(shù)據(jù)庫(kù)book表中title列和notes列建立全文索引。
//首先先啟動(dòng)SQL Server的全文搜索服務(wù)。
use test //打開數(shù)據(jù)庫(kù)
go
//打開全文索引支持
execute sp_fulltext_database ‘enable’
//建立全文目錄ft_pubs
execute sp_fulltext_catalog ‘ft_test’,‘create’
//為titles表建立全文索引數(shù)據(jù)元,pk_title為book表中由主鍵所建立的唯一索引,此參數(shù)必須。
execute sp_fulltext_table ‘book’,‘create’,‘ft_test’,‘pk_title’
//設(shè)置全文索引列名
execute sp_fulltext_eolumn ‘book’,‘title’,‘ add’
execute sp_fulltext_ column ‘book’,‘notes’,‘a(chǎn)dd’
//建立全文索引
execute sp_fulltexLtable ‘book’,‘a(chǎn)ctivate’
//填充全文索引目錄
execute sp_fulltext_ catalog ‘ft_test’,‘start_ full’
go
至此,全文索引建立完畢。
3.2 全文檢索
SQL Server 2000提供的全文檢索語(yǔ)句主要有CONTAINS和FREETEXT。CONTAINS語(yǔ)句的功能是在表所有列或指定列中搜索:
●一個(gè)字或短語(yǔ);
●一個(gè)字或短語(yǔ)的前綴;
●與一個(gè)字相近的另一個(gè)字;
●一個(gè)字的派生字;
●一個(gè)重復(fù)出現(xiàn)的字。
CONTAINS語(yǔ)句的語(yǔ)法格式為:
CONTAINS({column *}),‘’) 其中,column說(shuō)明被搜索列,使用時(shí)說(shuō)明對(duì)表中所有全文索引列蓮行搜索
Contains_ search_ condition說(shuō)明CONTAINS語(yǔ)句的搜索內(nèi)容,其語(yǔ)法格式為:
{||| |) [{|ANDIAND NOT|OR}}] [.n]
下面就simple_term和predix_term參數(shù)做一簡(jiǎn)要說(shuō)明:
simple— term指出CONTAINS語(yǔ)句所搜索的單字或短語(yǔ),當(dāng)為一個(gè)短語(yǔ)時(shí),必須使用雙引號(hào)作為定界符。其格式為:
{word | “phrase”}
predix_term說(shuō)明CONTAINS語(yǔ)句所搜索的字或短語(yǔ)前綴,其格式為:
{“word * ”| “phrase ”}
例如,下面語(yǔ)句檢索b0ok表的title列和notes列中包含database或computer字符串的圖書名稱及其注釋信息:
select title,notes from book
where contains(tilte,‘database’)or contains(notes,‘datable’)
or contains(title,‘computer’)or contains(notes,‘computer’)
FREETEXT語(yǔ)句的功能是在一個(gè)表的所有列或指定列中搜索一個(gè)自由文本格式的字符串,并返回與該字符串匹配的數(shù)據(jù)行。所以,F(xiàn)REETEXT語(yǔ)句所執(zhí)行的功能又稱做自由式全文查詢。
FREETEXT語(yǔ)句的語(yǔ)法格式為:
FREETEXT({column * },‘freetext_string’)
其中,column說(shuō)明被搜索列,使用*時(shí)說(shuō)明對(duì)表中的所有全文索引列進(jìn)行搜索。Freetext_string參數(shù)指出所搜索的自由文本格式字符串。
例如,下面語(yǔ)句使用FREETEXT語(yǔ)句搜索book表中包含Successful Life字符串的數(shù)據(jù)行:
select title,notes
from book
where freetext (*,‘Successful Life’)

4? 結(jié)束語(yǔ)
通過(guò)學(xué)習(xí)和實(shí)踐,我認(rèn)為SQLServer2000的全文檢索服務(wù)有以下優(yōu)點(diǎn):

??共3頁(yè): 上一頁(yè) [1] 2 [3] 下一頁(yè) ??

?


第一,簡(jiǎn)單易用。由于SQLServer2000的全文檢索服務(wù)已經(jīng)集成到整個(gè)服務(wù)中,因此,全文檢索可以使用“企業(yè)管理器”進(jìn)行統(tǒng)一的圖形界面的管理。而且,進(jìn)行檢索時(shí)可以使用標(biāo)準(zhǔn)的T—SQL語(yǔ)句,學(xué)習(xí)、使用十分方便。
第二,SQLServer2000功能強(qiáng)大。比如,其自身具有“噪音詞”(noiseterm )過(guò)濾的機(jī)制。在“.MSSQL\TDATA\SQL Server\config”目錄下,有一個(gè)“noise.dat”文件類似于停用詞表,可以對(duì)一些沒(méi)有檢索意義的詞如a、you等進(jìn)行過(guò)濾而不建立索引。用戶自己也可以對(duì)該詞表進(jìn)行增補(bǔ),以過(guò)濾一些詞。同時(shí),我發(fā)現(xiàn)SQLServer2000的全文檢索存在一些不足。如當(dāng)用戶對(duì)全文索引過(guò)的字段進(jìn)行修改后,需要用戶進(jìn)行手工的“填充”,而不能機(jī)器自動(dòng)完成這一步,另外該系統(tǒng)對(duì)計(jì)算機(jī)硬件要求較高等等。隨著計(jì)算機(jī)硬件的發(fā)展以及SQL Server軟件本身的不斷完善,我相信這些不足是可以得到改善的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉