999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

李瑞麗,錢 皓,黃以凱

0 引言

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

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

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

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

2 Oracle Text簡介

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

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

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

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

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

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

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

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

Oracle Text的使用步驟歸納起來如下:

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

(2)配置索引。

(3)建立索引。如:

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

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

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

3 Ultra Search簡介

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

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

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

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

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

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

Ultra Search由3個組件組成:

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

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

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

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

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

4.1 系統(tǒng)框架設計

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

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

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

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

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

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

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

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

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

4.3 權限與模塊控制

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

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

圖2 檢索流程圖

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

(1)創(chuàng)建模塊與查詢組對應關系表,如下:

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

(2)創(chuàng)建url模板與目標action對應關系表,如下:

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

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

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

4.5 檢索頁面的使用說明

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

5 結(jié)論

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

[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)資料庫全文檢索技術, [J]《通信與計算技術》,2006年第2期

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

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

[8]李尚初.Oracle的全文檢索技術, [J]哈爾濱師范大學自然科學學報,2009年第4期

[9]羅玉梅.Oracle全文檢索技術的應用, [J]電子商務,2010年第8期

猜你喜歡
用戶信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 中文字幕亚洲电影| 女人一级毛片| 国产在线自在拍91精品黑人| 国产精品爽爽va在线无码观看 | 久久久久88色偷偷| 亚洲色欲色欲www网| 国产99免费视频| 免费xxxxx在线观看网站| 在线视频亚洲欧美| 亚洲人网站| 91精品国产麻豆国产自产在线| 亚洲AV无码久久精品色欲| 99在线观看精品视频| 国产成人欧美| 亚洲第一成年人网站| 精品视频第一页| 亚洲精品图区| 亚洲av片在线免费观看| 国产呦视频免费视频在线观看| 国产性生大片免费观看性欧美| 欧美第一页在线| 91年精品国产福利线观看久久| 亚洲狠狠婷婷综合久久久久| 国产成人综合久久精品尤物| 国产在线观看91精品亚瑟| 成人午夜免费观看| 免费看一级毛片波多结衣| 国产91丝袜在线播放动漫| 国产无码精品在线播放| 91在线播放免费不卡无毒| 99热这里只有精品5| 在线精品欧美日韩| 老司机久久精品视频| 亚洲中文字幕av无码区| av一区二区三区高清久久| 亚洲AV成人一区二区三区AV| 精品视频在线一区| 亚洲国产午夜精华无码福利| 99精品福利视频| 欧美劲爆第一页| 91偷拍一区| 成人免费网站久久久| 国内精品九九久久久精品| 丁香六月综合网| 精品国产成人三级在线观看| 中文字幕欧美成人免费| 日韩视频精品在线| 国产精品免费露脸视频| 喷潮白浆直流在线播放| 亚洲精品动漫| 亚洲全网成人资源在线观看| 国内精品视频| 丁香婷婷久久| 国产乱人视频免费观看| 色欲国产一区二区日韩欧美| 日韩福利在线视频| 国产精品人成在线播放| 久久亚洲精少妇毛片午夜无码| 71pao成人国产永久免费视频 | 久久这里只有精品23| 国产v精品成人免费视频71pao | 亚洲欧美自拍一区| 麻豆AV网站免费进入| 伊人成色综合网| 欧美午夜精品| 2024av在线无码中文最新| 亚洲午夜片| 中文字幕丝袜一区二区| 4虎影视国产在线观看精品| 91久久性奴调教国产免费| 午夜a级毛片| 欧洲一区二区三区无码| 国产喷水视频| 亚洲六月丁香六月婷婷蜜芽| 国产成人精品综合| 欧美国产日本高清不卡| 一区二区理伦视频| 玩两个丰满老熟女久久网| 精品国产美女福到在线不卡f| 性欧美久久| 激情五月婷婷综合网| 欧美午夜小视频|