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

基于XML的站內檢索系統

2010-01-01 00:00:00張東振,張明
電腦知識與技術 2010年2期

摘要:為實現可以為單獨的網站提供站內全文檢索系統,采用獨立于專門商業搜索引擎的lucene索引結構,在網站所有的文檔基礎上,首先使用xml轉換技術建立文檔的xml索引格式,抽取文檔主題內容寫入xml鏈表,索引過程基于偽xml的存儲布局。該方法在檢索效率和準確性上都有很明顯的提高,并且擴展性好,在原來解析鏈的結構下可以直接增加新的解析模塊。

關鍵詞:XML檢索;站內索引;文檔轉換;中文文檔檢索;lucene xml

中圖分類號:TP391文獻標識碼:B文章編號:1009-3044(2010)02-400-03

The Retrieval System of the Website Based on XML

ZHANG Dong-zhen, ZHANG Ming

(School of Information Engineering College, SMU., Shanghai 200911, China)

Abstract: To realize the website provides for standing alone fulltext retrieval system, using in independent specialized business search engine index structure on the website, lucene all documents, first using XML based on the establishment of an XML document conversion technology index, extracting document formatting XML topic content into a table, index based on chain process of storage pseudo XML layout. This method in retrieval efficiency and accuracy are obviously improved and expansibility, in the original structure of analytical chain can directly increase new analytical module.

Key words: XML retrieval; stand inside index; documents; Chinese document retrieval; lucene xml

XML已經成為互聯網上數據表示和數據交換的標準。隨著XML文檔數據量和文檔數量的快速增長,隨之而來也產生了很多問題,其中很重要的一個問題就是如何有效的查詢這些文檔,也就是結構查詢,亦稱為數據查詢。而有效的數據查詢又涉及到文檔的存儲機制和索引結構等問題,這些問題已經引起了學術界和工業界的廣泛研究熱情,學者們在這些問題上作了大量的研究工作。另外一個問題是基于XML文檔的信息檢索,這也是一個新產生的研究問題。面對巨大的網絡信息,如何才能為用戶檢索出真正有效的信息是一個非常具有挑戰性的研究問題?,F存的大部分搜索引擎是基于關鍵字搜索的,頁面排序算法采用頁面的超鏈接或頁面內容的文本特性。如果頁面采用XML來編寫,那么就需要合理的利用XML的結構特性、語義特性以及其它的相關性質,來提高檢索的效果和效率。這就促使對XML文檔進行信息檢索變成了一個非常有意義的問題。

雖然大型搜索引擎的功能已經越來越強大,很多站點都使用了專業搜索引擎網站來代替自己的站內數據庫“全文”檢索。 但依靠大型搜索引擎做站內檢索會有以下弊端:

數量有限:搜索引擎并不會深度遍歷一個網站,而將網站所有的內容都索引進去,比如Google傾向于抓取靜態網頁,而且是最新更新的,而不喜歡帶?的動態網頁,它甚至會定期將缺少入口的網站內容逐漸拋棄;

更新慢:搜索引擎針對站點的更新頻率也是有一定周期的,很多內容需要一定時間后才能進入蜘蛛的索引內容不精確:搜索引擎需要通過頁面內容提取技術將導航條,頁頭頁尾等內容過濾掉,反而不如直接從后臺數據庫提取數據來得直接,這種摘要和排重機制是很難實現的;

無法控制輸出:比如更多的輸出需求,按時間排序,按價格,按點擊量,按類目過濾等

對于軟件應用開發者來說:應用和應用之間,企業和企業之間交換的數據,按照嚴格的XML標準設計的接口作為企業之間后臺數據交換的工業標準,雖然不如簡單的CSV格式高效,但缺能大大簡化下游工序的后期加工成本。

XML 的主要特征主要有以下幾方面:

1) XML 的跨平臺性:XML 使用文本表示數據,這使得它對于跨平臺的數據交換十分方便。XML可以跨越不同的數據庫平臺。

2) 自描述性:XML 文檔的自描述性主要體現在 XML文檔包含一個文檔類型聲明。

3) 靈活性:XML 可以隨意定義元素及其之間的關系,可以利用 XML 定義復雜的數據結構,為描述事物之間的復雜聯系提供一個解決方案。

4) 方便性:XML 將內容和顯示格式分開,內容用 XML文件來表示,顯示格式則用 CSS和XSL來描述,當外觀變動時,XML文件不受其影響。

XML可以用一種開放的和自我描述的方式定義數據結構,非常容易編寫和閱讀,使得它成為了異構數據的集成和交換的中介,正是由于 XML具有這些良好的特性,使得它可以作為各種文本或媒體信息和數字信息轉換的中介。

1 傳統數據庫全文檢索和XML檢索的比較

1.1 讓數據庫負責精確匹配

一個站點內容積累在萬級以上,站內全文檢索就會是用戶定位最主要的手段,而關鍵詞檢索是用戶最熟悉的方法。因此基于數據庫的傳統WEB應用在全文檢索需求還是很大的。但是可怕的%like%數據庫操作可能會消耗數據庫服務器90%以上的CPU。Oracle MSSQL等數據庫服務器中數據庫內置的全文檢索基本上都不太適合WEB應用。而數據庫另外一個的弊端在于對于條件簡單的查詢返回結果集非常大:數據庫并不知道如何面向用戶最關心的的頭100條結果進行優化。根據以前的統計:頭100條結果往往已經可以滿足95%以上用戶需求。需要緩存設計:根據我們的經驗,在應用設計中沒有必要進行內置的結果緩存設計:讓前臺的應用服務器內置的緩存機制或者反相代理緩存服務器進行緩存就夠了。

1.2 數據同步策略

總體上講,全文檢索和數據庫其實是2種根本不同的應用模式,全文檢索系統其實往往也沒有必要和數據庫那么高的實時同步機制,如果按照:低更新,高緩存的模式進行設計:數據庫數據到全文索引的同步過程一般都可以通過腳本定期將數據庫的數據導出成XML,然后進入Lucene的全文索引。而針對原有數據記錄的更新和刪除,其實一般可以通過定期的重建索引解決。

1.3 結果排序策略

站內全文索引另外一個很重要的需求是可定制的排序:按時間,按價格,按點擊量……Lucene全文索引缺省只提供了根據關鍵詞在原文中的匹配度排序,而任何根據某個字段的值進行排序的都無法避免再次遍歷數據,從而導致性能有數量級的下降(等于又是做%Like%檢索),而在索引中,除了匹配度SCORE外,唯一能用來排序的就是索引記錄的ID,所以一個比較高效率實現定制排序的方法時:在索引時,讓進入Lucene全文的順序對應著一定規則:比如時間,然后在搜索時,讓搜索結果按照索引記錄的ID進行排序(或倒排)。

1.4 搜索結果關鍵詞標引的實現

搜索結果中關鍵詞通過紅色或者黑體字標記出來,為了能夠更恰當的顯示相關上下文的問題,標引是通過限制了一個掃描范圍,然后根據一個分析器將指定的詞流式的讀取出來,然后

2系統的實現架構

2.1 xml數據的轉換

把普通文檔轉換為 XML 文檔,需要有個轉換器。要實現普通數據向 XML的轉換,關鍵是給出普通的內容數據及其關系的一種組織方式,找出這種方式在 XML模式中相應的表達規則,建立普通標識到 XML 模式的一種映射,從而實現從普通內容到 XML 結構的轉換。

普通文檔直接向 XML 的轉換可以借助于ducument以及Fields這樣的中轉文件格式,在轉換過程中采用將普通文檔分析加工為 DOM塊的形式,在此基礎上再做進一步的轉換。在java開源軟件方面有很出色lucene架構可以實現數據的索引和存儲,至于數據轉換可以借助于pdfbox或者jacob這樣的中間件來實現。

2.2 解析鏈

解析模塊是基于 XML 搜索引擎與普通搜索引擎不同的結構之一,是針對 XML 文檔的特點所設計的模塊,也是非常重要的一個模塊。由于 XML文檔是一種半結構化的數據,它的數據包含結構和內容兩部分,在對它建立索引前首先必須對它進行解析,將結構信息和內容信息分別提取出來為它們建立索引。解析模塊的主要任務是提取 XML

文檔的內容信息和結構信息,它由模塊中的解析器來完成。解析器的實現也就是繼承lucene中的extractor類的解析方法,根據分析的字段信息來確定如何分詞或者加入節點等操作。解析器負責對輸入的 XML 文檔進行解析,解析器實際上設計為一個解析器鏈,對于文檔的分析過程需要分層次來進行,比如中文分詞,圖表圖片的語義的分析等處理過程都應該加入解析鏈來串行的分析。對于具體內容的抽去過程可以利用接口機制來實現不同文檔的內容解析。主要用于區別doc xls,ppt,html這樣的數據文本格式,也就是設計一系列的解析鏈來串行化的實現文件分析過程。

2.3 索引鏈

搜索引擎的索引部分是整個搜索引擎最關鍵的部分。在對以前的普通文檔數據建立索引時,需要保存的信息是文檔中的詞項信息,就是某一個詞項在哪篇文檔中出現,出現了幾次以及出現的位置。對 XML 文檔數據建立索引時,要保存更多的信息。首先是標簽間的數據信息,另外還有標簽中的詞項信息和文檔中標簽的嵌套層次信息。

為支持根據元組名、屬性名和結構進行查詢,即要實現以下三種操作:

① 給定一元組名字符串,比如說“shop”去查找所有具有此名的元組,并把它們按所屬的文檔分類。

② 給定一屬性名字符串,比如說“tokenizer”去查找所有具有此名的屬性,并把它們按所屬的文檔分類。

③ 給定一個元組,查找它的父元組或孩子元組、屬性;給定一個屬性,查找它所屬的元組。

所需實現的索引有:元組索引、屬性索引和結構索引。

1) 元組索引??刹捎?B+樹來實現,利用名字標示作為鍵值,其葉節點的每一個入口均指向由固定長度的元組記錄組成的集合,這些元組具有相同的名字串,并按它們所屬的文檔

進行分組。利用元組索引可使我們快速地查找出擁有相同名字的所有元組。

2) 屬性索引。結構同元組索引類似,不同之處是包含一個值標示,它被當作一個鍵用于從值表中獲得屬性值。

3) 結構索引。由線性矩陣組成,每一個線性矩陣都用來存儲元組或屬性的固定長度記錄,這些元組或屬性來自于同一個 XML文檔。在一個線性矩陣中,元組和屬性按照它們的次序

值被一起存儲。在每一個記錄中,存放有一個名字標示、第一個兄弟的次序值、第一個孩子節點、第一個屬性節點等。文件的索引借助于lucene的indexWriter來實現,只需要具體實現繼承的子類。

2.4 具體的命令行操作如下

XML數據源的導入:

只要數據源可以導出成3層的XML結構,就都可以用命令行工具導入:

比如從數據庫導出:news_dump.xml

文檔標題

文檔作者

[!Data內容]

2009-10-29

My Title

chedong

[!Data]

2009-10-29

...

IndexDemo -i news_dump.xml -o c:\\index -t Title,Content -n Author

-i news_dump.xml:以news_dump.xml為數據源

-o c:\\index 索引庫建立在c:\\index目錄下

索引建立Title Author Content PubTime這幾個字段外,按以下規則建立索引:

-t Title,Content 一個進行分詞的全文索引TokenIndex:數據是Title Content這2個字段

-n Author一個不分詞的索引:NoTokenIndex:數據源是Author這個字段。

3 結論

與傳統的站內全文搜索系統相比較,基于lucene基礎下的xml格式的搜索,在檢索效率和擴展性上都很靈活和高效。擴展性要好,而且易于定制搜索,更可以滿足用戶語義的搜索請求。

參考文獻:

[1] 青巴圖.從于倒排索引的xML文檔全文檢索技術研究[D].哈爾濱:哈爾濱工程大學,2007.

[2] 楊衛.面向語義的網絡信息資源組織方法研究[D].天津師范大學.2005.

[3] 竇亞君.Luder基于內容的文檔搜索引擎[D].天津工業大學,2007.

[4] 姜華.基于Lucene面向主題搜索引擎的研究與設計[D].華東師范大學.2007.

[5] 李四達.全文索引引擎Lucene的研究及其手機中的應用實現[D].華北電力大學,2007.

[6] 劉振峰.基于知識管理的教育資源管理系統研究[D].山東師范大學,2007.

[7] 黃杰.基于Lucene的全文檢索系統模型的研究[D].暨南大學,2007.

[8] Denoyer L, Gallinari P. The Wikipedia XML corpus .SIGIR Forum,2006,40,40(1):64-69.

[10] Robertson S E. Overview of the okapi projects .Journal of Pageation,1997,53(1):3-7.

[11] G Gou, R Chirkova. Efficiently Querying Large XML Data Reposi-tories:A Survey[J].Transactions on Knowledge and Data Engi-neering,2007,19(10):1381-1403 .

[12] Fuhr N, G vert N ,Kazai G, et al.INEX:Initiative for the evalua-tion of XML retrieval[C].Proceedings ofthe ACMSIGIR2002Workshop on XML and Information Retrieval. Tampere,Finland: ACMPress,2002, .

[13] AndrewTrotman, B rkur Sigurbj rnsson. Narrowed Extended XPath I(NEXI)[C].Advances in XML Information Retrieval,Third International Workshop ofthe Initiative for the Evaluation ofXML Retrieval,INEX2004.Springer,2004:16-40.

[14] Lu W,Robertson S,Macfarlane A. CISR at INEX2006[C].Comparative Evaluation ofXML Information Retrieval Systems,5thInternational Workshop ofthe Initiative for the Evaluation ofXML Retrieval,INEX2006. Dagstuhl Castle,Germany: Springer,2006:57-63.

[15] A Trotman,B Sigurbj rnsson. NEXI,Nowand Next[C].Ad-vances in XML Information Retrieval,Third International Workshop ofthe Initiative for the Evaluation ofXML Retrieval,INEX2004. Springer,2004:41-53.

[16] Andrew Trotman. Online NEXI Parser[EB/OL].[2008-07-11].http://metis.otago.ac.nz/abin/nexi.cgi.

主站蜘蛛池模板: 国产一区二区在线视频观看| 女人一级毛片| 亚洲免费人成影院| 国产成人资源| 国产亚洲精品在天天在线麻豆| 国产一区二区三区夜色| 日韩无码视频专区| 亚洲人妖在线| 国产情侣一区二区三区| 国产草草影院18成年视频| 成人国产一区二区三区| 重口调教一区二区视频| 日本不卡视频在线| av一区二区三区高清久久| 国内精品免费| 女人18毛片一级毛片在线 | 欧美怡红院视频一区二区三区| 亚洲欧美成人在线视频| 国产成人午夜福利免费无码r| 欧美高清三区| 欧美亚洲欧美| 精品国产免费第一区二区三区日韩| 亚洲视频四区| 国产丰满成熟女性性满足视频| 日本在线国产| 久久人人97超碰人人澡爱香蕉 | 亚洲精品视频网| www精品久久| 精品久久久久成人码免费动漫 | 欧美激情视频一区| 亚洲综合九九| 精品国产一区二区三区在线观看| 久久精品66| 午夜免费小视频| 高潮毛片免费观看| av一区二区三区高清久久| 日韩 欧美 国产 精品 综合| 国产99热| 99ri国产在线| 久久久久无码精品| 亚洲无码高清视频在线观看| 91av国产在线| 亚洲天堂在线视频| 精品视频在线观看你懂的一区| 亚洲美女一级毛片| 欧洲欧美人成免费全部视频| 日韩视频精品在线| 国产凹凸一区在线观看视频| 亚洲国产91人成在线| 免费一级成人毛片| 91免费观看视频| 欧美精品一区在线看| 日韩一级毛一欧美一国产| 91福利免费| 丝袜无码一区二区三区| 99视频精品全国免费品| 一级成人欧美一区在线观看| 国产第二十一页| 国产在线小视频| 红杏AV在线无码| 黄色福利在线| 亚洲不卡网| 国产精品自在在线午夜区app| 国产精品无码久久久久久| 亚洲精品你懂的| 国模私拍一区二区| 少妇高潮惨叫久久久久久| 免费无码一区二区| 色综合天天综合| 久久精品无码专区免费| 精品国产亚洲人成在线| 国产91九色在线播放| 狠狠ⅴ日韩v欧美v天堂| 在线观看国产精品第一区免费| 国模在线视频一区二区三区| 四虎永久在线精品影院| 伊人久久大香线蕉影院| 欧美日韩国产在线观看一区二区三区| 日韩大乳视频中文字幕| 免费国产一级 片内射老| 四虎永久免费在线| 尤物午夜福利视频|