摘要、目錄、正文具體格式_第1頁
摘要、目錄、正文具體格式_第2頁
摘要、目錄、正文具體格式_第3頁
摘要、目錄、正文具體格式_第4頁
摘要、目錄、正文具體格式_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【摘要】目前擁有眾多用戶的校內(nèi)網(wǎng)提供了一個(gè)真實(shí)的網(wǎng)絡(luò)平臺(tái),供大家結(jié)交新友聯(lián)系老友。根據(jù)用戶填寫的學(xué)校信息,自動(dòng)提示用戶可能認(rèn)識(shí)的人,這方面很方便,然而校內(nèi)網(wǎng)缺少一種從好友中進(jìn)行日志搜索的機(jī)制,只能根據(jù)用戶名檢索用戶的日志?;谠L問控制的搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)可以實(shí)現(xiàn)權(quán)限搜索,此權(quán)限搜索可以在用戶的好友中進(jìn)行日志檢索.并且能夠?qū)崿F(xiàn)索引的動(dòng)態(tài)更新,使用戶能夠及時(shí)檢索出最新的日志,為用戶更好的交流提供了一條捷徑??梢愿鶕?jù)當(dāng)前用戶輸入的關(guān)鍵字,在用戶的好友范圍內(nèi)進(jìn)行相關(guān)日志搜索,既滿足了用戶需求,有不侵犯非好友的隱私。此系統(tǒng)的核心實(shí)現(xiàn)是關(guān)系矩陣的運(yùn)算,通過關(guān)系矩陣的運(yùn)算得出用戶的好友分層表。該系統(tǒng)利用Java語言在MyEclipse平臺(tái)上進(jìn)行開發(fā),采用現(xiàn)有的搜索引擎開發(fā)工具Lucene,使用了struts框架,借助Matlab工具,聯(lián)合SQLSERVER數(shù)據(jù)庫進(jìn)行開發(fā),采用B/S三層體系結(jié)構(gòu),將數(shù)據(jù)處理層、業(yè)務(wù)邏輯層、用戶表示層清晰分開。該系統(tǒng)能有效地幫助用戶搜索好友日志,以及更新用戶自己的日志信息,提供動(dòng)態(tài)索引,迅速檢索出新老日志,方便了用戶的交流?!娟P(guān)鍵詞】訪問控制;動(dòng)態(tài)更新;搜索;【寫作提示】摘要以最概括、最簡潔的語詞描述正文重要內(nèi)容的短文,是論文的內(nèi)容不加注釋和評(píng)論的簡短陳述,應(yīng)盡量反映論文的主要信息,內(nèi)容包括研究目的、方法、成果和結(jié)論,不含圖表,不加注釋,具有獨(dú)立性和完整性,即不閱讀報(bào)告、論文的全文,就能獲得必要的信息。摘要的內(nèi)容應(yīng)包含與報(bào)告、論文同等量的主要信息?!緦懽魈崾尽空獔?bào)道原文內(nèi)容要點(diǎn),內(nèi)容詳盡,基本能反映正文主要信息,一般可以代替閱讀正文。摘要并不是文章簡介,即用于指明文獻(xiàn)主題范圍及內(nèi)容梗概的閱讀導(dǎo)言,文章簡介的典型文體是:本文首先概述了……,接著介紹了……,……,最后給出了結(jié)論。需要避免這種寫法【寫作提示】中文摘要一般為400字左右。摘要前加黑體“摘要”,并外加“[]”,作為標(biāo)識(shí)。【寫作提示】關(guān)鍵詞是反映畢業(yè)論文(設(shè)計(jì))主題內(nèi)容的名詞,是供檢索使用的。主題詞條應(yīng)為通用技術(shù)詞匯,不得自造關(guān)鍵詞,盡量從《漢語主題詞表》中選用。關(guān)鍵詞一般為3—5個(gè),按詞條外延層次(學(xué)科目錄分類),由高至低順序排列,關(guān)鍵詞之間應(yīng)以分號(hào)隔開。關(guān)鍵詞排在摘要正文部分下方。

Abstract:Xiaoneiwhichispopularwithallofus,provideuswithatrueNetworkplatform.Onxiaoneiwecanmakefriendsandcontactwitholdfriendswhomwemaylosecontactwithforalongtime.Accordingtoyourregisterinformation,itcannoticeyouthatyoumayknowsomebody,whichisveryconvenientforus.XiaoneilacksofaMechanismofsearchlogfromfriends,Whilethissystemcanmakeupforthis.Thesystemcanalsorealizeupdatingindexdynamic,whichallowsuserstosearchtheatestlogsintime.Thismechanismprovidesashortcuttointeractwitheachother.earchingkeywordsamonglogsoftheuser’sfriendscanbothsatisfytheuser’demandandprotecttheother’sprivacy.Thecorerealizationofthesystemistheoperatorofthematrix,throughwhichtheuser'sfriendstieredtablecanbegot.Thedevelopingandrunningsoftwareenvironmentischoicedasfollowing:Javaasthedevelopingkit,MyEclipseastheplatform,Luceneasthesearchtool,Strutsastheframwork,MatlabasthetoolandSQLServer2000asthedatabase.ThesearchsystemofaccesscontrolbasedonLuceneAdoptsB/Sthree-tierarchitecture,makingthedataprocessinglayer,businesslogiclayerandresentationlayerareclearlydivided.Thesystemcanbeusedtosearchthelogoftheuser'sfriend'sandtoupdatetheuser'slog.Itcanalsoupdatetheindexdynamic,souserscanbeallowedtorapidlysearchoutthelatestlog,whichisconvenienttous.Keywords:Accesscontrol;Dynamicupdate;Search;Lucene【寫作提示】英文摘要、關(guān)鍵詞,內(nèi)容、格式與中文完全一致。英文摘要、關(guān)鍵詞前用加粗的“Abstract”和“Keywords”作為標(biāo)識(shí)?!緦懽魈崾尽坑捎诒磉_(dá)上的差異,英文摘要并不一定逐句直譯中文摘要。即使使用了機(jī)器翻譯工具,也請(qǐng)自己再從用詞、語法方面進(jìn)行把關(guān),不能將你的工作質(zhì)量完全交給機(jī)器。目錄TOC\o"1-3"\h\u1緒論 11.1本課題的研究意義及必要性 11.2相關(guān)領(lǐng)域國內(nèi)外應(yīng)用的現(xiàn)狀及發(fā)展趨勢(shì) 21.3Lucene中索引建立原理 32系統(tǒng)分析 52.1系統(tǒng)功能要求 52.2系統(tǒng)開發(fā)功能 52.3系統(tǒng)的可行性分析 63總體設(shè)計(jì) 73.1功能模塊劃分 73.2系統(tǒng)模塊設(shè)計(jì)圖 83.3系統(tǒng)流程圖 83.4開發(fā)工具和開發(fā)框架介紹 83.4.1Lucene介紹 83.4.2MATLAB介紹 103.4.3Struts框架介紹 104詳細(xì)設(shè)計(jì) 124.1各模塊的功能 124.1.1索引模塊 124.1.2檢索模塊 134.1.3前臺(tái)模塊 174.2系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì) 184.2.1數(shù)據(jù)庫表的結(jié)構(gòu) 184.2.2數(shù)據(jù)庫選擇及理由 195系統(tǒng)實(shí)現(xiàn) 205.1核心模塊實(shí)現(xiàn) 205.1.1索引模塊的實(shí)現(xiàn) 205.1.2數(shù)據(jù)導(dǎo)入導(dǎo)出 216綜合測(cè)試 236.1簡單功能實(shí)現(xiàn) 236.1.1登錄和注冊(cè)界面 236.1.2我的日志界面 236.2搜索功能實(shí)現(xiàn) 246.2.1檢索有關(guān)界面 24結(jié)束語 28致謝 29參考文獻(xiàn) 30附錄A部分代碼 32【寫作提示】上面的目錄是由word自動(dòng)生成的。前提是,你需要將正文中的各級(jí)標(biāo)題的樣式選擇為“標(biāo)題1”、“標(biāo)題2”或“標(biāo)題3”。當(dāng)你編輯好你的正文后,在前面的目錄中點(diǎn)擊右鍵,選擇“更新域”->“更新整個(gè)目錄”->“確定”。這樣做既省事,又能保證不會(huì)產(chǎn)生編輯錯(cuò)誤。另外,還便于在編輯中通過“視圖”菜單->“文檔結(jié)構(gòu)圖”,在編輯中查看到整個(gè)文檔的結(jié)構(gòu)?!緦懽魈崾尽勘A暨@一段后面的分節(jié)符,以保證正文開始頁碼是1。建議編輯時(shí),按下“常用”工具欄中的“顯示/隱藏編輯按鈕”,使分頁、分節(jié)等編輯符號(hào)可見(打印時(shí)不會(huì)出現(xiàn)),這樣有助于編輯工作的進(jìn)行。【寫作提示】感謝你響應(yīng)“低碳”號(hào)召而選擇“雙面打印”。如果“雙面打印”,請(qǐng)?jiān)凇拔募辈藛沃?,單擊“頁面設(shè)置”命令;單擊“頁邊距”選項(xiàng)卡,在“多頁”后的框中,單擊“對(duì)稱頁邊距”,確定“內(nèi)側(cè)”為2.5厘米和“外側(cè)”為2厘米。這樣在雙面打印時(shí),正面和反面的頁邊距可以對(duì)應(yīng)起來。另外,如果你的目錄頁不到1頁,請(qǐng)?jiān)诖颂幫ㄟ^插入分頁符,以保證第1章總是從正面開始的(翻一下任何一本書,沒有正文第1頁是從反面開始的。)煙臺(tái)大學(xué)文經(jīng)學(xué)院畢業(yè)論文(設(shè)計(jì))1緒論1.1本課題的研究意義及必要性【寫作提示】正文主體是論文的主要組成部分。要求層次清楚,文字簡練,通順,重點(diǎn)突出。論文主體的題序?qū)哟问潜WC文章結(jié)構(gòu)清晰、綱目分明的編輯手段,必須符合學(xué)術(shù)規(guī)范要求,并前后統(tǒng)一,不得混雜使用。我們所用的題題序?qū)哟螢椋海?)第一層次(章)題序和標(biāo)題居中放置,其余各層次(節(jié)、條、款)題序和標(biāo)題一律沿版面左側(cè)邊線頂格安排。(2)第一層次(章)題序和標(biāo)題距下文雙倍行距。第一層次(章)題序和標(biāo)題用小二號(hào)黑體字。題序和標(biāo)題之間空兩個(gè)字,不加標(biāo)點(diǎn),下同。第二層次(節(jié))題序和標(biāo)題用小三號(hào)黑體字。第三層次(條)題序和標(biāo)題用四號(hào)黑體字。第四層次及以下各層次題序及標(biāo)題一律用小四號(hào)黑體字。(3)結(jié)論(或結(jié)束語)作為單獨(dú)一章排列,但標(biāo)題前不加“第X章”字樣。結(jié)論是整個(gè)論文的總結(jié),應(yīng)以簡練的文字說明論文所做的工作,一般不超過兩頁?!緦懽魈崾尽可厦娴?章和第1.1節(jié)的樣式已經(jīng)分別設(shè)置為“標(biāo)題1”、“標(biāo)題2”,這是自動(dòng)生成目錄,以及使用“文檔結(jié)構(gòu)圖”的基礎(chǔ)。這樣做的好處還在于簡化排版、利于保持一致性等?!緦懽魈崾尽空挠盟误w小四號(hào)字,行間距18磅;最簡單的方法是,如果某段不符合上述要求,用“常用”工具欄中的“格式刷”,“刷”一下所要排版的段落即可?!緦懽魈崾尽烤w論是綜合評(píng)述前人工作,說明論文工作的選題目的和意義,國內(nèi)外文獻(xiàn)綜述,以及論文所要研究的內(nèi)容?!緦懽魈崾尽炕ヂ?lián)網(wǎng)時(shí)代不免要從網(wǎng)絡(luò)及電子書中“粘貼”一些文字來。注意復(fù)制來的文字要通過參考文獻(xiàn)注明出處,引用太過份就是抄襲了,后果很嚴(yán)重。粘貼來的文字是搞亂版式的罪魁禍?zhǔn)字?,建議一個(gè)技巧:將復(fù)制來的文字先粘貼到記事本中,去除所有的格式信息,再復(fù)制、粘貼到Word中來。WPS和高版本的Word也提供了不帶格式的粘貼,值得一用,免除后患。隨著信息科學(xué)的進(jìn)步和互聯(lián)網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)信息資源越來越豐富,網(wǎng)上信息呈爆炸性增長。面對(duì)無序、極其龐大的信息世界和成千上萬的超級(jí)鏈接,要在如此浩瀚的信息網(wǎng)絡(luò)空間里快速、準(zhǔn)確、經(jīng)濟(jì)地查找到所需要的信息,就像“大海撈針”一樣困難。搜索引擎則是解決這一難題的最佳途徑。搜索引擎,從字面上講,“搜索”是想辦法搜尋,“引擎”意為“力大無比的發(fā)動(dòng)機(jī)”。它是指因特網(wǎng)上專門提供查詢服務(wù)的一類網(wǎng)站,是一種利用網(wǎng)絡(luò)自動(dòng)搜索技術(shù),對(duì)因特網(wǎng)各種信息資源分門別類地進(jìn)行標(biāo)引建庫,能夠?qū)z索者提出的各種檢索查詢做出響應(yīng)的強(qiáng)有力的檢索工具。它是為滿足人們對(duì)網(wǎng)絡(luò)信息搜索需求應(yīng)運(yùn)而生的網(wǎng)絡(luò)工具,既是互聯(lián)網(wǎng)信息查詢的導(dǎo)航針,也是溝通用戶與網(wǎng)絡(luò)信息的重要橋梁。校內(nèi)網(wǎng)是目前網(wǎng)絡(luò)上存在的一個(gè)真實(shí)的網(wǎng)絡(luò)。它是一個(gè)真實(shí)的社交平臺(tái)。在這個(gè)平臺(tái)上,用戶不僅可以尋找自己的同學(xué)、朋友或是同事,還可以結(jié)識(shí)新的朋友,并把他們?cè)O(shè)置成為自己的好友。因此在校內(nèi)網(wǎng)上,用戶與用戶之間具有一個(gè)很復(fù)雜的關(guān)系網(wǎng)。對(duì)于單個(gè)用戶來講,每個(gè)用戶又有一個(gè)自己的好友關(guān)系網(wǎng)。校內(nèi)網(wǎng)為用戶提供了發(fā)表日志的功能,使得在校內(nèi)網(wǎng)這個(gè)平臺(tái)上存在著大量的日志信息。而校內(nèi)網(wǎng)的開發(fā)者為用戶提供的搜索功能是以單個(gè)用戶為單位的,也就是用戶想查看另一個(gè)用戶的日志,只能是先搜索到該用戶,進(jìn)入到該用戶的頁面,然后才能瀏覽該用戶的日志信息。實(shí)際上,像這樣的搜索日志的搜索引擎,用戶沒有主動(dòng)權(quán)。用戶只能是被動(dòng)瀏覽其他用戶的日志信息,即,另一個(gè)用戶的頁面上有哪些日志,該用戶就瀏覽這些日志。而用戶如果想要查看與某一關(guān)鍵字相關(guān)的一組日志,可見校內(nèi)網(wǎng)上的搜索引擎是很難為用戶實(shí)現(xiàn)這個(gè)功能的。于是我們?cè)O(shè)計(jì)了一個(gè)與校內(nèi)網(wǎng)搜索功能不同的搜索引擎。該搜索引擎打破了以單個(gè)用戶為單位這個(gè)局限,可以使用戶直接輸入關(guān)鍵字進(jìn)行檢索相關(guān)的日志。不過,用戶并不是可以檢索到所有存在在校內(nèi)網(wǎng)上的相關(guān)日志,而是只可在自己的好友關(guān)系網(wǎng)內(nèi)檢索相關(guān)的日志。通過用戶的好友關(guān)系來限定用戶的檢索范圍,控制了用戶的訪問權(quán)限。1.2相關(guān)領(lǐng)域國內(nèi)外應(yīng)用的現(xiàn)狀及發(fā)展趨勢(shì)從出現(xiàn)第一個(gè)搜索引擎至今,搜索引擎技術(shù)已獲得了飛速的發(fā)展,現(xiàn)在的搜索引擎功能越來越強(qiáng)大,提供的服務(wù)也越來越全面,它們的目標(biāo)不僅僅是提供單純的查詢功能,而是把自己發(fā)展成為用戶首選的Internet入口站點(diǎn)。國內(nèi)的搜索引擎大都是基于中文的搜索引擎,中文搜索引擎是以網(wǎng)絡(luò)上的中文信息為主要對(duì)象,提供信息的自動(dòng)收集、過濾、索引和檢索導(dǎo)航等服務(wù)的搜索引擎。根據(jù)是否采用詞語切分技術(shù),中文搜索引擎可分為基于字的搜索引擎和基于詞的搜索引擎?;谧值乃阉饕鎸⑽恼轮械拿恳粋€(gè)漢字都錄入到索引庫中,用戶的檢索提問根據(jù)單漢字匹配的原則去檢索,此法的優(yōu)點(diǎn)是能夠保證很高的查全率,但查準(zhǔn)率低;基于詞的搜索引擎則是按詞建庫,當(dāng)然這種詞語是按一定的規(guī)則與方法對(duì)文章切詞得來的,其優(yōu)點(diǎn)是擁有較高的查準(zhǔn)率,用戶檢索時(shí)往往能一次命中,缺點(diǎn)是對(duì)切詞技術(shù)要求高。與國外搜索引擎相比,國內(nèi)搜索引擎起步較晚。由于中文信息處理較英文信息更為復(fù)雜,中文搜索引擎的研制也是最近幾年剛剛興起,但其發(fā)展卻十分迅速。目前國內(nèi)常用的搜索引擎有Google,百度,中國搜索,Yahoo搜索,Sogou等。目前搜索引擎處于高速發(fā)展的階段,其總體的發(fā)展趨向如圖1.1所示?!緦懽魈崾尽看颂幊霈F(xiàn)了本文中的第一張圖。插圖要精選。圖序逐章單獨(dú)編序(如第1章5個(gè)圖,編號(hào)為圖1.1到圖1.5;第2章4個(gè)圖,編號(hào)為圖2.1到圖2.4),依此類推。某章僅有一圖時(shí),也要寫清圖序。由若干個(gè)分圖組成的插圖,分圖用a,b,c,……標(biāo)出。每一圖都要有圖標(biāo)題,圖序和圖標(biāo)題置于圖下方中間位置,圖序和圖標(biāo)題中間要有兩個(gè)空格?!緦懽魈崾尽坑袝r(shí)候圖的位置不當(dāng)可能會(huì)使某頁下端留下大片空白。如果出現(xiàn)這種情況,可以適當(dāng)調(diào)整圖和文字的相對(duì)位置,即:并不一定要“如圖1.1”后馬上出現(xiàn)圖,只要在附近,便于讀者看到就行。圖序、標(biāo)題一定要在圖下方,且在同一頁。圖1.1搜索引擎的發(fā)展趨向【寫作提示】圖中文字的字號(hào)要比正文中字號(hào)小半號(hào),例如,正文中的文字用小四號(hào),圖中的文字用五號(hào)字。每幅圖在正文中均應(yīng)明確提及,例:圖1.3中所示、(見圖1.3)等。大多數(shù)時(shí)候,在正文中需要用文字對(duì)圖進(jìn)行簡要說明。為用戶提供了一個(gè)真正個(gè)性化、智能化的網(wǎng)絡(luò)工具,是目前搜索引擎的發(fā)展趨勢(shì)。它可以通過自然語言與用戶交互。采取諸如語義網(wǎng)絡(luò)等智能技術(shù),通過漢語分詞、句法分析以及統(tǒng)計(jì)理論有效地理解用戶的請(qǐng)求,甚至能體會(huì)出用戶的弦外之音,最大限度地了解用戶的需求。智能檢索可以從兩個(gè)層面上進(jìn)行理解:一是搜索引擎檢索技術(shù)的智能化。二是搜索引擎面向檢索者的智能化。通過這兩個(gè)方面的結(jié)合可以改進(jìn)搜索引擎的檢索質(zhì)量。促進(jìn)搜索引擎的本土化、結(jié)構(gòu)化、個(gè)性化,個(gè)性化搜索是將搜索建立在個(gè)性化的搜索環(huán)境之上,通過對(duì)用戶的不斷了解、分析,使得個(gè)性化搜索更符合每個(gè)人的需求;結(jié)構(gòu)化搜索是指充分利用XML等技術(shù)使信息結(jié)構(gòu)化,同時(shí)使查詢結(jié)構(gòu)化,從而使搜索的準(zhǔn)確度大大提高;本土化搜索是指搜索引擎的搜索要符合當(dāng)?shù)赜脩舻男枨蟆?傊阉饕娼窈蟮陌l(fā)展趨勢(shì)是從單一查詢工具向綜合化、全功能服務(wù)發(fā)展;分類主題一體化,檢索語言向自然語言發(fā)展;查詢智能化;檢索搜索規(guī)則趨于統(tǒng)一;采取多種措施提高查全率和查準(zhǔn)率;檢與索的界限將消失;向多國化和多語種化發(fā)展??傊窈蟮乃阉饕鎸?huì)更加方便利用,用戶將有更多的選擇,可以根據(jù)需要擴(kuò)大或縮小檢索范圍;有輔助檢索工具,如主題詞表,利用它進(jìn)行交互式提問;可以幫助用戶選擇檢索表達(dá)式,確定檢索范圍;除了被動(dòng)地接受用戶的查詢請(qǐng)求外,搜索引擎也可以利用智能代理技術(shù)進(jìn)行主動(dòng)的信息檢索;可根據(jù)用戶事先定義的信息檢索要求,在網(wǎng)絡(luò)上隨時(shí)監(jiān)視信息源,如指定的網(wǎng)頁、新聞組、電子郵件、數(shù)據(jù)庫信息的變化等,并將用戶所需的信息通過Push技術(shù)、電子郵件或其他方式,主動(dòng)提供給用戶,用戶無須反復(fù)地搜索所需信息,大大減少了用戶的檢索時(shí)間。近年來國外一些網(wǎng)絡(luò)企業(yè)也開始瞄準(zhǔn)中國互聯(lián)網(wǎng)這一潛在的巨大市場(chǎng),先后推出了一些文版的搜索引擎。1.3Lucene中索引建立原理【寫作提示】有些同學(xué)在標(biāo)題行后愿意加標(biāo)點(diǎn),如“1.3Lucene中索引建立原理?!被颉?.3Lucene中索引建立原理:”。這是不合規(guī)范要求的。注意:標(biāo)題行后不加任何標(biāo)點(diǎn)。索引建立過程是搜索系統(tǒng)的核心部分之一。索引建立過程是將普通的文檔形式轉(zhuǎn)化為倒排表,并存儲(chǔ)成倒排文件的過程。普通文檔集合用Doc->Term1,Term2,Term3...這種形式描述,Doc表示文檔信息,Term認(rèn)為是不可再進(jìn)行切分的關(guān)鍵詞,而倒排表,則是用Term1->Doc,Term2->Doc,Term3->Doc...這種形式描述的,考慮到關(guān)鍵字在標(biāo)題和內(nèi)容中出現(xiàn)時(shí)體現(xiàn)得重要性應(yīng)該不同,所以在建立索引時(shí),可以賦予標(biāo)題閾值更大一些。索引過程中最重要的一個(gè)階段是文檔的倒排。因?yàn)樗?fù)責(zé)調(diào)用底層分析器的接口,來對(duì)數(shù)據(jù)源進(jìn)行分析,并統(tǒng)計(jì)詞條的位置和頻率信息,創(chuàng)建出倒排文件。記錄詞條的位置信息是為快速查找詞條服務(wù)的,而記錄詞條的頻率信息是為設(shè)定文檔的權(quán)重服務(wù)的,而權(quán)重又是排序的依據(jù)。索引建立過程如圖1.2所示。原始文檔原始文檔分詞處理原始文檔Doc1->Content1Doc2->Content2正排表Doc1Term1,Term2,Term3,Term4去掉停止詞倒排表Term1->Doc1,Score1Term2->Doc2,Score2內(nèi)存中的倒排表Term1->File1,StartPos1,Offset1Term2->File2,StartPos2,Offset2倒排文件Doc1Score1Doc2Score2停止詞“的”“是”“而且”“但是”“the”“a”圖1.2索引的過程【寫作提示】用word做圖后,將圖文框等組合起來,將其環(huán)繞方式設(shè)為“上下型”。這將有助于消除圖片“亂竄”的可惡現(xiàn)象?!緦懽魈崾尽恳_始下一章了,插入一個(gè)“分頁符”。這樣做的原因有:(1)每一章從新的一頁開始,這是學(xué)術(shù)規(guī)范的要求。(2)分若干空行也能讓下一章從新的一頁開始,但如果在之前增加或減少一些文字后,你將不得不……(你能想到由此帶來的麻煩!)

2系統(tǒng)分析2.1系統(tǒng)功能要求本課題旨在開發(fā)一個(gè)與校內(nèi)網(wǎng)上提供的搜索引擎不同的搜索引擎,該搜索引擎允許用戶直接輸入關(guān)鍵字進(jìn)行檢索相關(guān)的日志。為使用戶能方便、高效、快捷地檢索日志信息,該搜索引擎不僅為提供了簡單檢索的功能,還為用戶提供了高級(jí)檢索的功能,用戶輸入想要查找的人的用戶名,就可以搜索出此用戶好友范圍內(nèi)的所有使用此用戶名的人的日志。因?yàn)樾?nèi)網(wǎng)是一真實(shí)的網(wǎng)絡(luò)平臺(tái),為了不破壞其中的資源,我們以校內(nèi)網(wǎng)為背景,模擬了一個(gè)校內(nèi)網(wǎng)數(shù)據(jù)庫資源。數(shù)據(jù)庫中存有用戶的信息、用戶之間的好友關(guān)系網(wǎng)和用戶發(fā)表的日志信息。為更好地體現(xiàn)搜索引擎的功能,我們把搜索引擎運(yùn)用到一個(gè)實(shí)際的系統(tǒng)中。用戶可以注冊(cè)到該系統(tǒng)上,然后登錄該系統(tǒng)。登錄成功之后,用戶可查看自己的日志信息,并可發(fā)表新的日志、編輯日志和刪除日志。如果用戶想查看某一組相關(guān)的日志,用戶可利用該搜索引擎進(jìn)行簡單檢索或是高級(jí)檢索,該系統(tǒng)會(huì)把相關(guān)的日志信息友好地顯示給用戶。由于每位用戶都有自己的好友關(guān)系網(wǎng),因此用戶利用搜索引擎檢索到的日志信息并不是所有存在校內(nèi)網(wǎng)上的跟關(guān)鍵字相關(guān)的日志,而是從用戶的好友發(fā)表的日志中檢索出來的與關(guān)鍵字相關(guān)的日志。如果兩個(gè)用戶之間沒有直接或是間接的好友關(guān)系,那么這兩個(gè)用戶就不能相互查看對(duì)方的日志信息。也就是對(duì)于不同的用戶來講,如果利用相同的關(guān)鍵字進(jìn)行檢索,檢索到的結(jié)果是不相同的。檢索到的結(jié)果與用戶的好友關(guān)系網(wǎng)緊密相關(guān)。2.2系統(tǒng)開發(fā)功能因?yàn)樾?nèi)網(wǎng)是一個(gè)保存用戶信息的網(wǎng)絡(luò),其內(nèi)在機(jī)制使其不能像其他網(wǎng)頁一樣可以通過網(wǎng)絡(luò)爬蟲進(jìn)行頁面收集,而本系統(tǒng)要想達(dá)到基于權(quán)限的搜索這個(gè)目的,必須獲取用戶信息,由于要引用第三方網(wǎng)站的大量信息,這需要得到網(wǎng)站的授權(quán),況且這些信息都是用戶的隱私信息,校內(nèi)網(wǎng)系統(tǒng)不可能允許我們獲取,最終決定模擬這樣一個(gè)校內(nèi)網(wǎng)系統(tǒng),建立一個(gè)數(shù)據(jù)庫來存儲(chǔ)模擬的信息,并把搜索引擎運(yùn)建立在該系統(tǒng)之內(nèi),模擬成一個(gè)校內(nèi)網(wǎng)。因此該系統(tǒng)要實(shí)現(xiàn)的功能有:(1)數(shù)據(jù)庫的設(shè)計(jì)數(shù)據(jù)庫包括注冊(cè)用戶的資料、用戶之間的關(guān)系和用戶發(fā)表的日志。(2)實(shí)現(xiàn)動(dòng)態(tài)索引[3]為提高檢索的效率,要為用戶發(fā)表的日志創(chuàng)建索引。用戶會(huì)不斷地更新自己的日志信息,因此索引要進(jìn)行動(dòng)態(tài)的變化,才能滿足用戶高效檢索的需要。(3)實(shí)現(xiàn)簡單檢索和高級(jí)檢索用戶直接輸入關(guān)鍵字進(jìn)行檢索可利用簡單檢索功能。若是要檢索的結(jié)果更精確,比如要求檢索某個(gè)人的日志,則可利用高級(jí)檢索功能。(4)前臺(tái)設(shè)計(jì)前臺(tái)主要是作為用戶顯示檢索結(jié)果之用的。不僅如此,前臺(tái)還包括用戶的注冊(cè)、登錄和更新自己的日志信息等其他設(shè)計(jì)。2.3系統(tǒng)的可行性分析目前,在校內(nèi)網(wǎng)用戶只能是被動(dòng)地去瀏覽其他用戶的日志信息,而不能主動(dòng)去檢索自己所需的日志信息,因此本系統(tǒng)的開發(fā)是很有必要的。因此本課題采用java作為開發(fā)語言,在MyEclipse5.5環(huán)境下進(jìn)行開發(fā)。java是一種面向?qū)ο蟮男乱淮幊陶Z言,具有簡單、安全、穩(wěn)定、可靠、跨平臺(tái)等優(yōu)點(diǎn),可在各種不同機(jī)器、操作系統(tǒng)的環(huán)境下進(jìn)行開發(fā),同時(shí)具有解釋型語言和編譯型語言的特性。Java的諸多優(yōu)點(diǎn)使得它非常適合于Web應(yīng)用程序設(shè)計(jì)。而Lucene具有良好的可擴(kuò)展性能,允許我們根據(jù)需要在其提供的板塊上進(jìn)行擴(kuò)展來滿足各自不同的需求,因此本系統(tǒng)中的搜索引擎是在Lucene包的基礎(chǔ)上實(shí)現(xiàn)的。其中為用戶的日志創(chuàng)建索引是利用Lucene的索引功能實(shí)現(xiàn)。檢索部分是對(duì)Lucene檢索部分的擴(kuò)展,比如對(duì)Lucene默認(rèn)的評(píng)分機(jī)制進(jìn)行了改進(jìn)、對(duì)Lucene中提供的查詢方式按需進(jìn)行了重組、使用了Lucene最新的中文分詞方法等。在實(shí)現(xiàn)檢索功能時(shí)要考慮用戶的好友關(guān)系,根據(jù)用戶的好友關(guān)系來確定檢索的范圍。

3總體設(shè)計(jì)3.1功能模塊劃分根據(jù)該系統(tǒng)的實(shí)際需要,實(shí)現(xiàn)起來大致可分為以下幾個(gè)方面:(1)創(chuàng)建主索引此部分主要負(fù)責(zé)對(duì)數(shù)據(jù)庫中已經(jīng)存在的日志建立主索引。(2)創(chuàng)建附加索引對(duì)于用戶新發(fā)表的日志需要先插入數(shù)據(jù)庫,成功后需要為日志建立索引,而主索引龐大不易更改,此處的將新日志添加到附加索引中,當(dāng)附加 索引中的文檔數(shù)目達(dá)到一定值時(shí)將與主索引進(jìn)行合并。(3)檢索功能此部分主要有兩個(gè)方法,根據(jù)用戶輸入關(guān)鍵字進(jìn)行檢索和根據(jù)用戶輸入的好友名進(jìn)行檢索。二者都要考慮用戶的好友分層表。(4)結(jié)果處理和顯示把檢索的結(jié)果經(jīng)評(píng)分機(jī)制處理后友好的地顯示給用戶。(5)用戶注冊(cè)、登錄和更新自己的的日志信息。(6)數(shù)據(jù)庫的設(shè)計(jì)基于Lucene的訪問控制搜索系統(tǒng)基于Lucene的訪問控制搜索系統(tǒng)索引的實(shí)現(xiàn)檢索的實(shí)現(xiàn)前臺(tái)設(shè)計(jì)主索引的實(shí)現(xiàn)附加索引的實(shí)現(xiàn)輸入語句的解析好友層次表的生成用戶更新日志用戶登錄注冊(cè)檢索結(jié)果的顯示評(píng)分機(jī)制的改進(jìn)圖3.1系統(tǒng)模塊圖3.2系統(tǒng)模塊設(shè)計(jì)圖根據(jù)以上功能模塊的劃分,可得出系統(tǒng)的模塊設(shè)計(jì)圖,如圖3.1所示。索引實(shí)現(xiàn)部分,其中主索引的實(shí)現(xiàn)模塊負(fù)責(zé)對(duì)數(shù)據(jù)庫中已經(jīng)存在的日志信息建立索引,建立主索引的倒排表,所建立的主索引文件會(huì)很龐大。附加倒排索引主要是對(duì)用戶新插入的日志信息進(jìn)行索引,建立倒排表,當(dāng)附加索引表中文件的數(shù)目達(dá)到一定值時(shí),自動(dòng)與主索引合并,然后清空附加索引,這樣做主要是為了實(shí)現(xiàn)動(dòng)態(tài)索引,因?yàn)閯?dòng)態(tài)索引文件小,添加和刪除比主索引方便的多。檢索實(shí)現(xiàn)部分,其中的輸入語句解析負(fù)責(zé)對(duì)用戶輸入的字符串進(jìn)行解析,得出關(guān)鍵字,為下一步的檢索做好準(zhǔn)備,好友層次表的生成模塊主要負(fù)責(zé)根據(jù)不同的用戶得出他的三層好友列表。為要進(jìn)行的檢索提供范圍。評(píng)分機(jī)制的改進(jìn)主要是考慮用戶的好友所在的層次,根據(jù)層次不同給予不同的因子,使得好用關(guān)系可以體現(xiàn)出來。前臺(tái)設(shè)計(jì)部分,用戶注冊(cè)之后才可以登錄,登錄之后用戶可以對(duì)自己的日志進(jìn)行查看,和編輯,即增刪改,并且可以立即查看編輯后的結(jié)果。檢索結(jié)果的顯示負(fù)責(zé)把處理后的結(jié)果交給前臺(tái),由前臺(tái)按照需要顯示出來。3.3系統(tǒng)流程圖系統(tǒng)的整個(gè)流程是這樣的:用戶首先注冊(cè),在登錄成功后進(jìn)入檢索界面,同時(shí),服務(wù)器根據(jù)用戶登錄時(shí)的id號(hào),調(diào)用函數(shù)得到用戶的好友分層表,當(dāng)用戶輸入要檢索的字符串時(shí),首先由lucene分詞器進(jìn)行分詞,得到要檢索的關(guān)鍵字,然后結(jié)合用戶的好友分層表得到檢索項(xiàng),首先判斷附加倒排索引中是否有記錄,如果有,先到附加倒排索引中檢索,后到主索引中檢索,否則,直接到主索引中檢索,因?yàn)橛脩糇铌P(guān)心的往往是最新的日志信息,所以首先檢索附加倒排索引,根據(jù)檢索結(jié)果得分,結(jié)合用戶的好友分層表,為不同層次的好友日志得分乘以一個(gè)因子(此因子只與日志的作者層次有關(guān)),得到每篇日志的更新分?jǐn)?shù),再根據(jù)次分?jǐn)?shù)進(jìn)行排序,將結(jié)果從高分到低分輸出。檢索的流程圖如下圖3.2所示。3.4開發(fā)工具和開發(fā)框架介紹3.4.1Lucene介紹Lucene是一個(gè)用Java語言編寫的、開源的、高性能可擴(kuò)展的全文索引引擎工具包,它可以方便的嵌入到各種應(yīng)用中以實(shí)現(xiàn)全文索引/檢索功能。Lucene最基本的搜索工具是IndexSearcher,Lucene主要有兩種搜索方式:一種是默認(rèn)的搜索,另一種還要對(duì)搜索結(jié)果進(jìn)行特定的排序處理。Lucene具有如下優(yōu)點(diǎn):(1)定義了一個(gè)與平臺(tái)無關(guān)的索引文件格式,使得不同平臺(tái)的應(yīng)用能夠共享建立的索引文件;(2)在傳統(tǒng)全文檢索引擎的倒排索引的基礎(chǔ)上,實(shí)現(xiàn)了分塊索引,能夠針對(duì)新的文件先建立小文件索引再與原有索引合并,提升了索引速度;圖3.2檢索流程圖(3)設(shè)計(jì)了獨(dú)立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創(chuàng)立,用戶擴(kuò)展新的語言和文件格式,只需要實(shí)現(xiàn)文本分析的接口;(4)已經(jīng)默認(rèn)實(shí)現(xiàn)了一套強(qiáng)大的查詢引擎,默認(rèn)實(shí)現(xiàn)了布爾操作、模糊查詢、分組查詢等。3.4.2MATLAB介紹MATLAB是目前流行、應(yīng)用廣泛的科研計(jì)算軟件,強(qiáng)大的數(shù)據(jù)處理能力和豐富的工具箱使其編程極為簡單,提供靈活的程序設(shè)計(jì)流程、便捷的與其他程序和語言接口的功能,因此也無可爭議的成為當(dāng)今科學(xué)界最具影響力、也最有活力的軟件,在各科研領(lǐng)域發(fā)揮重要的作用。功能強(qiáng)大的MATLAB提供了數(shù)據(jù)庫接口和java接口,能夠處理數(shù)據(jù)庫語言,提供了javabuilderJA編譯器,能夠?qū)?m文件打包后編譯成class包,供java調(diào)用,這樣三者能夠聯(lián)合起來完成我們所需的功能。3.4.3Struts框架介紹Struts是用來建立基于Java的WEB應(yīng)用的首選框架,它基于MVC設(shè)計(jì)模式。MVC體系結(jié)構(gòu)包含三種組件,分別是模型組件、視圖組件和控制器組件。(1)模型組件(Model)模型是應(yīng)用中最重要的一部分,它包含了業(yè)務(wù)實(shí)體和業(yè)務(wù)規(guī)則,負(fù)責(zé)訪問和更新持久化數(shù)據(jù),提供應(yīng)用使用的數(shù)據(jù)和服務(wù)的接口。所有模型組件應(yīng)當(dāng)放在系統(tǒng)中同一位置,有利于維護(hù)數(shù)據(jù)的完整性,減少數(shù)據(jù)冗余提高可重用性。模型應(yīng)該和視圖和控制器之間保持獨(dú)立。(2)視圖組件(View)視圖組件用來產(chǎn)生到瀏覽器的應(yīng)答,通常而言就是簡單的JSP或HTML頁面。不同的系統(tǒng)也可使用不能的視圖技術(shù)。Struts視圖主要由JSP網(wǎng)頁構(gòu)成,并提供Struts標(biāo)簽和ActionFormBean,提供對(duì)國際化、接受用戶輸入表單數(shù)據(jù)、表單驗(yàn)證和錯(cuò)誤處理等的支持,使開發(fā)者把精力專注到開發(fā)業(yè)務(wù)需求上。MVC框架結(jié)構(gòu)圖如圖3.3所示。圖3.3MVC框架圖控制器組件(Servlet)是一個(gè)典型的Servlet,為應(yīng)用接受請(qǐng)求,管理在模型層和視圖層之間的數(shù)據(jù)流。因此他控制著模型層與視圖層交互的方式??刂破鹘?jīng)常使用幫助器類來代表對(duì)特定請(qǐng)求或過程的控制。(3)控制器組件(Controller)MVC體系結(jié)構(gòu)的核心是控制器組件。在MVC體系結(jié)構(gòu)中,中心Servlet稱為控制器(Controller)負(fù)責(zé)接受應(yīng)用的所有請(qǐng)求。接著控制器處理這些請(qǐng)求,與模型(Model)共同工作,為視圖(View,通常是JSP)準(zhǔn)備任何需要的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)發(fā)給JSP。然后JSP利用控制器準(zhǔn)備的這些數(shù)據(jù)為瀏覽器產(chǎn)生應(yīng)答。在這種體系結(jié)構(gòu)中,業(yè)務(wù)邏輯與表現(xiàn)邏輯彼此分離。業(yè)務(wù)代碼與表現(xiàn)代碼的分離,給應(yīng)用提供了多種多樣的接口,以及優(yōu)秀的代碼復(fù)用性。

4詳細(xì)設(shè)計(jì)4.1各模塊的功能此系統(tǒng)由三名同學(xué)一起完成,本人主要負(fù)責(zé)訪問控制檢索部分,其它模塊只做簡單介紹,詳細(xì)介紹本人所做部分。最基本的索引建立時(shí)這樣的,首先建立檢索域,定義此域的屬性:域名、值、是否存儲(chǔ)、是否索引,以及索引時(shí)是否分詞。其次建立document,把所建立的域加入到document中,然后再建立IndexWriter實(shí)例,把document加入到IndexWriter中即可。此處采用的是在多個(gè)索引上建立多域檢索,多個(gè)索引是指主倒排索引和附加倒排索引,多域是指在標(biāo)題域和內(nèi)容域中同時(shí)進(jìn)行模糊檢索(無論關(guān)鍵字在標(biāo)題還是在內(nèi)容中出現(xiàn),都能夠檢索到)。4.1.1索引模塊(1)為用戶的日志創(chuàng)建主索引假定初始情況系統(tǒng)中存在少量的用戶日志,創(chuàng)建主索引,即是對(duì)現(xiàn)存的日志進(jìn)行分析,創(chuàng)建出索引文件。(2)為用戶更新的日志創(chuàng)建附加索引當(dāng)數(shù)據(jù)庫中有大量的日志時(shí),每次創(chuàng)建主索引會(huì)消耗很長的時(shí)間,為提高系統(tǒng)的效率,又采用了附加索引。附加索引的結(jié)構(gòu)與主索引的結(jié)構(gòu)完全相同,因?yàn)楫?dāng)附加索引中文檔的數(shù)量達(dá)到一定的值時(shí),附加索引要與主索引進(jìn)行合并。發(fā)表日志:這篇日志插入到數(shù)據(jù)庫中,成功后再在附加索引中為這篇日志建立索引,否則,不在索引中添加此日志信息。刪除日志:把這篇日志從數(shù)據(jù)庫中刪除,刪除成功后根據(jù)返回的日志號(hào)從附加索引或主索引中中刪除此日志的索引信息。編輯日志:更新數(shù)據(jù)庫中的這篇日志,對(duì)索引來說實(shí)質(zhì)是先刪除再添加的過程,從附加索引或主索引中刪除此篇日志的索引,然后為修改之后的日志創(chuàng)建索引,并插入臨時(shí)索引表中。圖4.1索引模塊圖(3)索引模塊和用例圖在我的日志模塊中,包括三個(gè)子模塊:用戶添加新日志、刪除日志、編輯日志,這三個(gè)功能都需要與修改索引文件,主的用例圖如圖4.1所示。4.1.2檢索模塊(1)檢索過程指定檢索文件指定檢索字段指定檢索文件指定檢索字段輸入的檢索詞好友分層表MIK_CAnalyzer分詞器分詞檢索出關(guān)鍵字進(jìn)行檢索返回檢索結(jié)果Hits結(jié)合分層表,改進(jìn)評(píng)分機(jī)制返回最終結(jié)果讀取結(jié)果條目的內(nèi)容指定要讀取的文檔字段圖4.2檢索過程圖具體地,檢索過程分以下幾步:①形成檢索關(guān)鍵字根據(jù)用戶輸入的短語進(jìn)行分詞,此處采用的是lucene自帶的新型的分詞器IKAnalyzer,它的分析方法是字典分詞,采用正反雙向搜索,它有兩個(gè)主類:IK_CAnalyzer和MIK_CAnalyzer,檢索時(shí)采用的是后者,前者切詞粒度小,適合用于建立索引時(shí),后者適合用于檢索時(shí),這樣檢索時(shí)能切分出的關(guān)鍵字一定能在索引中查找到。②生成檢索范圍內(nèi)的分層好友表有以下三種方案可以得到用戶的好友分層表,本人嘗試了后兩種方案:自己建立數(shù)據(jù)結(jié)構(gòu),來實(shí)現(xiàn)稀疏矩陣的乘法?;趫D的廣度優(yōu)先遍歷。優(yōu)點(diǎn):簡單,缺點(diǎn):需要多次查詢數(shù)據(jù)庫,效率低,耗時(shí)長。借助矩陣運(yùn)算工具M(jìn)ATLAB。考慮到用戶之間的關(guān)系是無向網(wǎng)狀圖,可以表示成一個(gè)一個(gè)二維矩陣,為提高處理數(shù)據(jù)的效率,在處理用戶的關(guān)系時(shí)借助了MATLAB軟件。三種算法的比較:圖的廣度優(yōu)先遍歷,實(shí)現(xiàn)簡單耗時(shí)長,而搜索時(shí)間長往往是用戶最不愿忍受的,效率低。自己建立數(shù)據(jù)結(jié)構(gòu),需要從數(shù)據(jù)庫中的好友表,即二維關(guān)系表中抽取數(shù)據(jù)建立好友關(guān)系的稀疏矩陣,這個(gè)過程必須逐條讀取記錄中的元素,而這個(gè)表是相當(dāng)龐大的,此過程會(huì)很耗時(shí),數(shù)據(jù)庫的壓力也會(huì)很大,而且每一次用戶登錄都要由服務(wù)器運(yùn)行廣度優(yōu)先遍歷算法,逐個(gè)生成其好友層次表,如果訪問人很多,此過程將會(huì)帶給服務(wù)器很大的壓力,考慮到稀疏矩陣的乘法也不是很容易實(shí)現(xiàn),此方案不好。由于用戶之間的好友關(guān)系可以表示成一個(gè)稀疏矩陣,MATLAB能夠支持稀疏矩陣的存儲(chǔ)和運(yùn)算,能夠經(jīng)過三次讀取數(shù)據(jù)庫就可以生成稀疏矩陣,且過程相當(dāng)簡單,其內(nèi)部機(jī)制能夠便捷的處理稀疏矩陣的乘法運(yùn)算,從而可以快捷的生成用戶的好友層次表,并能提供java接口,java可以輕松調(diào)用MATLAB中的函數(shù),得到用戶好友層次表,鑒于MATLAB的種種優(yōu)點(diǎn),使用MATLAB軟件提高了系統(tǒng)實(shí)現(xiàn)的可行性,決定采用第三種方案。③進(jìn)行檢索,生成初步檢索結(jié)果調(diào)用matlab中的函數(shù),根據(jù)用戶的id,得到當(dāng)前用戶的好友表,將不同層次的好友分層存放。形成根據(jù)好友分層表生成檢索項(xiàng)。根據(jù)前面的關(guān)鍵字和好友分層表得到布爾檢索項(xiàng),在搜引中進(jìn)行檢索。④檢索結(jié)果處理。根據(jù)檢索結(jié)果,結(jié)合用戶的好友關(guān)系表重新對(duì)日志的得分乘以不同的因子[6][7],得到結(jié)合此用戶好友關(guān)系的得分表,據(jù)此進(jìn)行排序輸出。(2)檢索模塊檢索模塊包括兩大部分:簡單檢索和高級(jí)檢索,兩種檢索方式都需要調(diào)用生成好友關(guān)系的用例,同時(shí)還要使用索引文件,索引模塊的用例圖如圖4.3所示。圖4.3索引模塊用例圖(3)好友分層表的生成矩陣生成算法思想:從登錄者開始,仿照廣度優(yōu)先遍歷思想,如果某個(gè)用戶處在多個(gè)不同層次上,則取最小層作為此用戶在登錄者好友表中的最終層次。比如A是B的二層好友,也是B的三層好友,則將A歸到B的二層好友矩陣中。按此方法形成用戶的好友層次表。算法證明:MATLAB中形成稀疏鄰接對(duì)稱矩陣,結(jié)合實(shí)際情況,是一個(gè)對(duì)角線元素全為0的0-1矩陣,因?yàn)椴淮嬖谧苑搓P(guān)系(自己與自己是好友),所以對(duì)角線上元素全為0,如果兩個(gè)人是好友則相應(yīng)位置置1,否則寫0。以下論證:第n層好友關(guān)系,有: (4.1) (4.2)【寫作提示】公式最好用“公式編輯器”或“Mathtype”等工具編寫。公式變量用斜體,矢量、張量、矩陣為斜體加粗?!緦懽魈崾尽空撐闹兄匾幕蛘吆笪闹许氈匦绿峒暗墓綉?yīng)注序號(hào)并加圓括號(hào),序號(hào)逐章編序(如(4.10)),序號(hào)排在版面右側(cè),且距右邊距離相等。公式與序號(hào)之間不加虛線。其中表示將矩陣對(duì)角線元素置0,表示將矩陣非零元素置1,表示矩陣對(duì)應(yīng)元素做乘積,表示矩陣乘法,是第層好友關(guān)系鄰接矩陣,是處理后(對(duì)角線元素全為0的0-1矩陣)的第層好友關(guān)系鄰接矩陣(),則。用歸納法證明。當(dāng)時(shí),由離散數(shù)學(xué)知識(shí)可知得到二次可達(dá)矩陣(其中包括一層和二層都可達(dá)的矩陣以及純二層可達(dá)矩陣,還有自反關(guān)系的矩陣),矩陣中的元素的值代表兩定點(diǎn)之間二次可達(dá)的通路數(shù)目,經(jīng)過對(duì)角線元素清零,和非零元素置1后的矩陣可以表示一次和二次均可達(dá)矩陣和純二次可達(dá)的矩陣,再減掉即一次和二次均可達(dá)的矩陣,所得即為純二次可達(dá)矩陣。當(dāng)時(shí),假設(shè)所得的就是純次可達(dá)矩陣。當(dāng)時(shí),,可以得到次可達(dá)矩陣(由矩陣知識(shí)可知),且是對(duì)角線元素全為0的0-1矩陣,因?yàn)楸硎镜氖羌兇慰蛇_(dá)矩陣,故有,所以只有是不純的,才可能與其它純次可達(dá)矩陣有交集,需要的是純的次可達(dá)矩陣,所以只需去除與其他矩陣的()交集元素即可。證畢。好友層次表生成過程,即MATLAB在檢索中的作用圖,如圖4.5所示。用戶登錄用戶登錄根據(jù)用戶id,到文件中檢索生成戶的三次好友列表用戶登錄后才做的工作服務(wù)器提前做好的工作從數(shù)據(jù)庫relationship表中導(dǎo)入MATLAB成功?形成稀疏矩陣M1進(jìn)行矩陣運(yùn)算形成稀疏矩陣M2進(jìn)行矩陣運(yùn)算形成稀疏矩陣M3將三個(gè)稀疏矩陣存入文件Mk.mat(k=1,2,3)否是開始結(jié)束連接數(shù)據(jù)庫根據(jù)用戶輸入的關(guān)鍵字檢索并輸出圖4-5檢索中MATLAB的作用【寫作提示】上面“圖4-5”的寫法不合適,按前后文統(tǒng)一的原則,寫成“圖4.5”(4)檢索過程中,各類之間的交互。用戶登錄成功之后,在Java調(diào)用MATLAB中FriendClass類的對(duì)象,根據(jù)用戶登錄的id得到用戶的三層好友列表,結(jié)果由FriendScope類的對(duì)象得到,再經(jīng)過FriendScopeTerm類封裝成檢索term,然后聯(lián)合經(jīng)過分詞后的輸入串,由Search進(jìn)行檢索,結(jié)果由MyHits對(duì)象調(diào)用,經(jīng)過getMyHits()函數(shù)參考friendScope對(duì)象,得到考慮用戶好友列表后的檢索結(jié)果,其時(shí)序圖如圖4.6所示。圖4.6檢索過程時(shí)序圖4.1.3前臺(tái)模塊前臺(tái)界面包括基本的用戶注冊(cè)、登錄界面,簡單搜索、顯示界面,以及日志管理界面,其中包括日志的增、刪、改,并將引起數(shù)據(jù)庫和索引的同步更新。前臺(tái)模塊圖如圖4.7所示。前前臺(tái)模塊用戶注冊(cè)界面系統(tǒng)登錄界面簡單搜索界面日志管理界面搜索日志顯示界面圖4.7前臺(tái)模塊圖用戶首先得在該系統(tǒng)中注冊(cè),然后才能登錄,所以二者之間是include關(guān)系,用戶登錄之后可以查看自己的日志,也可以輸入關(guān)鍵字來搜索好友的日志。用戶和前臺(tái)模塊之間的用例圖如圖4.8所示。圖4.8前臺(tái)模塊用例圖4.2系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)數(shù)據(jù)庫的設(shè)計(jì)在本系統(tǒng)中占有很重要的位置。因?yàn)閿?shù)據(jù)庫是校內(nèi)網(wǎng)場(chǎng)景的體現(xiàn)。為滿足該系統(tǒng)的需要,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):用戶信息表:用戶號(hào)、用戶的郵箱號(hào)、用戶名、密碼、用戶注冊(cè)時(shí)間、用戶所在的學(xué)校。日志信息表:日志號(hào)、作者、日志標(biāo)題、日志內(nèi)容、日志的發(fā)表時(shí)間。用戶之間的關(guān)系表:用戶號(hào)、好友的id號(hào)、成為好友的時(shí)間。4.2.1數(shù)據(jù)庫表的結(jié)構(gòu)(1)用戶信息表表名:userInfo,在該表中保存了用戶注冊(cè)的基本資料,數(shù)據(jù)表結(jié)構(gòu)如表4.1所示。表4.1用戶信息表字段名稱數(shù)據(jù)類型字段長度備注useridint4用戶號(hào)emailvarchar40用郵箱號(hào)進(jìn)行登錄usernamevarchar40用戶名passwordvarchar40登錄密碼enrolldatedatetime8用戶注冊(cè)的時(shí)間schoolvarchar40用戶所在的學(xué)校【寫作提示】表格是表現(xiàn)力比較強(qiáng)的形式之一,鼓勵(lì)在論文中用表格。表格也逐章單獨(dú)編序(如表4.1、表5.3)。某章僅有一表時(shí),也要寫清表序“表x.1”。每一個(gè)表格都要有表標(biāo)題,表格序和表格標(biāo)題置于表格上方中間位置,表格序和表格標(biāo)題中間要有兩個(gè)空格。【寫作提示】表中文字的字號(hào)要比正文中字號(hào)小半號(hào),例如,正文中的文字用小四號(hào),表中的文字用五號(hào)字。每張?jiān)谡闹芯鶓?yīng)明確提及,例:表1.3中所示、(見表1.3)等。【寫作提示】如果一張表格要跨頁時(shí),請(qǐng)選中表格的表頭行,點(diǎn)擊“表格”菜單,選擇“標(biāo)題行重復(fù)”,可以使表頭在下頁自動(dòng)出現(xiàn)。這樣做,當(dāng)版面發(fā)生變化時(shí),表格也自動(dòng)變化?!緦懽魈崾尽勘砀竦慕Y(jié)構(gòu)應(yīng)簡潔。表格中各欄都應(yīng)標(biāo)注量和相應(yīng)的單位。表格內(nèi)數(shù)字須上下對(duì)齊,相鄰欄內(nèi)的數(shù)值相同時(shí),不能用“同上”、“同左”和其它類似用詞,應(yīng)一一重新標(biāo)注。(2)日志信息表表名:logfile,在該表中保存了用戶發(fā)表的日志信息,其數(shù)據(jù)結(jié)構(gòu)如表4.2所示。表4.2日志信息表字段名稱數(shù)據(jù)類型字段長度備注logidint4日志號(hào)useridint4作者titlevarchar100日志標(biāo)題contentvarchar7800日志內(nèi)容timedatetime8發(fā)表日志的時(shí)間(3)好友關(guān)系表表名:relation,該表體現(xiàn)了校內(nèi)網(wǎng)中用戶之間的好友關(guān)系,其數(shù)據(jù)結(jié)構(gòu)如圖4.3所示。表4.3好友關(guān)系表字段名稱數(shù)據(jù)類型字段長度備注useridint4用戶號(hào)friendidint4好友的id號(hào)befriendtimedatetime8用戶之間成為好友的時(shí)間4.2.2數(shù)據(jù)庫選擇及理由目前常用的數(shù)據(jù)庫分為超大型、中型和小型數(shù)據(jù)庫三類。其中SQLServer2000屬于超大型的數(shù)據(jù)庫,它能夠?yàn)槌笮拖到y(tǒng)所需的數(shù)據(jù)庫提供服務(wù)。并且它的安全性能很強(qiáng),當(dāng)大型服務(wù)器上同時(shí)有成千上萬的用戶連接到SQLServer2000實(shí)例時(shí),SQLServer2000可以為這些環(huán)境提供保護(hù),它具有自己的安全保護(hù)措施。除此之外,SQLServer2000還具有使用方便、可伸縮性好與相關(guān)軟件集成度高等優(yōu)點(diǎn)。

5系統(tǒng)實(shí)現(xiàn)5.1核心模塊實(shí)現(xiàn)本系統(tǒng)以校內(nèi)網(wǎng)為原型,仿照校內(nèi)網(wǎng)建立數(shù)據(jù)庫,本系統(tǒng)中的索引和搜索過程都利用到了Lucene軟件包。然后應(yīng)用Struts框架技術(shù)來實(shí)現(xiàn)系統(tǒng)。5.1.1索引模塊的實(shí)現(xiàn)(1)建立索引主要代碼介紹Documentdoc=newDocument();//設(shè)置了五個(gè)Field域Fieldfield1=newField("logid",rs.getString("logid"),Field.Store.YES,Field.Index.UN_TOKENIZED);Fieldfield2=newField("userid",rs.getString("userid"),Field.Store.YES,Field.Index.UN_TOKENIZED);Fieldfield3=newField("title",rs.getString("title"),Field.Store.YES,Field.Index.TOKENIZED);Fieldfield4=newField("content",rs.getString("content"),Field.Store.NO,Field.Index.TOKENIZED);Fieldfield5=newField("time",rs.getString("time"),Field.Store.YES,Field.Index.NO); doc.add(field1);doc.add(field2);doc.add(field3);doc.add(field4);doc.add(field5);//提高關(guān)鍵字在日志標(biāo)題中權(quán)重field3.setBoost(2f);writer.addDocument(doc);【寫作提示】正文中的代碼用五號(hào)字,漢字用宋體,西方用“TimesNewRoman”字體,左縮進(jìn)0字符,懸掛縮進(jìn)3字符。行距仍為18磅,底紋為-20%的灰度?!緦懽魈崾尽坎灰谡闹袑⒋a全部羅列出來(如果必要,全部代碼可以在附錄中列出),而是只說明關(guān)鍵的、特色的代碼。代碼在文中需要文字進(jìn)行解釋,或者在代碼中給出足夠的注釋進(jìn)行說明。(2)檢索中主要函數(shù)介紹//根據(jù)用戶id,得到用戶的三層好友關(guān)系,將用戶好友id放在整型數(shù)組中publicint[][]getFriend(intuserid);//定義BooleanQuery項(xiàng),將用戶好友id形成一個(gè)term,之間是或關(guān)系publicBooleanQuerycreateTerms(intuserid,int[][]friendscope);//根據(jù)輸入的用戶名檢索出用戶的所有日志,同名用戶都檢索出來publicvoidsearchLog1(Stringusername)throwsSQLException;//根據(jù)用戶輸入的關(guān)鍵字和好友范圍形成的BooleanQueryterm項(xiàng)進(jìn)行檢索,返回滿足條件的日志(注:此處是lucene自己算分的到得結(jié)果)PublicHitssearchLog2(Stringkey,BooleanQuerybquery)throwsSQLException;//對(duì)lucene檢索結(jié)果再加工,取出hits中的日志,根據(jù)日志作者所在的當(dāng)前用戶好友層數(shù)乘以相應(yīng)的系數(shù),得到日志的新分?jǐn)?shù),按照得分排序publicDocument[]myhits(Hitshits,intfriendArray[][])throwsIOException;5.1.2數(shù)據(jù)導(dǎo)入導(dǎo)出(1)數(shù)據(jù)的導(dǎo)入將數(shù)據(jù)從數(shù)據(jù)庫的表導(dǎo)入MATLAB,有兩種方法:VQB(visualquerybuilder)和Usingfunction,前者是圖形界面,比較簡單。后者稍微復(fù)雜一點(diǎn),但更靈活。我采用的是后者,因?yàn)樾枰趈ava環(huán)境中調(diào)用MATLAB中的函數(shù)。經(jīng)過矩陣運(yùn)算,形成幾個(gè)純k次可達(dá)矩陣,這部分工作在服務(wù)器上提前做好,將矩陣保存在文件中,當(dāng)程序運(yùn)行時(shí),直接從文件中讀取數(shù)據(jù)。%函數(shù)返回值是J,表示一個(gè)矩陣,實(shí)際是從數(shù)據(jù)庫讀出的一個(gè)向量。function[J]=dbimport();%允許登錄連接時(shí)間最長為5秒timeoutA=logintimeout(5);%指定要連接的數(shù)據(jù)庫名,連接數(shù)據(jù)庫connA=database('xiaonei','','');%測(cè)試數(shù)據(jù)庫連接狀態(tài),連接上繼續(xù)執(zhí)行,否則彈出錯(cuò)誤ping(connA);%執(zhí)行該sql語句,從數(shù)據(jù)庫表中讀取一列數(shù)據(jù)cursorA=exec(connA,'selectuseridfromrelation');%獲取結(jié)果集對(duì)象cursorA=fetch(cursorA);%用J來保存數(shù)據(jù)庫讀出結(jié)果(此處J是一個(gè)向量)J=cursorA.Data;%關(guān)閉此次執(zhí)行和數(shù)據(jù)庫連接close(cursorA);close(connA);(2)數(shù)據(jù)的導(dǎo)出將數(shù)據(jù)從MATLAB導(dǎo)出的過程,實(shí)際上是從java中調(diào)用MATLAB中函數(shù)的過程,用MATLAB中類建立一個(gè)外部對(duì)象來引用,MATLAB提供了與java的接口,利用MATLABBuilderJA建立一個(gè)包,加入調(diào)用的函數(shù),連接數(shù)據(jù)庫,進(jìn)行矩陣操作,將結(jié)果輸出,編譯后形成class文件,將生成的jar包導(dǎo)入MyEclipse,此處需要兩個(gè)jar包:javabuilder.jar(必需的)和friendbuilder.jar(自己建立的要在java中調(diào)用的包自動(dòng)編譯后生成的jar),那么就可以在java中調(diào)用此函數(shù),將MATLAB中滿足條件的數(shù)據(jù)導(dǎo)出。以下是從java中調(diào)用MATLAB函數(shù)得到用戶的好友分層表的主要代碼。//引入MATLAB打包好的Try包中的類TryClassimportTry.TryClass;f=newTryClass();//輸入的是登錄用戶的id號(hào),3表示輸出結(jié)果有3個(gè),即三層好友表result=f.friendship(3,userid);inti,j,t,num[]=newint[3];//得到的一、二、三層好友個(gè)數(shù)申請(qǐng)數(shù)組空間for(j=0;j<3;j++){ //得到result[j](是一個(gè)一維矩陣)中非零元素個(gè)數(shù)用t存儲(chǔ),即第j層好友中用戶的個(gè)數(shù) num[j]=(((MWNumericArray)result[j]).numberOfNonZeros());//為數(shù)組申請(qǐng)空間 friends[j]=newint[num[j]];}//將結(jié)果取出放入數(shù)組中for(i=1,j=0;j<3;j++){ while(i<=num[j]) { // 得到結(jié)果集中非零元素 t=((MWNumericArray)result[j]).getInt(i); friends[j][i-1]=t; i++; } i=1; System.out.println();}【寫作提示】寫代碼時(shí),注意通過縮進(jìn)表現(xiàn)出嵌套的層次來。

6綜合測(cè)試6.1簡單功能實(shí)現(xiàn)6.1.1登錄和注冊(cè)界面(1)登錄界面登錄時(shí)要求用戶使用郵箱登錄,因?yàn)猷]箱的全稱是沒有重復(fù)的,本系統(tǒng)利用此特性,無需再進(jìn)行唯一性驗(yàn)證。登錄界面如圖6.1。圖6.1用戶登錄界面(2)注冊(cè)界面注冊(cè)時(shí),電子郵箱、用戶名、密碼、學(xué)校都是必需要填寫的。當(dāng)用戶少填寫其中一項(xiàng),或是密碼和確認(rèn)密碼不一致時(shí),系統(tǒng)都會(huì)給以提示。用戶注冊(cè)界面如圖6.2所示。圖6.2用戶注冊(cè)界面6.1.2我的日志界面用戶進(jìn)入我的日志界面用戶可以查看自己的日志,可以實(shí)現(xiàn)三個(gè)功能:發(fā)表新日志、刪除自己的日志、編輯日志。而且均實(shí)現(xiàn)了分頁功能。圖6.3我的日志界面(1)以下是用戶發(fā)表日志過程進(jìn)入頁面后,首先顯示用戶已經(jīng)發(fā)表的日志。顯示用戶日志界面如圖6.3所示?!緦懽魈崾尽拷?jīng)常出現(xiàn)圖的位置不好安排的情況。由于已經(jīng)標(biāo)明了圖序,圖的放置位置可以適當(dāng)調(diào)整,前在前一頁或后一頁,以使每頁都被“占滿”。不過,一定要保證圖序號(hào)和標(biāo)題在圖的下方。(2)用戶發(fā)表新日志,寫入標(biāo)題和內(nèi)容。點(diǎn)擊發(fā)表后新日志可以立即顯示。用戶發(fā)表日志界面如圖6.4所示,顯示插入后顯示如圖6.5所示。圖6.4發(fā)表日志界面圖6.5顯示日志界面6.2搜索功能實(shí)現(xiàn)6.2.1檢索有關(guān)界面進(jìn)行檢索時(shí)根據(jù)此登錄用戶的userid可以得到他的好友列表,此處調(diào)用MATLAB包中使用矩陣的函數(shù),生成用戶的三層好友列表如圖6.6所示。圖6.6用戶好友層次圖根據(jù)用戶的好友列表形成term檢索項(xiàng),最后一行表示用戶的id號(hào)之間是或得關(guān)系,而+userid的則表示表示邏輯關(guān)系是“與”,即是且的關(guān)系,而-userid表示邏輯關(guān)系是非,即此項(xiàng)是排除項(xiàng)。用戶好友表形成的Term項(xiàng)如圖6.7所示。圖6.7好友表形成的term項(xiàng)圖(3)簡單檢索時(shí),根據(jù)用戶輸入的檢索字符串,從用戶的三層好友所寫的日志進(jìn)行檢索,結(jié)果如下:當(dāng)前登錄的用戶的uid是:4第1層好友個(gè)數(shù)是:4第2層好友個(gè)數(shù)是:27第3層好友個(gè)數(shù)是:521511662367812162229313334414344505561657275919710111111211691314151718192021232627283035374045464851525354565859626467686970738084858789909293949599100102107109110113115用戶的三層好友范圍內(nèi)好友數(shù)目是:84布爾檢索串之間的關(guān)系如下:userid:4userid:1userid:5userid:11userid:66userid:2userid:3userid:6userid:7userid:8userid:12userid:16userid:22userid:29userid:31userid:33userid:34userid:41userid:43userid:44userid:50userid:55userid:61userid:65userid:72userid:75userid:91userid:97userid:101userid:111userid:112userid:116userid:9userid:13userid:14userid:15userid:17userid:18userid:19userid:20userid:21userid:23userid:26userid:27userid:28userid:30userid:35userid:37userid:40userid:45userid:46userid:48userid:51userid:52userid:53userid:54userid:56userid:58userid:59userid:62userid:64userid:67userid:68userid:69userid:70userid:73userid:80userid:84userid:85userid:87userid:89userid:90userid:92userid:93userid:94userid:95userid:99userid:100userid:102userid:107userid:109userid:110userid:113userid:115當(dāng)前用戶輸入的關(guān)鍵字是:紫羅蘭注意滿足條件的日志數(shù)目是:6篇Document<stored/uncompressed,indexed<logid:105>stored/uncompressed,indexed<userid:107>stored/uncompressed,indexed,tokenized<title:貪心的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:108>stored/uncompressed,indexed<userid:116>stored/uncompressed,indexed,tokenized<title:傲慢的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:112>stored/uncompressed,indexed<userid:58>stored/uncompressed,indexed,tokenized<title:傲慢的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:107>stored/uncompressed,indexed<userid:116>stored/uncompressed,indexed,tokenized<title:紫羅蘭的遭遇>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:106>stored/uncompressed,indexed<userid:107>stored/uncompressed,indexed,tokenized<title:群花中的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:111>stored/uncompressed,indexed<userid:58>stored/uncompressed,indexed,tokenized<title:不知足的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>加入用戶層次處理前此文檔的得分:0.41109389066696167107所屬層數(shù)是3Document<stored/uncompressed,indexed<logid:105>stored/uncompressed,indexed<userid:107>stored/uncompressed,indexed,tokenized<title:貪心的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>加入用戶層次處理后此文檔的得分:41.10938906669617加入用戶層次處理前此文檔的得分:0.408722847700119116所屬層數(shù)是2Document<stored/uncompressed,indexed<logid:108>stored/uncompressed,indexed<userid:116>stored/uncompressed,indexed,tokenized<title:傲慢的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>加入用戶層次處理后此文檔的得分:0.5722119867801666加入用戶層次處理前此文檔的得分:0.393408924341201858所屬層數(shù)是3Document<stored/uncompressed,indexed<logid:112>stored/uncompressed,indexed<userid:58>stored/uncompressed,indexed,tokenized<title:傲慢的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>加入用戶層次處理后此文檔的得分:39.34089243412018加入用戶層次處理前此文檔的得分:0.345240980386734116所屬層數(shù)是2Document<stored/uncompressed,indexed<logid:107>stored/uncompressed,indexed<userid:116>stored/uncompressed,indexed,tokenized<title:紫羅蘭的遭遇>stored/uncompressed<time:2009-05-1621:15:27.640>>加入用戶層次處理后此文檔的得分:0.48333737254142756加入用戶層次處理前此文檔的得分:0.3303762972354889107所屬層數(shù)是3Document<stored/uncompressed,indexed<logid:106>stored/uncompressed,indexed<userid:107>stored/uncompressed,indexed,tokenized<title:群花中的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>加入用戶層次處理后此文檔的得分:33.03762972354889加入用戶層次處理前此文檔的得分:0.1511631757020950358所屬層數(shù)是3Document<stored/uncompressed,indexed<logid:111>stored/uncompressed,indexed<userid:58>stored/uncompressed,indexed,tokenized<title:不知足的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>加入用戶層次處理后此文檔的得分:15.116317570209503Document<stored/uncompressed,indexed<logid:105>stored/uncompressed,indexed<userid:107>stored/uncompressed,indexed,tokenized<title:貪心的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:111>stored/uncompressed,indexed<userid:58>stored/uncompressed,indexed,tokenized<title:不知足的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:112>stored/uncompressed,indexed<userid:58>stored/uncompressed,indexed,tokenized<title:傲慢的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:108>stored/uncompressed,indexed<userid:116>stored/uncompressed,indexed,tokenized<title:傲慢的紫羅蘭>stored/uncompressed<time:2009-05-1621:15:27.640>>Document<stored/uncompressed,indexed<logid:107>stored/uncompressed,indexed<userid:116>stored/uncompressed,indexed,tokenized<title:紫羅蘭的遭遇>stored/uncompressed<time:2009-05-1621:15:27.640>>stored/uncompressed,indexed<time:2009-05-3021:36:49.364>>Document<stored/uncompressed,indexed<logid:76>stored/uncompressed,indexed<userid:40>stored/uncompressed,indexed,tokenized<title:家鄉(xiāng)的端午這么過>stored/uncompressed<time:2009-05-1621:15:05.060>>

結(jié)束語經(jīng)過了近兩個(gè)月的學(xué)習(xí)和努力,我們小組三人終于完成了基于Lucene的訪問控制搜索系統(tǒng)的工作,在這個(gè)過程中我的收獲很多,需要改進(jìn)和學(xué)習(xí)的地方也非常多。我從以下兩個(gè)方面對(duì)自己在此次畢業(yè)設(shè)計(jì)過程中的感想做一下總結(jié):(一)收獲知道在做一個(gè)系統(tǒng)之前最重要的是要做好需求分析,為此,我在圖書館查看了大量的相關(guān)資料,為此次設(shè)計(jì)做了充足的準(zhǔn)備,更進(jìn)一步了解了Lucene的工作原理和訪問控制搜索系統(tǒng)要完成的各種功能。不僅如此,在這次畢業(yè)設(shè)計(jì)過程中有老師進(jìn)行專門的輔導(dǎo)工作,老師具有豐富的理論及實(shí)踐經(jīng)驗(yàn),為我們提供了很多極其有參考價(jià)值的資料,在遇到困難時(shí)耐心的幫我們分析,為我們提供更寬廣的思考空間,從而為我們克服困難提供了極大幫助??梢愿禹樌亻_展自己的工作。其實(shí),在做程序之前,我對(duì)Lucene基本沒有了解,我們甚至都不知道它是什么,對(duì)訪問控制的理解也僅僅局限于能不能訪問方面,通過這次設(shè)計(jì),我深入了解了Lucene的工作原理和機(jī)制,對(duì)它的模塊功能有了更深層認(rèn)識(shí)和更本質(zhì)的理解,對(duì)訪問控制的實(shí)現(xiàn)讓我更加深入認(rèn)識(shí)了MATLAB這個(gè)軟件,對(duì)其中的函數(shù)能夠輕松的使用,并且熟練了對(duì)java語言的使用以及對(duì)Tomcat、MyEclipse的相關(guān)配置。在做課程設(shè)計(jì)的過程中我們遇到了很多困難,編寫代碼時(shí)總是出現(xiàn)這樣或是那樣的錯(cuò)誤,而且有些功能不知道該用什么方法來實(shí)現(xiàn),經(jīng)過大家的討論和老師的指導(dǎo),克服了很多。最終,我的Tomcat調(diào)用MATLAB生成的jar包中的函數(shù)仍然沒有實(shí)現(xiàn),這個(gè)問題很新,網(wǎng)上搜到的很少,也不能解決,但是java調(diào)用此jar包沒有問題,由于我的不足,使我們的程序不能很好的結(jié)合,很慚愧,在此向小組成員道歉。(二)不足之處該系統(tǒng)還存在著很大的不足,主要體現(xiàn)在以下幾個(gè)方面:首先,從數(shù)據(jù)庫表導(dǎo)入MATLAB過程比較簡單,但由于MATLAB的局限性,只能對(duì)doubel類型的數(shù)據(jù)進(jìn)行運(yùn)算,而我們的矩陣由于其特殊性,是一個(gè)0-1稀疏矩陣,無需浪費(fèi)double空間來存儲(chǔ),最多用integer就完全可以,有些浪費(fèi)。其次,該系統(tǒng)在檢索功能設(shè)計(jì)上欠完善,未能實(shí)現(xiàn)預(yù)期的高級(jí)檢索;最后,界面設(shè)計(jì)的不太美觀,有待改進(jìn)?!緦懽魈崾尽拷Y(jié)論(或結(jié)束語)作為單獨(dú)一章排列,但標(biāo)題前不加“第XXX章”字樣。結(jié)論是整個(gè)論文的總結(jié),應(yīng)以簡練的文字說明論文所做的工作,一般不超過兩頁?!緦懽魈崾尽繋讉€(gè)月的設(shè)計(jì)下來,可供總結(jié)的東西很多。寫不好總結(jié)的原因無外乎兩點(diǎn):沒有認(rèn)真完成畢業(yè)設(shè)計(jì)沒有可總結(jié)的,或者對(duì)論文工作不夠重視。寫出你自己的總結(jié)來,這可以吸引人眼球的一個(gè)地方。寫好總結(jié),也是對(duì)自己幾個(gè)月工作的一個(gè)交待。

致謝光陰似箭,四年的大學(xué)生活即將過去。七月,我將告別我的大學(xué)時(shí)代,去繼續(xù)我的人生旅途。本文應(yīng)該可以看作是我四年本科生活的一點(diǎn)總結(jié)。因此,我要真心地感謝我院所有曾經(jīng)傳授給我知識(shí),更教給我人生哲理的的老師們,感謝所有曾幫助過我的同學(xué)們,謝謝你們讓我擁有了一段令人思考和回味的大學(xué)生活。關(guān)于這篇論文,首先我要感謝指導(dǎo)的畢業(yè)論文的XXX老師的熱心指導(dǎo)與關(guān)懷,他總是鼓勵(lì)我們,引導(dǎo)我們大膽的去思考去設(shè)計(jì),總是盡其所能,最大限度的為我們提供幫助,非常感謝他的耐心指導(dǎo),他知識(shí)淵博,有實(shí)力也有能力,對(duì)工作精益求精,對(duì)我們認(rèn)真負(fù)責(zé),甚至對(duì)我們的低級(jí)錯(cuò)誤也從來沒有發(fā)過火,很體諒我們,他的寬容大度,他的坦誠相待,給我留下了很深的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論