【畢業(yè)學位論文】(Word原稿)基于倒排索引的xml文檔全文檢索技術研究-光信息科學與技術_第1頁
【畢業(yè)學位論文】(Word原稿)基于倒排索引的xml文檔全文檢索技術研究-光信息科學與技術_第2頁
【畢業(yè)學位論文】(Word原稿)基于倒排索引的xml文檔全文檢索技術研究-光信息科學與技術_第3頁
【畢業(yè)學位論文】(Word原稿)基于倒排索引的xml文檔全文檢索技術研究-光信息科學與技術_第4頁
【畢業(yè)學位論文】(Word原稿)基于倒排索引的xml文檔全文檢索技術研究-光信息科學與技術_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

畢 業(yè) 論 文 基于倒排索引的 檔全文檢索技術研究 李世坤 200530690314 指導教師 萬華 講師 學院名稱 信息學院 專業(yè)名稱 軟件工程 論文提交日期 2009 年 5 月 論文答辯日期 年 月 答辯委員會主席 _ 評 閱 人 _ 摘 要 隨著科學技術的發(fā)展,今天的計算機已經(jīng)深入到社會和生活的各個領域。 伴 隨著社會信息的迅速發(fā)展, 范已經(jīng)得到普遍接受和應用。同時 存儲在 檔信息的大量增長, 息檢索已經(jīng)成為全社會注視的熱點。面對大 量增長的數(shù)據(jù),如何 在檔中快速查找信息,為搜索者提供 快速定位 檔中的信息 成為學術界和工業(yè)界的研究熱點。目前的幾種 檔查詢技術中,基于倒排索引的全文檢索技術具有很高的技術背景和廣闊的應用前景。 在對 件格式和全文檢索的研究基礎上,本文設計并實現(xiàn)了基于 漢字倒排索引的數(shù)據(jù)結構及其對應的檢索算法,實驗結果表明倒排索引的模型設計基本是合理的 。 論文 的主要內容如下: (1)分析 基于倒排索引的 文檢索的研 究背景、 現(xiàn)狀 以及研究全文檢索引的意義 。 (2)介紹 系統(tǒng) 相關的主要技術,包括中文全文檢索技術、 基于 析器的 兩種 詢語言 。 (3)介紹基于倒排索引的 文檢索系統(tǒng)的系統(tǒng)結構和模塊。 重點介紹了 文檢索系統(tǒng)主要模塊的 功能設計 。 其中 包括主索引文件 、漢字倒排索引文件、標記索引文件以及倒排索引文件 等模塊 。 (4)介紹系統(tǒng)的核心模塊 實現(xiàn) 。介紹系統(tǒng)所運用的開 發(fā)平臺和系統(tǒng)核心模塊的算法實現(xiàn)。 (5)演示了 文檢索 系統(tǒng)的運 用情況以及實驗結果分析。 關鍵 詞 : 全文檢索 倒排索 引 I 目 錄 1 前言 . 1 題的提出 . 1 題的來 源 . 1 究課題的動態(tài) . 1 文研究內容 . 1 文意義 . 2 2 相關技術介紹 . 3 文全文檢索技術 . 3 術介紹 . 4 詢語言介紹 . 4 3 系統(tǒng)設計 . 6 件結構 . 6 統(tǒng)結構 . 6 排索引模型設計 . 10 索引文件 . 10 志索引文件 . 11 排索引文件 . 14 排文件 . 17 立索引 . 19 據(jù)檢索 . 19 4 系統(tǒng)實現(xiàn) . 20 發(fā)平臺 . 20 介 . 20 模塊詳解 . 20 索引文件實現(xiàn) . 21 記文件實現(xiàn) . 21 件操作實現(xiàn) . 24 5 系統(tǒng)演示以及分析 . 26 統(tǒng)登陸 . 26 立索引 . 26 據(jù)檢索 . 29 6 論文總結 . 33 論 . 33 作展望 . 33 致謝 . 34 參考文獻 . 35 英文摘要 . 36 1 1 前言 題的提出 題的來源 隨著社會信息的迅速發(fā)展,存儲在 檔信息的大量增長,信息 檢索 已經(jīng)成為全社會注視的熱點。隨著科學技術的發(fā)展,今天的計算機已經(jīng)深入到社會和生活的各個領域 。面對海量式增長的數(shù)據(jù), 如何 利用計算機 在眾多文檔中快速查找信息 ,為搜索者提供可靠的信息資料。 當今的 文檢索,則是研究從眾多 檔里能夠 實現(xiàn)快速檢索查找 內容的技術研究。 由于 文檢索研究在社會上也是處在起步的發(fā)展階段,而且具有相當?shù)碾y度。本 文 設計了一個 文檢索系統(tǒng)。該系統(tǒng)的開發(fā),是在考慮 構信息,根據(jù)當前社會上全文檢索研究熱點之一倒排索引的辦法實現(xiàn)的。該全文檢索系統(tǒng)對眾多 過輸入搜尋詞目進行檢索。這個系統(tǒng)具有用戶界面友好,容易操作等優(yōu)點,而且進行操作時相當方便。 究課題的動態(tài) 隨著社會信息的迅速發(fā)展,存儲在 檔信息的大量增長,信息檢索已經(jīng)成為全社會注視的熱點?,F(xiàn)在 在 國外許多國家的技術人 員在積極進行研究。我國的學者 也投身在這一領域 。 在早期, 息檢索產(chǎn)生不少可以用作查詢 息的 語言 。其中 包括 ?,F(xiàn)在使用最廣泛的 詢語言是 目前 有不錯的發(fā)展前景。但總的來說, 文檢索的研究具有重要的社會意義。 文檢索 具有信息量大,信息存儲設計有難度和建立索引工作復雜 。如何根據(jù) 檔的結構信息特點,設計良好的算法實現(xiàn)全文檢索 的功能,需要不斷的努力。 文 研究內容 研究的內容是 文檢索系統(tǒng) 。 2 表 縮寫,意為可擴展的標記語言 )。 一套定義語義標記的規(guī)則,這些標記將文檔分成許多部件并對這些部件加以標識。 樣, 都是處于 標準通用語言 1。 境中跨平臺的 、 依賴于內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言 一種簡單的數(shù)據(jù)存儲語言 ,使用一系列簡單的標記描述數(shù)據(jù),而這些標記可以用方便的方式建立 。 雖然 用的 空間比二進制數(shù)據(jù)更多,但 其簡單 , 易于掌握和使用 2。 該系統(tǒng)的主要功能是實現(xiàn) 文檢索。但本文主要準備工作 在設計在如何根據(jù)檔信息的特征 (良好的結構 )建立相關 檔的索引信息。索引信息主要是包括主索引文件,標記索引文件,漢字索引文件以及漢字倒排索引文件等相關的信息。 文 意義 隨 著社會的發(fā)展,大量 檔數(shù)據(jù)的出現(xiàn)對全文檢索提出功能更強,搜索更快的要求。全文檢索的發(fā)展越來 越快,因此取得不錯的檢索 效 果 。對 文檢索進行研究,有利于全文檢索發(fā)展,提高 文搜索水平,減少 大眾等待的時間,得到更準確的檢索結果。 3 2 相關 技術介紹 文全文檢索技術 隨著信息化的不斷發(fā)展,越來越多的信息被轉化為計算機數(shù)據(jù),存儲在計算機上,其中包括大量的文本信息。這些計算機可能獨立存在,也可能分布在互聯(lián)網(wǎng)上。不論單機還 是網(wǎng)絡上的計算機,要想高效的利用這些信息,必須使 用相關的全文 檢索 技術 。 其全文檢索是指計算機索引程序通過掃描文章中的每一個詞,對每一個詞 都 建立一個索引,指明該詞在文章中出現(xiàn)的次數(shù)和位置,當用戶查詢時,檢索程序就根據(jù)事先建立的索引進行查找,并將查找的結果反饋給用戶的檢索方式 3。這個過程類似于通過字典中的檢索字表查字的過程。全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢索是指對于文章中的每一個字都建立索引,檢索時將詞分解為字的組合。對于各種不同的語言而言,字有不同的含義,比如英文中字與詞實際上是合一的,而中文中字與詞有很大分別。按詞檢索指對文章中的詞,即語義單位建立索引,檢索時按詞檢索,并且可以處理同義項等。英文等西方文字由于按照空白切分詞,因此實現(xiàn)上與按字處理類似,添加同義處理也很容易 4。中文等東方文字則需要切分字詞,以達到按詞索引的目的,關于這方面的問題,是當前全文 檢索技術尤其是中文全文檢索技術中的難點 。 全文檢索系統(tǒng)是按照全文檢索理論建立起來的用于提供全文檢索服務的軟件系統(tǒng)。一般來說,全文檢索需要具備建立索引和提供查詢的基本功能,此外現(xiàn)代的全文檢索系統(tǒng)還需要具有方便的用戶接口、面向 開發(fā)接口、二次應用開發(fā)接口等等。功能上,全文檢索系統(tǒng)核心具有建立索引、處理查詢返回結果集、增加索引、優(yōu)化索引結構等等功能,外圍則由各種不同應用具有的功能組成。結構上,全文檢索系統(tǒng)核心具有索引引擎、查詢引擎、文本分析引擎、對外接口等等,加上各種外圍應用系統(tǒng)等等共同構成了全文檢索系統(tǒng) 5。 4 術介紹 檔對象模型的縮寫。根據(jù) 范(), 一種與瀏覽器,平臺,語言無關的接口,使得你可以訪問頁面其他的標準組件。簡單 地 理解, 決了 間的沖突,給予 計師和開發(fā)者一個標準的方法,讓他們來訪問他們站點中的數(shù)據(jù)、腳本和表現(xiàn)層對像 6。 以層次結構組織的節(jié)點或 信息片斷的集合。這個 層次結構允許開發(fā)人員在樹中導航尋找特定信息 并 分析該結構通常需要加載整個文檔和構造層次結構,然后才能做任何工作。由于它是基于信息層次的,因而 認為是基于樹或基于對象的。 對于特別大的文檔,解析和加載整個文檔可能很慢且很耗資源,因此使用其他手段來處理這樣的數(shù)據(jù)會更好。這些基于事件的模型,比如 用于處理數(shù)據(jù)流 。即隨著數(shù)據(jù)的流動而依次處理數(shù)據(jù)。基于事件的 除了在內存中構造樹的需要,但是卻不允許開發(fā)人員實際更改原始文檔中的數(shù)據(jù)。 另一方面, 提供了一個 許開發(fā)人員添加、 編輯、移動或刪除樹中任意位置的節(jié)點,從而創(chuàng)建一個引用程序。這個模型就是基于樹型數(shù)據(jù)結構的,他在使用之前必須加載整個文檔或者至少是結構良好的文檔片段 。 詢語言介紹 現(xiàn) 在使用最廣泛的 詢語言是 為 徑語言 ( 它是一種用來確定 檔中某部分的位置的語言。 于 樹狀結構,提供在數(shù)據(jù)結構樹中找尋節(jié)點的能力7。起初 提出的初衷是將其作為一個通用的、介于 的語法模型。 但是 快的被開發(fā)者采用來當作小型查詢語言。最常見的 達式是路徑表達式 (一名稱的另一來源 )。路徑表達式是從一個 點 (當前的上下文節(jié) 5 點 )到另一個節(jié)點、或一組節(jié)點的書面步驟順序。這些步驟以“”字元分開,每一步有三個成分:軸描述 (用最直接的方式接近目標節(jié)點 ),節(jié)點測試 (用于篩選節(jié)點位置和名稱 ) 和節(jié)點描述 (用于篩選節(jié)點的屬性和子節(jié)點特征 )。而 簡稱 ,是制定的一套標準,用來從 檔中提取信息,類 檔可以理解成一切符合 據(jù)模型和接口的實體,他們可能是文件或 成為一種用于描述對 據(jù)源的查詢的語言, 用來從 檔里查找和提取元素及屬性的語言, 具有精確、強大和易用的特點 8。 6 3 系統(tǒng)設計 件 結構 符合 法規(guī)則的 檔具有 結構良好的 特性 。 范 中 指出:一個格式正確的 檔必須明確地擁有一個唯一的頂層元素,該元素被稱為文檔元素或根元素,而其它所有的元素都被嵌套在這個元素之下。 因此 檔可以用樹的形式表示出來。樹是一種由節(jié)點和分支組成的簡單結構,兩個節(jié)點間由分 支連接。上端的節(jié)點稱為父節(jié)點,下端的節(jié)點稱為子節(jié)點,一個節(jié)點沒有父 節(jié)點,則稱為樹的根節(jié)點 (根 ),每棵 樹必須有且只有一個根節(jié)點。一個節(jié)點如果沒有子節(jié)點,則稱為樹的葉節(jié)點。 對 檔 的 信息進行 檢索時,可以利用 檔樹結構 進行精確的檢索。 傳統(tǒng)的 排 信息檢索利用 記錄了單詞在文檔中的位置信息。但是對于 檔來說位置信息是不夠的。我們還需要記錄 素的信息,這就用到了對于 素的編碼 9。 統(tǒng)結構 該全文檢索系統(tǒng)有五個子模塊,每一個子模塊都完成相關的功能。這五個模塊分別是用戶登錄 、 建立索引 、 全文檢索 、 查看主索引文件和查看標記索引文件。 表 1 功能需求表 序號 功能名稱 功能需求標識 簡要描述 01 建立索引 現(xiàn)建立索引信息 02 檢索 入查詢條件查詢 03 主索引文件內容處理 詢主索引文件信息 04 標記索引文件處理 記索引文件 7 表 2 功能編號 1 功能名稱 建立索引 功能描述 選擇被添加的索引 文件, 建立主索引文件,標記索引文件 漢字倒排索引文件以及倒排索引文件 功能模塊 選擇被索引文件 建立索引 輸入項 被索引的文件 處理描述 判斷被索引文件的路徑是否正確 文件處理是否異常處理 建立索引文件 輸出項 被索引文件的路徑不正確,提示處理建立失敗 文件處理異常,提示處理建立失敗 成功建立時返回提示信息 界面要求 選擇被索引文件的按鈕 建立索引按鈕 8 表 3 檢索 功能編號 2 功能名稱 檢索 功能描述 輸入檢索的內容和節(jié)點名稱 顯示檢索的結果 功能模塊 輸入檢索的內容和節(jié)點名稱 顯示檢索的結果 輸入項 輸入檢索的內容和節(jié)點名稱 處理描述 文件處理是否異常處理 進行全文檢索 輸出項 文件處理異常,提示處理建立失敗 成功檢索時返回提示信息 界面要求 文本輸入框 檢索按鈕 9 表 4 查看主索引文件 功能編號 3 功能名稱 查看主索引 功能描述 顯示主索引文件的結果 功能模塊 選擇查看主索引文件操作 顯示查看的結果 輸入項 無 處理描述 文件處理是否異常處理 查看主索引文件 輸出項 文件處理異常,提示處理 查看失敗 成功檢索時返回提示信息 界面要求 查看按鈕 表 5 查看標記索引 功能編號 4 功能名稱 查看標記索引 功能描述 顯示標記文件的結果 功能模塊 選擇查看標記索引文件操作 顯示查看的結果 輸入項 無 處理描述 文件處理是否異常處理 查看主索引文件 輸出項 文件處理異常,提示處理查看失敗 成功檢索時返回提示信息 界面要求 查看按鈕 10 排索引模型 設計 索引文件 對 檔進行檢索前,要對 檔文件的信息進行記錄下來,因此要對大量的 檔庫進行索引處理,要把 檔的文件路徑,修改日期,刪除標志和文檔編號進行保在主索引文件中,方便日后的對 檔定位查詢和更新操作。 主索引文件的結構中,文件路徑表示原 檔的在硬盤上存儲路徑,可以用定長的字符串表示,有助于主索引文件的結構存儲。文檔編號是存儲主索引文件給原 檔起的編號,可以用一個長整數(shù)表達 (長整數(shù)的表示范圍已經(jīng)足夠大 )。有時候 檔進行更新刪除時要記錄下來,是否刪除可以用一個字符 Y/N 來表示。主索引文件中的修改日期表示最新的什么時候進行對 檔進行更新操作。其中刪除標志和修改日期用來對 檔更新操作處理。 設計如下 : 11 表 6 主索引文件 設計 類型 名稱 數(shù)據(jù)類型 功能描述 屬性 除標記 屬性 檔編號 屬性 件路徑 屬性 新日期 方法 置刪除標記 方法 得刪除標記 方法 D) 置文檔編號 方法 置 文檔編號 方法 置文件路徑 方法 得文件路徑 方法 置更新日期 方法 得更新日期 方法 文件里讀取一個記錄 方法 文件里讀取一個記錄 方法 回主索引結構大小 志索引文件 由于 檔具有 結構良好的 特性,在 檔進行檢索時,可以利用 如果可以提供檢索詞所在的元素名稱,那么 對 文的 檢索意圖和范圍更加明確,檢索效率也會提高。 為了優(yōu)化 詢處理,一般情況下, 中的每 一 個節(jié)點都被賦予唯一的編號,通過這個編號可以快速地確定任 意兩個節(jié)點之間是否存在父子、祖先后裔、 12 兄弟、前驅、后繼等關系。為 中的節(jié)點分配唯一編號的具體策略稱為編碼方案。為了有效地適應 據(jù)的查詢和更新,一個的編碼方案應該具備有確定性 特征 。即對 檔里的元素進行 編號 標志時不存在 歧義時,每一個編號確定對應檔中的具體的一個節(jié)點 11。 在早期, 編碼被認為是一個頗具挑戰(zhàn)性的研究課題,吸引了許多研究者。目前 已經(jīng) 出現(xiàn)了一批 點編碼方案。所有編碼方案可以分為兩類:基于區(qū)間(的和基于前綴 ( 。 早期的 編碼方案研究都是基于區(qū)間的,文提出的都是基于區(qū)間的編碼方案。基于區(qū)間的編碼方案利用 點的有序特點,根據(jù)每一個元素節(jié)點的文檔順序位置為其賦予一個編碼 12。這種編碼通常是一個三元組同一個父節(jié)點的所有孩子節(jié)點的 。 編碼方案為每個節(jié)點分配唯一編號,僅通過比較節(jié)點編號而不必訪問原 檔,就可以快速有效地確定節(jié)點間的結構關系 。 本文 設計 檔 節(jié)點 編碼方 案 如下: 13 表 7 標記索引文件 設計 類型 名稱 數(shù)據(jù)類型 功能描述 屬性 檔編號 屬性 點名稱 屬性 點標記 方法 置文檔編號 方法 得文檔編號 方法 置節(jié)點名稱 方法 得節(jié)點名稱 方法 置節(jié)點編號 方法 得節(jié)點編號 方法 取一個標記結構體 方法 記結構體寫入文件 方法 記結構體的大小 標志索引文件結構中的標志編號是指本文實現(xiàn)的二進制小數(shù)編碼。標志名稱是要記錄 檔元素結點的標志。 對 檔采用惟一元素標志,此時按層進行對每個節(jié)點編號。 14 圖 1 件 例如 件 ,根節(jié)點 為第一層,用 “ 1” 表示,按 檔原來的存儲順序表示,它的下一個兄弟編號加 1。也就是每一層的首節(jié)點編號為“ 1” ,該層的首節(jié)點下一個兄弟編號加 1。 按本文的編碼方案, 編碼為“ 1”,文本內容為元素編碼為“ 文本內容 元素編碼為“ 順序進行得到 。 排索引文件 在 檔里,存儲的內容包括有漢字信息,英文和數(shù)字信息。對此 文檢索首先要存儲這些內容,為這些內容建立倒排索引表 13。在漢字倒排索引表結構中,需要為每一個漢字的倒排索引表的頭結點保存在獨立的索引文件中,形成漢字倒排索引文件。 漢字倒排索引表的 設計 如下 : 15 表 8 漢字倒排索引表設計 類型 名稱 數(shù)據(jù)類型 功能描述 屬性 字的字頻 屬性 檔號 屬性 在文檔的塊 數(shù) 方法 置漢字的字頻 方法 得漢字的字頻 方法 置文檔號 方法 得文檔號 方法 置所在文檔的塊數(shù) 方法 得所在文檔的塊數(shù) 方法 取一個漢字倒排索引結構體 方法 入一個漢字倒排索引結構體 方法 字倒排索引文件大小 漢字倒排索引表結構中的字頻記錄該漢字的在 檔里出現(xiàn)的次數(shù),以便后面的更新處理。倒排索引指針記錄漢字的倒排索引表的頭結點 。這里面包括兩個方面的信息:文件名 (存儲該漢字的倒排索引表的具體信息在哪一個文件 )和塊數(shù) (在該文件里哪一個塊中 )。倒 在漢字倒排索引文件里, 為了能 夠快速查找所要查找的漢字的索引地址, 本文 根據(jù)漢字的 ,順序地存儲漢字的 倒排索引的內容。漢字倒排索引文件存儲的內容數(shù)據(jù)格式如下 : 16 1:“一” (42: “丁” (43: “虧” (44: “ 七 ” (4。 40868: “ 龣 ” (940869: “ 龤 ” (940870: “ 龥 ” (9在 準中,共收錄了 20901 個漢字。第一個漢字的 為 4后一個漢字的 漢字倒排索引文件里依次存儲漢字倒排索引表內容。因此可以知道:建立后的漢字倒排索引文件最多記錄 20901 個漢字的索引信息。從建立后漢字倒排索引文件里的內容可以看得出:這些漢字是根據(jù)漢字的 編碼次序存儲的。因此查 詢漢字倒排索引表的每一個漢字記錄時,可以在 O(1)里查找到要查找的漢字的索引地址 14。例如:查找漢字“七”,根據(jù)它的 碼 (4即處第四個位置 (4所以漢字“七”在漢字倒排索引文件里物理存儲位置的第四塊。 再比如要查找漢字“書”,根據(jù)它的 碼 (4即處第 103 個位置 (4所以漢字“書”在漢字倒排索引文件里物理存儲位置的第 103 塊。 這種基于 字全集的漢字倒排索引結構具有如下特點: (1)存儲規(guī)模小:即使全 部記錄所以漢字的索引信息,最多要記錄 20901 個記錄。在在硬盤存儲數(shù)據(jù)日益巨大的情況下,這一點點索引信息的記錄算不了什么。 (2)查詢時間少:查詢漢字的倒排索引信息,首先根據(jù)漢字的 碼,比較出與編碼中漢字“一”中隔離 X 個漢字,那么要查詢漢字的存儲物理位置在漢字倒排索引文件里第 (X+1)塊中。 當進行全文檢索時,可以在 O(1)時間里找到要查找的漢字的索引字 頻 倒排索引指針 字 頻 倒排索引指針 字 頻 倒排索引指針 字 頻 倒排索引指針 字 頻 倒排索引指針 字 頻 倒排索引指針 字 頻 倒排索引指針 17 地址。 (3)查詢 率全:漢字倒排索引文件里存儲每一個漢字的信息,而且簡單。比 以 詞 建立的漢字倒排索引 來作為關鍵字劃分中文信息,這種方法明顯能夠查 詢到所有漢字的信息。 (4)檢索方便:檢索詞語的組合可以十分方便。只要向系統(tǒng)輸入代表某個概念的詞組,就可以獲得檢索結果。 (5)方便維護:以漢字單字建立的漢字倒排索引 在維護工作量相當少。對漢字倒排索引文件,只需一個文件就可以存儲所有漢字倒排列表的頭結點的信息。這種方法比分詞劃分中文信息的維護方便得多,不必要考慮以后新詞語,新概念的出現(xiàn)的情況。 排文件 在 設計 倒排索引文件的結構后, 還要設計保存每個單字或單詞所在有 件中的位置信息,也就是要設計倒排文件的結構。在設計保存每個單字或單詞的位置信 息,不僅要保存該字或詞所在 檔名,記錄它是在哪一個標志中的內容,同時還應記錄該它是標志中的哪一個位置,也就是它的偏移地址。 數(shù)據(jù)結構如下: 18 表 9 倒排索引設計 類型 名稱 數(shù)據(jù)類型 功能描述 屬性 點的編號 屬性 儲漢字的文檔編號 屬性 素所在節(jié)點的偏移量 屬性 一倒排索引文件名 屬性 一個存儲漢字的第幾塊 方法 置節(jié)點編號 方法 得節(jié)點編號 方法 D) 置文檔編號 方法 得節(jié)點偏移量 方法 置節(jié)點偏移量 方法 得節(jié)點偏移量 方法 置下一倒排索 引文件 方法 得下一個存儲漢字的塊數(shù) 方法 置設置下一倒排索引文件 方法 得設置下一倒排索引文件 方法 取一個倒排索引結構體 方法 入一個倒排索引結構體 方法 排索引結構體的 大小 19 立索引 在確定上面的主索引文件,標志索引文件,漢字倒排索引文件和倒排文件結構之后,就可以對 檔進行建立索引。整個索引信息的建立算法如下: 輸入: 檔 輸出: 檔的結果信息 打開 件 寫 入 主索引文件 有 件 ) 漢字 ) 添加漢字內存倒排索引文件里 寫倒排索引文件,倒排文件和標記索引文件 關閉 件 返回主操作界面 據(jù) 檢索 在已經(jīng)完成索引文件建立之后 ,就要可以進行全文檢索。 輸入:檢索的內容和標記名稱 輸出:檢索的結果 集 從標記索引文件中讀取 標記編號 從漢字倒排索引文件中讀取漢字的倒排索引文件入口 判斷字 i+1 的位置是否等于字 i 的位置 +1 判斷字是不是在提供的標記名稱 符合以上條件,返回結果 關閉索引文件 20 4 系統(tǒng) 實現(xiàn) 發(fā)平臺 開發(fā)工具是 開發(fā)語言是 介 一個功能十分強大的軟件,是一個開源代碼。 2001 年, 先發(fā)布了這個開源項目。在五年里, 速發(fā)展著。 006 年的 以 核心的 10 個 目同步發(fā)布的穩(wěn)定版本。 一個穩(wěn)定的、成熟的平臺,并且是被獨立管理的。核心層主要新特性包括獨立 行時, 強對 支持, ,新增對 支持,及對 持的預覽版。各子項目自身也有許多新特性。目前有著成百上千的 商用插件和產(chǎn)品 15。 在是業(yè)內主要的非微軟軟件工具平臺。 供了更多的組件化版本的增值工具和廠商支持服務。隨著 理一個良好的發(fā)展前景。用 計,開發(fā),調試和部署應用程序。這些應用程序強健而且易于使用。 模塊詳解 本文 做的 文檢索系統(tǒng)主要是實現(xiàn)設計存儲 檔信息和進行漢字檢索的功能。 文檢索系統(tǒng) , 總體結構框架 包括 設計 文檢索模型和實現(xiàn)漢字檢索的操作。 文檢索模型主要是實現(xiàn)了主索引文件,漢字索引文件,標記索引信息和倒索引文件的建立。漢字檢索的操作:檢索漢字,首先處理輸入的漢字信息。查找所有倒排記錄;根據(jù)檢索的信息返回檢索 的信息。 主索引文件:將新添加的 檔的住處:文檔名,文檔路徑,刪除標記和更機日期。漢字倒排索引:字頻,索引指針。標記索引:文檔 編號 ,標記和標記編碼。漢字倒排索引:漢字所在的文檔名,漢字所在的節(jié)點,漢字所在節(jié)點的偏移量,下一個索引文件名和塊數(shù)。 21 索引文件 實現(xiàn) 在主索引文件結構設計里,文檔路徑的長度有可能是不一樣。如何存儲文檔的路徑呢 ?本人在實現(xiàn)這個問題時,設計長度固定 (長度夠長 )的字符串數(shù)組,如果文檔的文檔路徑長度小于字符串數(shù)據(jù)的長度,字符串數(shù)據(jù)剩余的用空格代替空字符。 圖 2 主索引文件結構 記文件 實現(xiàn) 實現(xiàn) 文檢索 首先要對 檔進行解析,才能進行遍歷 檔樹。 22 圖 3 解析 檔 建立合適的倒排索引文件,能夠實現(xiàn) 文檢索,同時能夠適合網(wǎng)絡上大量文檔的需求。 先獲得要保存 檔內容的文件,同時進行解析 檔,生成 檔樹,利用深度優(yōu)先算法遍歷 檔樹,保存 檔的節(jié)點名稱和節(jié)點所在的文本信息,同時通過壓 棧 和出 棧 的辦法對 檔樹 的每一個節(jié)點進行標記編號。 本文在實現(xiàn) 檔倒排索引時,到時遞歸 檔,同時內存保存必要的 檔信息。在遍歷的時候分三種情況: 第一種是元素不為而且元素的屬性為節(jié)點 的情況處理如下: 23 圖 4 建立標記 其它兩種情況為 當元素不為空,而且元素屬性為屬性節(jié)點或者文本節(jié)點時,要進入遍歷尋到下一節(jié)點 。當找到元素為節(jié)點時,遞歸遍歷節(jié)點的子節(jié)點所有情況。執(zhí)行步驟返回上一種情況的處理過程。 24 圖 5 標記建立 件操作實現(xiàn) 在建立倒排索引文件,要實現(xiàn)建立主索引文件,漢字倒排索引文件,標記索引文件和倒排索引文件。下面以建立主索引文件為例: 建立主索引文件,首先打開文件選擇框,選擇主索引文件 。如果主索引文件不存在的話,則提示出錯信息并返回。否則的話,就向主索引文件添加新的 檔信息 (文檔編號,文檔路徑,刪除標志和更新日期 )。起初新添加的 檔的刪除標志都為“ N”,也就是說該 檔還沒有刪除。 (1)在選擇添加被索引文件的按鈕時,首先是要獲得文件列表。 25 圖 6 獲得文件列表 (2)接著向主索引文件里增加 被索引 文件 的信息 。 圖 7 增加索引內容 26 5 系統(tǒng)演示 以及 分析 統(tǒng) 登陸 首先運行本程序,出現(xiàn)以下用戶登錄界 面 。 輸入用戶名和密碼,點擊退出按鈕則取消操作。 圖 8 用戶登錄 立索引 (1)用戶成功后,出現(xiàn)以下主界面,在其中可以選擇各種功能操作 。 圖 9 系統(tǒng) 主界面 27 (2)想要添加被索引的 件,選擇“選擇被索 引的文件存放路徑”按鈕 圖 10 導入索引文件 (3)選擇文件選擇話框的“打開”按鈕 ,這時可以看到左

溫馨提示

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

評論

0/150

提交評論