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

.Net平臺下知識網絡系統及其搜索引擎的設計與實現

2011-05-17 09:08:48張貝克焦迪楠李晶晶
網絡安全與數據管理 2011年8期
關鍵詞:數據庫用戶信息

張貝克,焦迪楠 ,馬 昕,李晶晶

(北京化工大學 信息學院,北京100029)

隨著計算機技術及網絡的普及,人們對知識的獲取不只來源于學校課堂,很大一部分來源于網絡平臺。如何為用戶提供一個層次清晰、內容豐富的網絡學習平臺,成為國內外的研究熱點及網絡教學的趨勢[1]。傳統的網絡學習平臺大都信息分類簡單,知識脈絡不夠清晰,而檢索系統大多是基于數據庫系統自帶的查詢命令,如“like%keyword%”的形式實現檢索。這種檢索方法不能分詞、不夠智能、檢索結果的排列順序也不夠合理。針對傳統網絡學習平臺的不足,本文提出的新型的網絡學習系統不僅提供對知識信息的解讀,還分析知識內部的聯系,梳理知識脈絡,將知識以立體網絡的形式展現給用戶,從而使用戶對知識信息有更立體深刻的了解;同時為了能夠保證用戶高效、準確地檢索到需要的信息,本系統的檢索模塊中引入了新型的專用于.Net平臺的Lucene.Net全文檢索技術。Lucene.Net是一個類庫,提供了簡單的函數接口,可以方便地嵌入到各種應用中實現全文索引與檢索功能[2]。目前Lucene全文檢索技術發展迅猛,很多項目都使用了Lucene作為其后臺的全文檢索引擎,如 Nutch(WebCrawler工具),Hadoop(基于Lucene的分布式計算平臺)等[3]。本文通過對Lucene.Net的分析研究,將其與SQL Server數據庫技術相融合,實現效率高、搜索結果準確的檢索引擎模塊。

1 系統設計

本系統將零散的知識信息收集起來,進行科學的整理、分類,組織成一個知識網絡,通過高效的檢索模塊,用戶可以查找到需要的信息,同時對知識的整體結構也有了立體的了解。根據對系統的功能性需求及特色的分析,將系統分為如圖1所示的6個模塊。

1.1 系統模塊功能簡介

(1)知識點信息資源模塊

此模塊收集信息,對信息進行科學的整理、分類、存儲,將存儲在數據庫中的信息層次化地展現在客戶端頁面。

(2)知識點網絡模塊

此模塊在收集信息資源時,建立信息之間的父子或兄弟關系,并將這種關系存儲在數據庫中,逐步構建知識的網絡結構,為用戶提供清晰、立體的知識表現形式。

(3)系統搜索引擎模塊

利用SQL Server自有的索引功能及Lucene.Net全文檢索技術,建立高效的檢索系統,通過識別用戶輸入的檢索詞,系統地進行模糊或精確查詢,找到符合用戶要求的相關內容,并進行排序顯示。

(4)問答專區模塊

此模塊實現用戶提問、回答、交流的功能,增加了用戶間的有效溝通,并使系統的設計更加人性化。

(5)新聞通知模塊

此模塊用于管理系統新聞和通知,能夠實時地將系統動態顯示給用戶。

(6)用戶管理模塊

此模塊用于對用戶的基本信息、權限及知識信息的相關操作進行管理。

根據對上述各個模塊的分析,在SQL Server 2005中構建了本系統的數據庫Knowledge,數據庫中各表之間的關系如圖2所示。

1.2 系統架構

本系統采用B/S架構,編程語言為C#,所用技術為.Net平臺下的 ASP.NET、Silverlight,后臺數據庫為 SQL Sever2005。從軟件設計上采用三層結構,通常意義上的三層結構就是將整個業務應用劃分為:表現層、業務邏輯層、數據訪問層。區分層次的目的是為了實現“高內聚,低耦合”。為了展現知識結構的動態網絡,本系統還建立了SilverLight應用程序層。具體系統架構如圖3所示。

2 系統關鍵模塊的實現

2.1 系統搜索引擎模塊

本系統為了保證用戶能夠高效、準確地搜索到需要的信息,將適用于.Net平臺的Lucene.Net全文檢索技術和SQL Server索引技術相結合,構建了一個新型的搜索引擎模塊。

搜索引擎模塊采用多條件檢索,知識信息的標題、條目、編輯人、內容都作為檢索條件存在。標題、條目、編輯人是作為較短的信息存儲在數據庫中;而用戶編輯的內容則作為一段很長的信息對象存儲在數據庫中。為了達到比較高效的檢索效果,本模塊對不同檢索條件使用不同的檢索技術。

對于標題、條目、編輯人檢索條件,通過建立SQL Server數據庫的聚集和非聚集索引來實現對它們的快速查找。標題的ID作為主鍵聚集索引,而編輯人ID作為連接知識表和編輯人表的外鍵,設定為非聚集索引,條目ID作為條目表的主鍵聚集索引。這樣在建立好索引后,利用查詢語句“like%keyword%”對數據庫進行查詢,效率能夠提高50%左右。

對于用戶編輯的內容,本文利用Lucene.Net技術,實現全文檢索。Lucene.Net是基于Java的全文索引工具包Lucene的.Net移植版本。Lucene不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎及部分文本分析引擎。Lucene的目的是為軟件開發人員提供一個簡單易用的工具包,以便在目標系統中實現全文檢索的功能,或者以此為基礎建立起完整的全文檢索引擎[5]。

Lucene.Net全文檢索模塊的架構如圖4所示。

Lucene.Net的工作流程如下:

(1)由于是為數據庫中的內容建立全文索引,所以建立與數據庫的連接。

(2)利用IndexWriter創建索引;IndexWriter是 Lucene.Net的索引器,其主要作用是對索引進行創建,加入Document。其構造函數 IndexWriter(Directory d、Analyzer a、bool create)中的參數分別代表索引路徑,使用哪種分詞類,是否重建索引[5]。

(3)將需要檢索的數據 (本文為數據表中的字段信息)轉換為Document的 Field對象,然后將 Document添加到索引文件中;

(4)搜索:利用QueryParser類對查詢字符串的解析,將查詢關鍵詞轉換為搜索用的Query;使用IndexSearcher進行檢索;在本系統中用到的是Lucene.Net的多字段檢索及多索引目錄搜索,多索引目錄搜索就是要在多個索引目錄中進行比較搜索,類似概念在SQL中就是select*from TableA union select*from TableB。用到的檢索語句為:

IndexSearcher[]searchers=new IndexSearcher[2];

searchers[0]=new IndexSearcher(IndexPath0);

searchers[1]=new IndexSearcher(IndexPath1);

MultiSearcher multisearcher=new MultiSearcher(searchers);

(5)檢索結果的顯示:Hits類取得查詢得到的內容。

2.2 知識點網絡模塊

一般來說網絡結構是由N個復雜的樹形結構組成,其形狀表現為二維或三維網絡,如圖5為知識網絡的抽象圖。而為了構建一個立體的知識網絡,對各知識點之間的關系設定、樹形結構存儲、遍歷、節點路徑等問題的處理顯得非常重要。此模塊主要負責兩個問題:一是為用戶提供清晰、立體的知識網絡;二是為用戶提供一個尋找節點間路徑的方法。

2.2.1 樹形結構的存儲

對于以上兩個問題的解決,都涉及到樹形結構在關系數據庫中存儲方式的問題。

樹形結構模型為不規則、可變化、有序的,而關系數據庫為行列規則模型,是固定不變的、無序的。本文就涉及到父子關系在數據庫的存儲問題[4]。目前一般有兩種方法:分段編碼法和利用父指針的任意樹法。分段編碼法即通過對樹節點逐級編碼,實現樹形結構的存儲。這種方法需要預先設置分段的最大值,即樹中任意節點的最大子節點數,由于各節點的節點數并不固定或均衡,容易造成內存空間浪費[5]。利用父指針的任意樹法,一般采用與表1類似的表結構。這種表結構能夠很好地表示樹形結構的本質,并且空間利用率很高,對于復雜的樹形結構也能適應。因此本文采用此存儲方法。

表1 父子樹在數據庫中的存儲

2.2.2 知識網絡的構建及節點路徑的獲取

通過系統后臺整理好的知識層次關系,將關鍵節點的父、子、兄節點進行讀取,利用SilverLight技術,通過將節點模塊化,動態地構建知識網絡圖。

對于樹形結構節點路徑的獲取,本系統使用遞歸尋路徑法。遞歸尋路徑法在數據表中只存放父子關系,如表1所示,并沒有進行樹的多級編碼或設置層次列;所以若想取到某一知識點的全路徑,需要通過遞歸函數來獲得。

獲取某一指定節點路徑集的方法類命名為:Get-Path。其內部主要函數的執行邏輯為圖6所示。

圖6 GetPath類中函數的執行邏輯

2.3 知識點信息資源模塊

此模塊實現對知識信息資源的編輯、整理、層次化展現。系統對知識信息的整理,不能簡單地以電子百科書的方式簡單地羅列,而應根據類別、階段進行整理。這也正是本系統與維基百科、百度百科這樣的電子百科平臺的不同。系統對每個知識信息塊下分幾個學習階段:基礎知識學習階段、進階階段、高級應用階段。每個階段又根據實際情況分設不同條目,輔助不同層次的訪問者獲取知識財富。其基本的層次體系如圖7所示。

圖7 知識點信息資源層次結構圖

本文基于.net平臺上的 ASP.Net、SilverLight技術設計實現了一個網絡學習系統,對系統中各個模塊的功能進行了簡要概述。詳細分析了系統主要模塊的功能實現。在知識網絡模塊中,系統對于樹形結構在關系數據庫中的存儲,采用了父指針的任意樹法,此方法更適用于復雜的網絡結構的存儲與構建,對于節點路徑的獲取,系統提出了遞歸尋路徑法,更加準確、快速地實現了節點之間路徑的獲??;在搜索引擎模塊中,對于全文檢索的實現,使用了Lucene.Net技術,將Sql的模糊檢索改進為Lucene下多條件字段和多索引目錄的全文檢索,并將Lucene.Net的全文檢索技術與SQL Server的索引技術相結合,構建了一個新型的搜索引擎模塊,大大提高了檢索效率和檢索的精確度。

[1]WELSH E T,WANBERG C R,BROWN K G.et al.E-learning:emerging uses,empirical results and future directions[J].International Journal of Training and Development,2003,7(4):245-258.

[2]譚文堂,賀明科,李阜.基于Lucene.Net的分布式全文檢索系統[J].計算機應用與軟件,2009,26(9):142-145.

[3]丘哲,符滔滔,王學松.開發自己的搜索引擎[M].北京:人民郵電出版社,2010.

[4]姚雄偉,劉莉,邸書靈,等.在數據庫上實現一種高效顯示的任意樹形結構[J].河北省科學院學報,2005,22(4):15-17.

[5]夏明偉,劉星沙.父子結點樹的樹枝串的形成方法[J].科技咨詢導報,2007(13):152-153.

猜你喜歡
數據庫用戶信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 成人精品区| 欧美日韩亚洲综合在线观看| 91小视频在线播放| 免费中文字幕一级毛片| 亚洲精品在线观看91| 青青草综合网| 国产精品偷伦在线观看| 国产在线无码一区二区三区| 成年人久久黄色网站| 爽爽影院十八禁在线观看| 国产国产人成免费视频77777| 欧美性猛交xxxx乱大交极品| 一本无码在线观看| 国产精品福利尤物youwu| 久久大香伊蕉在人线观看热2| 91娇喘视频| 亚洲欧美色中文字幕| 亚洲欧美人成电影在线观看| 国产亚洲精品91| 一级做a爰片久久毛片毛片| 欧美日韩一区二区三| 9966国产精品视频| 亚洲男人天堂网址| 人妻丰满熟妇αv无码| 亚洲精品少妇熟女| 久久综合色天堂av| 无码福利视频| 亚洲无卡视频| 国产丰满大乳无码免费播放| 综合亚洲网| 91视频99| 伊人久久精品无码麻豆精品 | 99精品在线看| 亚洲成人在线网| 一本久道久久综合多人| 国产 在线视频无码| 99re免费视频| 日本午夜精品一本在线观看| 免费一级大毛片a一观看不卡| 国产精品妖精视频| 久久毛片网| 午夜不卡视频| 国产在线一二三区| 国产高清不卡| 凹凸精品免费精品视频| 超清人妻系列无码专区| 青青久久91| 久久久精品久久久久三级| 狠狠色成人综合首页| 日本欧美精品| 欧亚日韩Av| 高清亚洲欧美在线看| 国产精品吹潮在线观看中文| 毛片基地视频| 狠狠v日韩v欧美v| 亚洲九九视频| 免费无码AV片在线观看国产| 99久久国产综合精品2023| 亚洲人成人伊人成综合网无码| 美美女高清毛片视频免费观看| 日日拍夜夜操| 国产成人8x视频一区二区| 亚洲另类色| 精品久久久久久久久久久| 亚洲黄色高清| 污网站在线观看视频| 欧美不卡视频一区发布| 在线无码av一区二区三区| 久久精品中文无码资源站| 日韩欧美国产综合| 青草视频免费在线观看| 日韩久草视频| 偷拍久久网| 91精品专区国产盗摄| 亚洲欧州色色免费AV| 九九九精品成人免费视频7| 亚洲码一区二区三区| 精品欧美一区二区三区在线| 国产麻豆91网在线看| 亚洲国产无码有码| 欧美国产在线看| 天天色综网|