《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > .Net平臺下知識網絡系統及其搜索引擎的設計與實現
.Net平臺下知識網絡系統及其搜索引擎的設計與實現
來源:微型機與應用2011年第8期
張貝克1, 焦迪楠2, 馬 昕3, 李晶晶4
(北京化工大學 信息學院, 北京100029)
摘要: 針對目前學習平臺中信息簡單羅列、組織層次不清晰的問題,利用.net平臺上的ASP.Net、SilverLight技術設計實現了一個B/S架構的知識網絡系統。分析了樹形結構的特點,提出了遞歸尋路徑法,將知識信息層次清晰地展現給用戶,并實現節點間路徑的獲取。通過對Lucene.Net全文檢索技術的研究,將其與SQL Server數據庫的索引技術相結合,實現了一個高效的檢索引擎。
Abstract:
Key words :

摘  要: 針對目前學習平臺中信息簡單羅列、組織層次不清晰的問題,利用.net平臺上的ASP.Net、SilverLight技術設計實現了一個B/S架構的知識網絡系統。分析了樹形結構的特點,提出了遞歸尋路徑法,將知識信息層次清晰地展現給用戶,并實現節點間路徑的獲取。通過對Lucene.Net全文檢索技術的研究,將其與SQL Server數據庫的索引技術相結合,實現了一個高效的檢索引擎。
關鍵詞: 知識網絡; .Net; Lucene.Net; 全文檢索

    隨著計算機技術及網絡的普及,人們對知識的獲取不只來源于學校課堂,很大一部分來源于網絡平臺。如何為用戶提供一個層次清晰、內容豐富的網絡學習平臺,成為國內外的研究熱點及網絡教學的趨勢[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類似的表結構。這種表結構能夠很好地表示樹形結構的本質,并且空間利用率很高,對于復雜的樹形結構也能適應。因此本文采用此存儲方法。
2.2.2 知識網絡的構建及節點路徑的獲取
    通過系統后臺整理好的知識層次關系,將關鍵節點的父、子、兄節點進行讀取,利用SilverLight技術,通過將節點模塊化,動態地構建知識網絡圖。
    對于樹形結構節點路徑的獲取,本系統使用遞歸尋路徑法。遞歸尋路徑法在數據表中只存放父子關系,如表1所示,并沒有進行樹的多級編碼或設置層次列;所以若想取到某一知識點的全路徑,需要通過遞歸函數來獲得。

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

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

    本文基于.net平臺上的ASP.Net、SilverLight技術設計實現了一個網絡學習系統,對系統中各個模塊的功能進行了簡要概述。詳細分析了系統主要模塊的功能實現。在知識網絡模塊中,系統對于樹形結構在關系數據庫中的存儲,采用了父指針的任意樹法,此方法更適用于復雜的網絡結構的存儲與構建,對于節點路徑的獲取,系統提出了遞歸尋路徑法,更加準確、快速地實現了節點之間路徑的獲?。辉谒阉饕婺K中,對于全文檢索的實現,使用了Lucene.Net技術,將Sql的模糊檢索改進為Lucene下多條件字段和多索引目錄的全文檢索,并將Lucene.Net的全文檢索技術與SQL Server的索引技術相結合,構建了一個新型的搜索引擎模塊,大大提高了檢索效率和檢索的精確度。
參考文獻
[1] WELSH E T, WANBERG C R, BROWN K G. et al. Elearning: 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.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          在线成人免费视频| 欧美激情第8页| 欧美极品在线播放| 亚洲另类在线视频| 国产精品一区二区久久| 欧美国产视频一区二区| 欧美日韩午夜激情| 欧美影院一区| 欧美日韩视频在线一区二区观看视频| 国产亚洲电影| 国产在线观看精品一区二区三区| 亚洲一区二区精品在线| 亚洲美女中文字幕| 亚洲欧美三级伦理| 久久在线视频在线| 欧美日韩成人在线观看| 亚洲欧美日韩在线不卡| 国产精品久久久久久久第一福利| 欧美激情视频给我| 日韩午夜免费视频| 欧美乱妇高清无乱码| 一本久久综合亚洲鲁鲁五月天| 亚洲人精品午夜在线观看| 欧美午夜精品久久久久久孕妇| 精品动漫3d一区二区三区免费| 国内精品视频在线播放| 国产欧美一区二区精品忘忧草| 国产情人综合久久777777| 久久一二三国产| 久久精品123| 男男成人高潮片免费网站| 国内精品久久久久伊人av| 久久国产精品一区二区| 欧美日韩理论| 亚洲激情av| 欧美日一区二区在线观看| 欧美午夜性色大片在线观看| 久久亚洲精品视频| 亚洲图中文字幕| 国产精品草草| 欧美另类在线观看| 国产又爽又黄的激情精品视频| 亚洲欧洲综合| 国产一区二区三区不卡在线观看| 欧美成人影音| 一区二区三区高清视频在线观看| 欧美刺激性大交免费视频| 亚洲精品欧美在线| 性欧美xxxx大乳国产app| 日韩午夜电影av| 噜噜噜躁狠狠躁狠狠精品视频| 极品尤物久久久av免费看| 久久不射电影网| 欧美视频免费| 亚洲高清在线视频| 国产主播一区二区三区四区| 欧美精品免费看| 国产真实久久| 国产日韩在线一区| 亚洲精品日韩综合观看成人91| 一本色道久久加勒比精品| 亚洲区一区二区三区| 亚洲国产欧美精品| 韩国av一区二区三区四区| 亚洲国产成人porn| 亚洲一二三区视频在线观看| 国产亚洲欧美在线| 亚洲欧美电影院| 欧美一区二区国产| 国产精品国产一区二区| 国产精品美女xx| 欧美激情一区二区在线| 性久久久久久久久久久久| 国产精品欧美经典| 欧美一级夜夜爽| 国产精品日韩一区二区| 开元免费观看欧美电视剧网站| 国产精品一区一区三区| 欧美日韩一区二区三区视频| 亚洲巨乳在线| 欧美激情一区二区三区全黄| 一个色综合导航| 久久综合狠狠| 欧美与欧洲交xxxx免费观看| 欧美伊久线香蕉线新在线| 亚洲国产三级网| 国产揄拍国内精品对白| 一本色道久久综合狠狠躁篇的优点| 亚洲成色777777在线观看影院| 蜜月aⅴ免费一区二区三区| 欧美精品在欧美一区二区少妇| 亚洲欧美视频一区| 国产亚洲综合精品| 欧美资源在线| 国产伦精品一区二区三区在线观看| 亚洲精品女av网站| 亚洲国产成人精品久久久国产成人一区| 一区二区在线视频播放| 亚洲欧洲三级电影| 国产精品一级久久久| 亚洲欧洲中文日韩久久av乱码| 亚洲美女在线国产| 一本色道88久久加勒比精品| 国产精品一区二区女厕厕| 日韩视频在线免费观看| 亚洲一区二区不卡免费| 国产欧美亚洲视频| 极品少妇一区二区三区| 久久这里只有精品视频首页| 欧美一区二区三区四区在线观看地址| 欧美伊人久久久久久午夜久久久久| 欧美日本一区| 亚洲欧美日韩在线综合| 久久免费视频在线| 欧美在线观看www| 欧美成人精品在线视频| 欧美一区二区三区免费视频| 久久免费国产精品| 一区二区免费在线观看| 国产亚洲美州欧州综合国| aⅴ色国产欧美| 欧美欧美天天天天操| 国产精品久久久久久久久久免费| 久久亚洲色图| 久久精品一区二区三区中文字幕| 久久久久久九九九九| 国内成人精品一区| 激情久久久久久久| 国产精品一区二区在线观看| 国产一区二区三区不卡在线观看| 欧美一区国产一区| 亚洲精品在线三区| 快播亚洲色图| 蜜臀99久久精品久久久久久软件| 亚洲成人中文| 欧美日韩精品在线播放| 99人久久精品视频最新地址| 亚洲一区欧美一区| 一区二区日韩| 欧美一区二区三区免费视频| 免费一区视频| 激情综合激情| 欧美亚洲一区三区| 国产精品久久婷婷六月丁香| 国产精品区免费视频| 欧美一区二区高清在线观看| 亚洲高清不卡在线观看| 欧美日韩久久| 欧美人与禽性xxxxx杂性| 国产在线国偷精品产拍免费yy| 日韩午夜免费视频| 欧美精品免费在线| 欧美视频日韩视频| 国产日韩高清一区二区三区在线| 国产精品爽爽ⅴa在线观看| 在线免费观看成人网| 亚洲国产天堂久久综合| 欧美黑人在线观看| 国产欧美丝祙| 亚洲女性喷水在线观看一区| 一区二区成人精品| 国产一区二区成人久久免费影院| 蜜桃av一区二区在线观看| 狠狠干综合网| 午夜久久电影网| 亚洲欧美精品一区| 亚洲国产综合视频在线观看| 欧美日韩一区二区在线| 亚洲欧洲日产国码二区| 欧美成人午夜剧场免费观看| 在线亚洲一区二区| 在线视频一区二区| 久久米奇亚洲| 欧美一区二区三区免费观看| 国产精品第一区| 国内精品久久久久伊人av| 性做久久久久久免费观看欧美| 亚洲精品自在在线观看| 99精品国产热久久91蜜凸| 日韩亚洲一区在线播放| 狠狠入ady亚洲精品| 欧美一区中文字幕| 亚洲中无吗在线| 亚洲欧洲综合另类| 欧美日韩精品系列| 欧美在线亚洲综合一区| 久久先锋影音av| 欧美性大战久久久久久久蜜臀| 久久在线精品| 美脚丝袜一区二区三区在线观看| 欧美日韩在线播放三区| 久久久久.com| 欧美伊人久久久久久久久影院| 亚洲视频在线二区| 亚洲小说区图片区| 国产精品一区二区三区久久| 麻豆精品视频| 亚洲卡通欧美制服中文| 欧美日本不卡| 亚洲在线视频免费观看| 裸体素人女欧美日韩| 亚洲免费精彩视频| 国自产拍偷拍福利精品免费一| 午夜日韩福利| 亚洲人成高清| 在线免费观看日本一区| 午夜伦理片一区| 国产欧美日韩专区发布| 欧美午夜在线一二页| 欧美激情成人在线视频| 久久全球大尺度高清视频| 欧美黄色片免费观看| 狠狠狠色丁香婷婷综合久久五月| 亚洲欧美在线一区二区| 韩日午夜在线资源一区二区| 亚洲欧洲精品一区二区三区波多野1战4| 老司机一区二区三区| 亚洲女人天堂成人av在线| 亚洲天堂网站在线观看视频| 久久精品国产清自在天天线| 久久精品伊人| 在线视频日韩| 欧美成人一区二区三区| 欧美午夜电影一区| 免费亚洲电影| 亚洲国产成人一区| 国产伦精品一区二区三区四区免费| 日韩午夜精品| 久久中文欧美| 精品99一区二区| 宅男噜噜噜66一区二区66| 国产欧美日韩一区二区三区| 亚洲每日更新| 欧美午夜精品理论片a级按摩| 亚洲最新视频在线| 国内精品美女在线观看| 久久免费少妇高潮久久精品99| 午夜精品视频在线观看一区二区| 亚洲国产精品久久久久婷婷884| 久久免费少妇高潮久久精品99| 一区二区三区视频在线| 亚洲一区免费在线观看| 在线视频一区二区| 久久久久久香蕉网| 亚洲国内自拍| 欧美一级黄色录像| 亚洲精品亚洲人成人网| 欧美激情第1页| 久久狠狠久久综合桃花| 久久久av网站| 中文精品在线| 久久av资源网站| 亚洲国产精品免费| 香蕉久久夜色精品| 国产日韩欧美在线观看| 91久久一区二区| 红桃视频国产一区| 国模大胆一区二区三区| 亚洲男人的天堂在线aⅴ视频| 黑人巨大精品欧美黑白配亚洲| 亚洲欧洲在线视频| 国产乱理伦片在线观看夜一区| 欧美日韩一区二区免费视频| 91久久国产精品91久久性色| 欧美激情综合亚洲一二区| 国产日产欧美精品| 久久久综合视频| 国产精品日产欧美久久久久| 久久免费国产| 一本色道久久综合亚洲精品不卡| 国产精品久久久久免费a∨大胸| 欧美专区18| 亚洲一区二区在| 国产精品99久久久久久www| 国产九九精品视频| 国产亚洲综合在线| 国产精品色午夜在线观看| 老司机67194精品线观看| 亚洲美女免费视频| 亚洲人妖在线| 亚洲美女在线视频| 久久久久久香蕉网| 欧美14一18处毛片| 欧美精品1区| 欧美极品在线观看| 欧美啪啪一区| 欧美高清在线播放| 老司机午夜精品| 久久综合色天天久久综合图片| 免费人成网站在线观看欧美高清| 牛夜精品久久久久久久99黑人| 狠狠狠色丁香婷婷综合激情| 国产一区二区三区在线观看免费视频| av成人免费观看| 欧美精品免费观看二区| 一区二区三区四区五区精品| 国产精品扒开腿爽爽爽视频| 久久国产精品久久久久久| 国产欧美精品一区| 欧美v日韩v国产v| 国产精品久久久久三级| 91久久精品国产91性色tv| 在线播放国产一区中文字幕剧情欧美| 欧美日韩国产综合视频在线观看| 99xxxx成人网| 精品51国产黑色丝袜高跟鞋| 伊人蜜桃色噜噜激情综合| 欧美激情一区二区久久久| 国产伦精品一区二区三区高清| 国产精品国产精品| 女同性一区二区三区人了人一| 欧美激情2020午夜免费观看| 最新日韩在线视频| 欧美日韩高清在线播放| 欧美三级中文字幕在线观看| 久久综合一区| 亚洲一区二区三区高清| 欧美色图一区二区三区| 日韩网站在线看片你懂的| 国产一区二区三区直播精品电影| 欧美午夜理伦三级在线观看| 99成人精品| 欧美电影免费观看网站| 很黄很黄激情成人| 亚洲影院色无极综合| 99精品欧美一区二区三区综合在线| 最新日韩精品| 亚洲日韩中文字幕在线播放|