freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

互聯(lián)網(wǎng)信息檢索系統(tǒng)的研究與實(shí)現(xiàn)本科畢業(yè)論文-資料下載頁

2025-08-22 20:56本頁面

【導(dǎo)讀】互聯(lián)網(wǎng)信息檢索系統(tǒng)是專門提供信息檢索服務(wù)的平臺,庫和索引數(shù)據(jù)庫,實(shí)現(xiàn)對用戶提出的各種信息檢索作出響應(yīng)。取,網(wǎng)頁數(shù)據(jù)存儲,數(shù)據(jù)的索引,數(shù)據(jù)的檢索,日志管理等功能。從理論上對這些關(guān)鍵技術(shù)進(jìn)行了詳細(xì)的討論,并完成了基于。文章從下面幾個(gè)方面進(jìn)行了討。首先,本文介紹搜索引擎的市場需求和研究狀態(tài)。搜索引擎的關(guān)注程度。指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。提下,學(xué)校可以公布論文的部分或全部內(nèi)容。

  

【正文】 文件,分別用來保存所有的段的記錄、保存已刪除文件的記錄和控制讀寫的同步,它們分別是 segment, deletable 和 lock 文件,都是沒有擴(kuò)展名。每個(gè)段包含一組文件,它們的文件擴(kuò)展名不同,但是文件 名均稱為記錄在文件segments 中段的名字。各種文件功能如表 所示。 表 索引文件功能表 索引文件 索引文件含義 .f(n) 規(guī)格化文件 .fdt 包含各個(gè)域數(shù)據(jù)( field 的特性)信息 .fdx 它是指向 .fdt 文件的指針。填寫的是 .fdt 文件中每個(gè)文檔的填寫 field信息的起始位置 .fnm 各個(gè)域的名字信息 .frq 詞元( term)的頻率信息 .prx term 在文檔中的位置信息 .tis 包含 term 數(shù)據(jù)信息,指向位置文件與頻率文件的指針 .tii 是 .tis 文件的快表 ,可以快速定位 .tis 文件中 term 數(shù)據(jù)信息 .tvd 保存有 document 信息,用詞元向量( TermVector)方式保存 field的信息,同它包含一個(gè)指針表,表內(nèi)的指針指向 .tvf 文件中的 field信息 deletable 包含要?jiǎng)h除的文檔信息 Segments_N 與 保存了相關(guān)段的信息 每個(gè)段的文件中,主要記錄了兩類的信息:域集合和項(xiàng)集合。這兩個(gè)集合中所含有的文件在圖中均有表明。由于索引信息是靜態(tài)存儲的,域集合與項(xiàng)集合中的文件組采用了一種類似的存儲方法:一個(gè)小型的索引 文件,運(yùn)行時(shí)載入內(nèi)存;一個(gè)對應(yīng)于索引文件的實(shí)際信息文件,可以按照索引中指示的偏移量隨機(jī)訪問;索引文件與信息文件在記錄的排列順序上存在隱式的對應(yīng)關(guān)系,即索引文件中按照“索引項(xiàng) 索引項(xiàng) 2… ”排列,則信息文件則也按照“信息項(xiàng) 信息項(xiàng) 2… ”排列。而域集合 24 與項(xiàng)集合之間則通過域的在域記錄文件 (比如 )中所記錄的域記錄號維持對應(yīng)關(guān)系。這樣,域集合和項(xiàng)集合不僅僅聯(lián)系起來,而且其中的文件之間也互相聯(lián)系起來。此外,標(biāo)準(zhǔn)化因子文件和被刪除文檔文件則提供了一些程序內(nèi)部的輔助設(shè)施 (標(biāo)準(zhǔn)化因子用在評分排序機(jī)制中,被刪除文檔是一種偽刪除手段 )。這樣,整個(gè)段的索引信息就通過這些文檔有機(jī)的組成。 以上所闡述的,就是 所采用的索引文件格式。基本上而言,它是一個(gè)倒排索引,同時(shí) 在文件做了一些改進(jìn),比如使用索引 /信息文件的方式,從文件安排的形式上提高查找的效率。這是一種數(shù)據(jù)庫之外的處理方法,其有其優(yōu)點(diǎn) (格式平臺獨(dú)立、速度快 ),也有其缺點(diǎn) (獨(dú)立性帶來的共享訪問接口問題等等 ),具體如何衡量兩種方法之間的利弊,這里就不進(jìn)行討論了。 索引數(shù)據(jù)存儲方面, 在實(shí)現(xiàn)是將單詞項(xiàng)、出現(xiàn)頻 率、出現(xiàn)位置分別作為詞典文件 (Term Dictionary)、頻率文件 (frequencies)、位置文件 (positions)保存。其中詞典文件不僅保存有每個(gè)關(guān)鍵詞,還保留了指向頻率文件和位置文件的指針,通過指針可以找到該關(guān)鍵字的頻率信息和位置信息。 為了減小索引文件的大小, 對索引使用了壓縮技術(shù)。首先,對詞典文件中的關(guān)鍵詞進(jìn)行壓縮,關(guān)鍵詞壓縮為 前綴長度,后綴 ,例如:當(dāng)前詞為“科學(xué)史”,上一個(gè)詞為“科學(xué)”,那么“科學(xué)史”壓縮為 2,語 。其次是對數(shù)字的壓縮,數(shù)字只保存與上一個(gè)值的差 值,這樣可以減小數(shù)字的長度,從而減少保存該數(shù)字需要的字節(jié)數(shù)。例如:當(dāng)前文檔序列號是 17983,上一文章號是 17970,在不壓縮的情況下,要用 3 個(gè)字節(jié)才能保存,壓縮后只需保存 13,使用一個(gè)字節(jié)就可以了。 數(shù)據(jù)流分析 理解 系統(tǒng)結(jié)構(gòu)的另一個(gè)方式是去探討其中數(shù)據(jù)流的走向,并以此摸清楚 系統(tǒng)內(nèi)部的調(diào)用時(shí)序。在此基礎(chǔ)上,開發(fā)人員可以更加深入的理解 的系統(tǒng)結(jié)構(gòu)組織,以方便以后在 系統(tǒng)上的開發(fā)工作。這部分的分析,是深入 系統(tǒng)的鑰匙,也是進(jìn)行重寫的基礎(chǔ)。 系統(tǒng)中的主要的數(shù)據(jù)流以及它們之間的關(guān)系,如圖 34所示。 25 圖 33 的索引文件數(shù)據(jù)流程關(guān)系 圖 圖中很好的表明了 在內(nèi)部的數(shù)據(jù)流組織情況,并且沿著數(shù)據(jù)流的方向也可以對與 內(nèi)部的執(zhí)行時(shí)序有一個(gè)清楚的了解?,F(xiàn)在將圖中的涉及到的流的類型及各個(gè)邏輯對應(yīng)系統(tǒng)的相關(guān)部分的關(guān)系說明一下。 圖中共存在 4 種數(shù)據(jù)流,分別是文件流, token 流,字節(jié)流與查詢語句對 象流。文本流表示了對于索引目標(biāo)和交互控制的抽象,即用文本流表示了將要索引的文件,用文本流向用戶輸出信息;在實(shí)際的實(shí)現(xiàn)中, 中的文件流采用了 UCS2 作為編碼,以達(dá)到適應(yīng)多種語言文字的處理的目的。 Token 流是 內(nèi)部所使用的概念,是對傳統(tǒng)文字中的詞的概念進(jìn)行抽象,也是 在建立索引時(shí)直接處理的最小單位;簡單的講 Token 就是一個(gè)詞和所在域值的組合。字節(jié)流則是對文件抽象的直接操作的體現(xiàn),通過固定長度的字節(jié) ( 定義為8 比特位長 )流的處理,將文件 操作解脫出來,也做到了與平臺文件系統(tǒng)的無關(guān)性。查詢語句對象流則是僅僅在查詢語句解析時(shí)用到的概念,它對查詢語句抽象,通過類的繼承結(jié)構(gòu)反映查詢語句的結(jié)構(gòu),將之傳送到查找邏輯來進(jìn)行查找的操作。 被索引文件 語義分析邏輯 索引構(gòu)建邏輯 索引文件 查詢語句 索引查找邏輯 評分排序邏輯 查詢結(jié) 果 文件流 文件流 文件流 Token 流 Token 流 字節(jié)流 字節(jié)流 26 基于 的應(yīng)用開發(fā) 通過以上的系統(tǒng)結(jié)構(gòu)分析和數(shù)據(jù)流分析,已經(jīng)了解了 的系統(tǒng)的結(jié)構(gòu)特征。在此基礎(chǔ)上,開發(fā)人員可以通過 系統(tǒng)來完成一個(gè)完備的全文檢索引擎,緊接著還可以在全文檢索引擎的基礎(chǔ)上構(gòu)建各種應(yīng)用系統(tǒng)。 不是一個(gè)完整的全文檢索引擎,而是一個(gè)全 文檢索引擎的架構(gòu),它中包含的大量抽象類、接口、文檔類型、評分邏輯等需要根據(jù)具體應(yīng)用來定義實(shí)現(xiàn)。如圖 35 所示。 圖 35 自定義擴(kuò)展功能 對其開發(fā)的關(guān)鍵工作如下: (1) 由于 默認(rèn)的實(shí)現(xiàn)了英文和德文的簡單詞法分析邏輯(按照空格進(jìn)行分詞,并去除了常用的語法詞,如英文中的 is, are 等等 )。因此我們需要按照目標(biāo)語言的詞法結(jié)構(gòu)來構(gòu)建相應(yīng)的詞法分析邏輯,實(shí)現(xiàn) 在 中定義的接口,為 提供目標(biāo)系統(tǒng)所使用的語言處理能力。 (2) 按照被索引的文件的格式來提供相應(yīng)的文本分析邏輯,這里是指除了開詞法分析之外的部分,比如 HTML 文件,通常需要把其中的內(nèi)容按照所屬于域分門別類加入索引,這就需要我們自己定義實(shí)現(xiàn)處理HTML 文件的 HTMLDocument 類 , 然 后 將 處 理 過 的 數(shù) 據(jù) 交 給 模塊來寫入索引文件。 (3) 具體搜索邏輯的設(shè)計(jì), 提供了方便創(chuàng)建自建查詢的API,也通過 QueryParser 提供強(qiáng)大的查詢語言。在實(shí)際應(yīng)用中,要按用戶自定義功能 … . 用戶自定義功能 27 的查詢語句解析器的語法,設(shè)計(jì)具體的搜索器,包括默認(rèn)域的指定,搜索域的接收,索引庫位置的接收,以及多個(gè)查詢通過布爾操作符連接起來形成復(fù)雜的查詢語句的功能。這些都要符合查詢解析器的要求。 當(dāng)然,上面所示的僅僅只是對于 的基本開發(fā)過程,它將 由不完備的變成完備的 (尤其是對非英文的語言檢索 )。除此之外還可以在很多方面對 進(jìn)行改造。比如改進(jìn)其索引的效率,設(shè)置權(quán)重,操作索引庫,改進(jìn)其返回結(jié)果時(shí)候的緩沖機(jī)制等等,都是加強(qiáng) 系統(tǒng)的地方。 完成了 系統(tǒng)擴(kuò)充開發(fā),之后就可以考慮其上的應(yīng)用程序開發(fā)。如果系統(tǒng)也使用 C語言開發(fā),那么 系統(tǒng)能夠方便的潛入到整個(gè)系統(tǒng)中,作為一個(gè) API 集來調(diào)用。這個(gè)過程十分簡單,以下便是一個(gè)示例程序: //將元數(shù)據(jù)生成索引數(shù)據(jù)的方法 private IndexWriter CreateNewsIndex() { string ConString = @server=GAO。uid=sa。pwd=sagao。database=News。 string Index_Path = ProgressStartPath + \\Index + \\。 IndexWriter writer = null。 try { SqlConnection conn = new SqlConnection(ConString)。 if ( == ) { ()。 } SqlCommand cmd=new SqlCommand (select * from News,conn)。 SqlDataReader dr = ()。 writer = new IndexWriter(Index_Path, new StandardAnalyzer(), true)。 28 while (()) { Document doc = new Document()。 (new Field(tablename, News, , ))。 (new Field(title, dr[Title].ToString(), , ))。 (new Field(indexcontent, dr[Title].ToString() + dr[Content].ToString(), , ))。 (doc)。 } ()。 ()。 ()。 ()。 (Succeed!)。 } catch (Exception ex) { ()。 } return writer。 } 當(dāng)然。 全文檢索引擎也可以為服務(wù)器程序啟動(dòng),這就需要用戶自行擴(kuò)充其他應(yīng)用與 的接口。 29 4 系統(tǒng)設(shè)計(jì) 系統(tǒng)特點(diǎn) 通過對搜索引擎的學(xué)習(xí)和分析,針對于搜索引擎的特點(diǎn),設(shè)計(jì)了一個(gè)簡易的搜索引擎,實(shí)現(xiàn)對互聯(lián)網(wǎng)數(shù)據(jù)的采集,索引數(shù)據(jù)的生成,數(shù)據(jù)檢索等功能。系統(tǒng)命名為 EarthSearch。 系統(tǒng)使用 C語言進(jìn)行開發(fā),運(yùn)行在 .NET Framework 下,主要支持Windows 操作系統(tǒng),同時(shí)也可以移植到其他平臺。 系統(tǒng)在實(shí)現(xiàn)上具有以下特點(diǎn): 使用 C正則表達(dá)式解析 HTML,獲取 HTML 中核心數(shù)據(jù)。 使用 Microsoft SQL 2020 對采集的網(wǎng)頁數(shù)據(jù)進(jìn)行保存。 多線程進(jìn)行數(shù)據(jù)的采集,網(wǎng)頁文件的下載。 使用 對抓取的數(shù)據(jù)進(jìn)行索引文件的創(chuàng)建。 使用 通過索引文件對數(shù)據(jù)進(jìn)行檢索。 使用 Log4 實(shí)現(xiàn)日志功能模 塊。 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 系統(tǒng)在功能上采用分層方式,盡量減少層與層之間的耦合度,同時(shí)通過對模塊功能進(jìn)行精心劃分,取得了很好的可配置性。 從功能上劃分,系統(tǒng)主要由五個(gè)核心模塊構(gòu)成。包括:配置管理模塊,數(shù)據(jù)抓取模塊,數(shù)據(jù)索引模塊,數(shù)據(jù)檢索模塊,日志管理模塊。各模塊在實(shí)現(xiàn)上具有高度可隔離性。 配置管理模塊 配置管理模塊主要提供了對系統(tǒng)配置文件的操作,對配置文件進(jìn)行添加,修改,刪除等功能。 通過對配置文件的管理,可以很方便有效的對系統(tǒng)進(jìn)行管理。 使用SOAP 格式的 XML 進(jìn)行相關(guān)配置的保存, C對 XML 的操作具有很好的支持,可以高效的實(shí)現(xiàn)對 XML 節(jié)點(diǎn)、屬性等方面的操作。 30 數(shù)據(jù)抓取模塊 數(shù)據(jù)抓取模塊主要提供對 Inter 網(wǎng)頁數(shù)據(jù)的采集,數(shù)據(jù)的保存,網(wǎng)頁文件的下載。實(shí)現(xiàn)搜索引擎中的 Crawler 模塊。 由于互聯(lián)網(wǎng)上的數(shù)據(jù)多是以 HTML 文件的形式保存的,所以在對互聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行采集時(shí),需要對 HTML 進(jìn)行解析,獲取網(wǎng)頁中的核心內(nèi)容,去除掉無用的 HTML 標(biāo)簽,然后將采集的數(shù)據(jù)保存到數(shù)據(jù)庫中。這里利用 .NET 線程池以多線程的方式同步對網(wǎng)頁進(jìn)行抓取,從而實(shí)現(xiàn)數(shù)據(jù)抓取的高效性。在數(shù)據(jù)庫操作方面, 也提供了很好的支持,這里使用 Microsoft SQL 2020 對數(shù)據(jù)進(jìn)行保存,當(dāng)然也可以使用 Oracle 等數(shù)據(jù)庫。 數(shù)據(jù)索引模塊 數(shù)據(jù)索引模塊主要提供對數(shù)據(jù)抓取模塊的數(shù)據(jù)進(jìn)行索引,生成索引文件,為數(shù)據(jù)檢索模塊提供檢索數(shù)據(jù)。實(shí)現(xiàn)搜索引擎中的 Indexer 模塊。 本系統(tǒng)主要利用 對數(shù)據(jù)進(jìn)行索引,索引時(shí)使用單獨(dú)的線程,可以同數(shù)據(jù)抓取線程互相不干擾。最終生成 deletable 文件、 segment文件和數(shù)據(jù)索引文件。 數(shù)據(jù)檢索模塊 數(shù)據(jù)檢索模塊主要為用戶提供數(shù) 據(jù)檢索的功能。以 Web 的形式將符合條件的數(shù)據(jù)反饋給用戶。實(shí)現(xiàn)搜索引擎中的 Searcher 模塊。 通過 Web 的形式向用戶提供檢索的功能,接收用戶的查詢請求。首先進(jìn)行中文分詞,將接收到的用戶請求信息分割成若干個(gè)關(guān)鍵詞,然后通過關(guān)鍵詞在 生成的索引文件中查詢出符合條件的信息,最終進(jìn)行高亮、分頁處理反饋給用戶。 日志管理模塊 在對
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1