亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Oracle大數(shù)據(jù)的全文檢索技術(shù)研究與實(shí)現(xiàn)

        2013-10-20 08:35:58李瑞麗黃以凱
        微型電腦應(yīng)用 2013年1期
        關(guān)鍵詞:用戶信息系統(tǒng)

        李瑞麗,錢(qián) 皓,黃以凱

        0 引言

        隨著現(xiàn)代信息科技的不斷發(fā)展,如何較快較好的實(shí)現(xiàn)全文檢索已成為比較熱門(mén)的話題。全文檢索是指將文件中所有的文本與檢索的關(guān)鍵字進(jìn)行匹配的一個(gè)資料檢索方法。全文檢索技術(shù)是指通過(guò)關(guān)鍵字將存儲(chǔ)在信息系統(tǒng)數(shù)據(jù)庫(kù)中,包括該關(guān)鍵字的所有記錄查找出來(lái)的檢索技術(shù),可以獲得信息文本中的所有相關(guān)章、段、節(jié)、句、詞等信息,同時(shí)也可以對(duì)信息進(jìn)行各種統(tǒng)計(jì)和分析。

        本文將介紹如何使用 Oracle的全文檢索技術(shù)提供一個(gè)優(yōu)秀快速的解決方案。在已有的信息系統(tǒng)中,利用Oracle text和Ultra Search實(shí)現(xiàn)對(duì)不同格式數(shù)據(jù)源,尤其是以LOB類(lèi)型(word、excel、pdf等二進(jìn)制格式的文件)保存的數(shù)據(jù)的全文檢索,并且解決了因系統(tǒng)中間件和Ultra Search中間件不同帶來(lái)的權(quán)限控制問(wèn)題。

        1 外事一體化綜合管理系統(tǒng)課題簡(jiǎn)介

        外事一體化綜合管理系統(tǒng)(課題編號(hào):09511503500,以下簡(jiǎn)稱外事系統(tǒng))是由上海市護(hù)照簽證受理中心、萬(wàn)達(dá)信息股份有限公司共同承擔(dān)的研發(fā)課題。外事系統(tǒng)設(shè)計(jì)開(kāi)發(fā)了諸如來(lái)華簽證、領(lǐng)事認(rèn)證、辦公審批等20多個(gè)子系統(tǒng)。各個(gè)子系統(tǒng)既有獨(dú)立性,也有關(guān)聯(lián)性,業(yè)務(wù)數(shù)據(jù)表近200張,有些數(shù)據(jù)表的數(shù)據(jù)達(dá)到數(shù)十萬(wàn)級(jí),且各種格式的附件存儲(chǔ)在LOB字段中,要求系統(tǒng)能夠提供準(zhǔn)確而快捷的全文檢索功能。因此如何實(shí)現(xiàn)基于大數(shù)據(jù)量的全文檢索是外事系統(tǒng)的一大技術(shù)難題。

        2 Oracle Text簡(jiǎn)介

        Oracle text是Oracle10g的組件,基于后臺(tái)數(shù)據(jù)庫(kù),是一種強(qiáng)大的檢索工具,搜索范圍可以是多種文本格式的數(shù)據(jù)來(lái)源,可對(duì)Oracle數(shù)據(jù)支持的多種語(yǔ)言實(shí)現(xiàn)全文檢索功能。

        Oracle Text實(shí)現(xiàn)全文檢索的邏輯步驟主要包括如下:

        (1)搜索檢索目標(biāo)數(shù)據(jù)庫(kù)中的所有表源,并讀取所有表源列中的數(shù)據(jù)。

        (2)通過(guò)過(guò)濾器過(guò)濾文檔數(shù)據(jù)并將文檔數(shù)據(jù)轉(zhuǎn)換為文本表示方式。

        (3)通過(guò)分段器提取過(guò)濾器的輸出的文檔信息,并將該文檔信息轉(zhuǎn)換為純文本。

        (4)通過(guò)詞法分析器提取分段器中輸出的純文本信息,并將該純文本信息拆分為不連續(xù)的標(biāo)記。

        (5)通過(guò)索引引擎提取詞法分析器中的輸出的所有不連續(xù)的標(biāo)記,并構(gòu)建索引。

        Oracle Text為系統(tǒng)管理員分配CTXSYS角色,為應(yīng)用程序開(kāi)發(fā)人員分配CTXAPP角色。CTXSYS角色的用戶可啟動(dòng)Oracle Text服務(wù)器,并執(zhí)行CTXAPP角色下的所有任務(wù)。CTXAPP角色的用戶可創(chuàng)建索引,管理 Oracle Text 數(shù)據(jù)字典,執(zhí)行Oracle Text 查詢,使用 Oracle Text PL/SQL程序包。

        Oracle Text的使用步驟歸納起來(lái)如下:

        (1)建表并裝載文本。如:

        (2)配置索引。

        (3)建立索引。如:

        (4)發(fā)出查詢。如:

        (5)索引維護(hù):同步與優(yōu)化

        Oracle Text可為不同格式存儲(chǔ)方式的文本文檔配置索引,這些索引的選項(xiàng)組成功能組,被稱為“類(lèi)”。Oracle Text的主要類(lèi)包括存儲(chǔ)(Storage)類(lèi)、數(shù)據(jù)存儲(chǔ)(Datastore)類(lèi) 、文檔段組(Section Group)類(lèi)、相關(guān)詞表(Wordlist)類(lèi)、索引集(Index Set)、詞法分析器(Lexer)類(lèi)、過(guò)濾器(Filter)類(lèi)等。

        3 Ultra Search簡(jiǎn)介

        Ultra Search是Oracle的附加功能模塊,與其它搜索引擎工具的技術(shù)構(gòu)架類(lèi)似。Ultra Search提供了六種搜索數(shù)據(jù)源,常見(jiàn)的為:

        (1)Web源:指由網(wǎng)站發(fā)布更新的內(nèi)容,包括圖片、音頻、視頻等資源。

        (2)文件源:指可訪問(wèn)的機(jī)器上所有文檔集,包括word、excel、pdf等各種類(lèi)型在內(nèi)的多種常見(jiàn)格式的文件。

        (3)電子郵件源:指發(fā)送到特定郵件地址的郵件信息。

        (4)表源:指來(lái)源于數(shù)據(jù)庫(kù)表信息的數(shù)據(jù)源,可建立多個(gè)任意新表源。

        Ultra Search是為用戶提供友好界面的搜索工具,與Oracle Text有相同的公共接口,在聚集信息的索引、轉(zhuǎn)換查詢上增加了專門(mén)技術(shù),因此相對(duì)于Oracle Text來(lái)說(shuō),Ultra Search查詢性能質(zhì)量更高,可擴(kuò)展性更優(yōu)化。Oracle Text與Oracle數(shù)據(jù)庫(kù)的高度集成,實(shí)現(xiàn)了Ultra Search與動(dòng)態(tài)數(shù)據(jù)的自由交互。

        Ultra Search由3個(gè)組件組成:

        (1)服務(wù)器組件 :包括Ultra Search資料庫(kù)、Oracle Text和遠(yuǎn)程Crawler。

        (2)Crawler :收集信息,并對(duì)這些信息建立索引的過(guò)程。

        (3)中間層組件 :包括Java查詢應(yīng)用程序接口、JSP查詢應(yīng)用程序、Java電子郵件應(yīng)用程序接口和管理工具。

        Ultra Search與Oracle Text的高度集成能夠快速便捷的實(shí)現(xiàn)全文檢索功能,但是當(dāng)與應(yīng)用系統(tǒng)相結(jié)合時(shí)中則存在一些不足之處:(1)由于Ultra Search本身是一個(gè)應(yīng)用系統(tǒng),基于oracle的中間件oc4j,而一般的應(yīng)用系統(tǒng)則基于一些其他的中間件,如Weblogic等;(2)如何能使Ultra Search與應(yīng)用系統(tǒng)更好的實(shí)現(xiàn)兼容,并實(shí)現(xiàn)權(quán)限控制,是本文討論的重點(diǎn)。本文基于外事系統(tǒng)上對(duì)如何實(shí)現(xiàn) Ultra Search和Oracle Text的全文檢索功能進(jìn)行討論與設(shè)計(jì)。

        4 基于Oralce Text和Ultra Search的全文檢索設(shè)計(jì)與實(shí)現(xiàn)

        4.1 系統(tǒng)框架設(shè)計(jì)

        本文在Oracle組件Ultra Search和Oracle Text的基礎(chǔ)上進(jìn)行改進(jìn),給出了基于大數(shù)據(jù)的外事系統(tǒng)全文檢索的一個(gè)簡(jiǎn)單快速的實(shí)現(xiàn)方式。系統(tǒng)結(jié)構(gòu)設(shè)計(jì),如圖1所示:

        圖1 系統(tǒng)結(jié)構(gòu)圖

        外事系統(tǒng)與實(shí)現(xiàn)全文檢索功能的Ultra Search和Oracle Text是相對(duì)獨(dú)立的系統(tǒng),使用不同的中間件 Weblogic和Oracle 的 OC4J。Ultra Search是基于 Oracle Text和 OC4J的一個(gè)客戶端程序。在系統(tǒng)中,我們用Oracle Text創(chuàng)建外事系統(tǒng)檢索所需的表源(Table Source)和查詢組(Source Group),每一個(gè)業(yè)務(wù)數(shù)據(jù)表對(duì)應(yīng)一個(gè) Table Source,同一個(gè)模塊功能的Table Source組成一個(gè)Source Group,此時(shí)生成的Table Source和Source Group保存在Oracle數(shù)據(jù)庫(kù)中的wksys.wk$_data_source和wksys.wk$_source_group表中。

        4.2 創(chuàng)建Table Source與Source Group

        在 Ultra Search客戶端程序中可對(duì) wksys.wk$_data_source和wksys.wk$_source_group表進(jìn)行維護(hù)。在建立Table Source時(shí),需要區(qū)分不同格式類(lèi)型數(shù)據(jù)的索引存儲(chǔ)方式,如VARCHAR2、CLOB數(shù)據(jù)對(duì)應(yīng)的索引類(lèi)型Plain Text,BLOB數(shù)據(jù)對(duì)應(yīng)的索引類(lèi)型為Binary等。

        由于應(yīng)用系統(tǒng)中需要檢索的業(yè)務(wù)表與字段數(shù)量可能會(huì)比較多,手工建立這些table source與group會(huì)占用開(kāi)發(fā)人員比較多的時(shí)間,為了提高開(kāi)發(fā)效率,本文用sql腳本建立table source與table group。

        (1)系統(tǒng)中針對(duì)每個(gè)字段建立索引,例如:'zh','BINARY',''為創(chuàng)建 Table Source的所有參數(shù),CASE_ATTACH_BL_ATTACH_CONTENT為T(mén)able Source名稱,oa為對(duì)其創(chuàng)建索引的表空間名稱,CASE_ATTACH為創(chuàng)建索引的表源,BL_ATTACH_CONTENT為創(chuàng)建索引的字段,NM_ATTACH_ID 為主鍵名稱,ST_ATTACH_NAME為檢索結(jié)果顯示的標(biāo)題字段。當(dāng)腳本準(zhǔn)備完全后,通過(guò)執(zhí)行wd_create_datasource來(lái)創(chuàng)建所有的table source。

        (2)同一模塊作為一個(gè)查詢組,例如:

        (3)制定檢索方案:當(dāng)Table Source與Source Group創(chuàng)建后,制定檢索方案,由于應(yīng)用系統(tǒng)用戶比較多,如在辦公時(shí)間創(chuàng)建索引,可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)性能下降,因此創(chuàng)建索引并不是同步的,在第一次創(chuàng)建索引之后,我們選擇在每天19:00點(diǎn)之后開(kāi)始增量索引。當(dāng)索引創(chuàng)建完就可以在查詢頁(yè)面對(duì)系統(tǒng)進(jìn)行檢索了。

        4.3 權(quán)限與模塊控制

        索引創(chuàng)建完成后,可在Ultra Search的檢索頁(yè)面對(duì)系統(tǒng)進(jìn)行檢索,但此時(shí)的檢索結(jié)果沒(méi)有任何權(quán)限的判斷,針對(duì)外事系統(tǒng)的業(yè)務(wù)需求,每個(gè)處室只可查詢自己處室的數(shù)據(jù),各處室有權(quán)限的模塊也不同,具有特殊角色的人員除外(如系統(tǒng)管理員)。如何實(shí)現(xiàn)對(duì)檢索結(jié)果的權(quán)限、模塊、角色控制以及,查看檢索結(jié)果的詳情也是本文的一個(gè)難點(diǎn)。

        本文給出了一個(gè)解決方式,如圖2所示:

        圖2 檢索流程圖

        用戶在外事系統(tǒng)門(mén)戶中的檢索流程如上圖所示,主要的涉及的業(yè)務(wù)表如下:

        (1)創(chuàng)建模塊與查詢組對(duì)應(yīng)關(guān)系表,如下:

        檢索結(jié)果中只能顯示查詢用戶所擁有模塊的數(shù)據(jù)。當(dāng)用戶從應(yīng)用系統(tǒng)門(mén)戶中進(jìn)行檢索時(shí),首先在后臺(tái)代碼中拿到該用戶的所有模塊MODULE_ID,將其組裝成一個(gè)結(jié)果集傳遞到Ultra Search的系統(tǒng)中,通過(guò)MODULE_ID集合找到所對(duì)應(yīng)的所有的 GROUP_ID,針對(duì)這些查詢組進(jìn)行檢索,從而實(shí)現(xiàn)了用戶的模塊權(quán)限的控制。

        (2)創(chuàng)建url模板與目標(biāo)action對(duì)應(yīng)關(guān)系表,如下:

        用戶所擁有模塊的數(shù)據(jù)不一定都有查看權(quán)限,如何屏蔽掉那些沒(méi)有查看權(quán)限的數(shù)據(jù),是該系統(tǒng)的一個(gè)最大難點(diǎn)。在建立Table Source時(shí),參數(shù)pv_value記錄的是檢索結(jié)果中用于顯示的 Url鏈接,通過(guò)此鏈接可打開(kāi)數(shù)據(jù)詳情頁(yè)面。url中記錄的數(shù)據(jù)主鍵id、標(biāo)題字段、類(lèi)型字段等其他信息,通過(guò)ULTRA_URL_MAP_ACTION表,在點(diǎn)擊檢索結(jié)果的標(biāo)題時(shí),首先跳轉(zhuǎn)到應(yīng)用系統(tǒng)中,獲取url 的鏈接,從中拆分出 action 作 為 ORIGINAL_ACTION, 通 過(guò)ORIGINAL_ACTION 找 到 PERM_ACTION, 在PERM_ACTION中,將核對(duì)用戶是否有該數(shù)據(jù)的查看權(quán)限,如果有則通過(guò)ORIGINAL_ACTION查看,否則顯示“無(wú)權(quán)限查看!”。系統(tǒng)中會(huì)存在不同類(lèi)型的業(yè)務(wù)數(shù)據(jù)放在同一個(gè)業(yè)務(wù)表中,需要根據(jù) URL_TYPE找到不同的TARGET_ACTION。

        4.4 檢索結(jié)果的處理

        由于Ultra Search檢索中的標(biāo)題字段拿不到,把業(yè)務(wù)表中的標(biāo)題字段放在檢索結(jié)果的url中,在檢索結(jié)果頁(yè)面將其拆分出來(lái)作為標(biāo)題字段即可達(dá)到理想的效果。檢索結(jié)果頁(yè)面中信息來(lái)源顯示的都是英文的查詢組名稱,用戶體驗(yàn)性不是太好,因此我們通過(guò)GROUP_ID 在ultra_module_map_group表中找到對(duì)應(yīng)的 MODULE_NAME作為來(lái)源顯示在檢索結(jié)果頁(yè)面中。

        4.5 檢索頁(yè)面的使用說(shuō)明

        檢索頁(yè)面的使用方式與搜索引擎網(wǎng)站的檢索操作方式習(xí)慣相似。檢索結(jié)果中暫時(shí)排除格式為圖片或者掃描版的數(shù)據(jù)信息。多個(gè)檢索關(guān)鍵字可由“+”、“-”、空格、雙引號(hào)等特殊符號(hào)組合。“+”、“-”號(hào)必須為英文輸入法。“+”代表必須包含;“-”代表不包含;空格代表“或”等。如果查詢的詞語(yǔ)中間包含空格,查詢時(shí)需要加引號(hào)。

        5 結(jié)論

        本文以外事系統(tǒng)為例,介紹了基于Ultra Search與Oracle Text實(shí)現(xiàn)全文檢索的一種快速、高效的解決方案。在不用改變?cè)袘?yīng)用系統(tǒng)的基礎(chǔ)上,獨(dú)立實(shí)現(xiàn)全文檢索,大大減少了應(yīng)用系統(tǒng)風(fēng)險(xiǎn)。解決了因不同的中間件帶來(lái)了用戶權(quán)限與模塊控制的難題,同時(shí)也提高了系統(tǒng)集成的靈活性和可擴(kuò)展性,實(shí)現(xiàn)了更好的業(yè)務(wù)過(guò)程控制,提高了用戶檢索的效率和速度,滿足了客戶的業(yè)務(wù)需求。

        [1]Oracle(R) Text Application Developer's Guide 10g Release 1 (10.1)[C][Part Number B10729-01].

        [2]Oracle Text-An Oracle Technical [M]White Pater 2001.

        [3]Oracle Text Reference Book 2001.

        [4]Jie Lu;Jamie Callan User Modeling for Full-Text Federated Search in Peer-to-peer [M]Networks 2006

        [5]范鵬.基于Oracle Text的信息系統(tǒng)資料庫(kù)全文檢索技術(shù), [J]《通信與計(jì)算技術(shù)》,2006年第2期

        [6]蒙輝;陳燕 Orade Text技術(shù)在復(fù)雜結(jié)構(gòu)數(shù)據(jù)庫(kù)中的應(yīng)用 [期刊論文]-[J]計(jì)算機(jī)技術(shù)與發(fā)展2007(04)

        [7]熊志輝.王德鑫.王煒.張茂軍 基于Oracle的多權(quán)限多格式文檔組織與檢索系統(tǒng) [期刊論文]-[J]計(jì)算機(jī)應(yīng)用2008(9)

        [8]李尚初.Oracle的全文檢索技術(shù), [J]哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào),2009年第4期

        [9]羅玉梅.Oracle全文檢索技術(shù)的應(yīng)用, [J]電子商務(wù),2010年第8期

        猜你喜歡
        用戶信息系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關(guān)注用戶
        關(guān)注用戶
        關(guān)注用戶
        如何獲取一億海外用戶
        展會(huì)信息
        亚洲中文字幕巨乳人妻| 波多野42部无码喷潮在线| a级毛片无码免费真人| 国产精品视频流白浆免费视频| 人妻少妇久久精品一区二区| 精品日本一区二区三区| 69精品人人人人| 无码人妻一区二区三区免费n鬼沢| 久久久高清免费视频| 日本岛国一区二区三区四区| 国产综合色在线精品| 丰满爆乳一区二区三区| 亚洲成AV人片在一线观看| 久久国产精品美女厕所尿尿av| 看久久久久久a级毛片| 夜爽8888视频在线观看| 精品无码国产一二三区麻豆| 五月婷婷开心六月激情| 又爽又黄又无遮挡网站| 国产精品 视频一区 二区三区| 大白屁股流白浆一区二区三区| 好看的日韩精品视频在线| 芒果乱码国色天香| 91免费在线| 亚洲女同恋中文一区二区| 伊人久久综合无码成人网| 久久精品人人做人人爽| 97精品国产高清自在线看超| 国产av天堂一区二区二区| 一本一道人人妻人人妻αv| 91spa国产无码| 国产一级r片内射视频播放| 精品亚洲一区二区三区四区五区| 国产av精国产传媒| 国产精品无码久久久久下载| 亚洲熟妇av一区二区在线观看| 国产精品99精品无码视亚 | 俺去啦最新地址| 成年女人永久免费看片| 日本高清不卡一区二区三区| 亚洲av无码精品无码麻豆|