




已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 摘 要 個開源的用于制作搜索引擎的框架 。 目前第二代搜索引擎的設計思路為利用網(wǎng) 絡爬蟲建立數(shù)據(jù)源,結合分詞技術把數(shù)據(jù)源建成索引,利用索引從 海量的數(shù)據(jù)源 中得到搜索結果 ,對搜索的結果進行篩選和排序 , 把最終的結果展示給用戶 。 目前版本的 于 標準分詞 類 ,建立索引相關類,搜索索引相關類,文檔排序和相關性計算相關類等。 建立自 己所需的索引,實現(xiàn)多種多樣的搜索方式,進行結果的篩選和排序。本文介紹了搜索引擎的相關知識,分析了 碼,并對搜索引擎的未來進行了 展望。本文詳細介紹了自己編寫的一款在 開發(fā)的基于 新聞搜索引擎 ,并且通過對實際項目的介紹,闡明了 現(xiàn)的關鍵和優(yōu)缺點,同時還提供了一些與 后對實際項目進行了測試,并分析了測試結果 。 關鍵詞: 詞,索引,搜索,排序,相關性 ,優(yōu)缺點,搜索引擎,新聞 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) F N is an of is as to up a At to so us to us to on to of of a on I At I 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 目 錄 第一章 緒論 . 1 言 . 1 介 . 1 第二章 索引的建立 . 3 述 . 3 關的技術綜述 . 3 排索引 . 3 文分詞 . 4 字索引 . 4 科院分詞 . 4 丁解牛 . 4 古分詞 . 4 準分詞 . 4 引 的建立 . 4 引相關類介紹 . 4 引結構 . 5 引過程 . 5 引的合并與優(yōu)化 . 5 引管理 . 5 第三章 搜索 . 6 述 . 6 搜索 . 6 索相關類介紹 . 6 索過程 . 6 級搜索 . 6 索系統(tǒng)的分析 . 7 第四章 結果的篩選和排序 . 8 述 . 8 選 . 8 序 . 8 序相關技術介紹 . 8 序相關類介紹 . 8 序過程 . 8 序方式 . 9 關性排序 . 9 . 9 第五章 搜索引擎的未來 . 11 述 . 11 第六章 實現(xiàn) . 12 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 述 . 12 引的創(chuàng)建 . 12 據(jù)源的處理 . 12 引建立的整體思路 . 12 引方式的選擇 . 13 引的建立與優(yōu)化 . 13 引的管理 . 13 史數(shù)據(jù)索引生成器 . 13 史數(shù)據(jù)索引生成輔助工具 . 13 引管理工具 . 13 引自動更新服務 . 13 索的實現(xiàn) . 14 述 . 14 爾邏輯的實現(xiàn) . 14 間的搜索 . 14 序的實現(xiàn) . 14 照索引創(chuàng)建的時間排序 . 14 照相關性排序 . 14 存系統(tǒng) . 14 頁的實現(xiàn) . 15 志維護系統(tǒng) . 15 第七章 測試 . 16 述 . 16 引創(chuàng)建測試 . 16 引管理測試 . 16 索速度測試 . 16 索準確度測試 . 16 第八章 結論 . 18 參考文獻 . 19 致謝 . 20 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 1 頁 共 20 頁 第一章 緒論 言 看完一部電影,意猶未盡,想了解一下電影花絮;買好房子需要裝修,但隔行如隔山,在此之前什么都不懂;電腦出了問題,進程中出現(xiàn)了一個怪怪的東西,不知該如何解決。沒關系,只要在谷歌,百度上搜索,就算是拔苗助長,卻也能解決很多問題?;ヂ?lián)網(wǎng)的飛速發(fā)展,為我們開創(chuàng)了一個新時代。而要在這浩瀚的互聯(lián)網(wǎng)世界中尋找自己想要的東西,那就離不開搜索。 搜索是為網(wǎng)絡而生的。 現(xiàn)代意義上的搜索引擎的祖 先,是 1990午內(nèi)蒙特利爾入學學生明的 ,名字叫 當時大量的文件散播在各個 機中,人們得到一個資源往往要花費很多時間。 因此 明了一個按文件名查找文件的系統(tǒng):這個系統(tǒng)的工作原理已經(jīng)和現(xiàn)代的搜索引擎相接近了。 真正把搜索引擎引向互聯(lián)網(wǎng)的是一個叫“機器人”的 程序。它不間斷高速執(zhí)行則某項任務,就好像一個“ 機器人 ” 不斷在“互聯(lián)網(wǎng)”上穿梭, 這便是現(xiàn)在意義上的 “ 。世界上的第一個網(wǎng)絡爬蟲是 1994年,斯坦福大學的兩位博士生楊致遠和 此第一代搜索引擎誕生。 時候互聯(lián)網(wǎng)的數(shù)據(jù)量還不算太大, 網(wǎng)站站長也主動的把自己的網(wǎng)站的更新信息發(fā)布給 樣 很長一段時間內(nèi),以分類目錄為核心思想的搜索引擎占據(jù)了大量的市場份額,稱為第一代搜索引擎。 1997年, 1998年 此互聯(lián)網(wǎng)搜索進入 代 。 成立標志著第二代搜索引擎的誕生。這是一種以網(wǎng)絡爬蟲, 標志的搜索引擎。網(wǎng)絡爬蟲使得互聯(lián)網(wǎng)上數(shù)以億記的資源聯(lián)系在一起。 法到現(xiàn)在的沙盒,有效鏈接分數(shù)綜合算法,使得人們可以通過搜索引擎很方便的搜索到自己想要的資源。 先如今,搜索引擎蓬勃發(fā)展,網(wǎng)絡數(shù)據(jù)量與日俱增, 們都號稱是第三代搜索引擎,雖然嚴格來說他們和第二代搜索引擎并無區(qū)別,但是卻各有特點?,F(xiàn)在我們正在迎接互聯(lián)網(wǎng)的新時代,也在迎接搜索引擎的新時代 。 介 最初 件基金會 目組 的 子項目,是一個完全開放源碼的全文檢索工具包。 是一位資深全文檢索專家, 2000年 3月 2001年 10月 獻給 后逐漸被翻譯成了多種語言,如 C+、 C#、時 個 、 個基于 。它們的出現(xiàn)為 目前 是由于新版本剛剛發(fā)布,穩(wěn)定性還不是很好, 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 2 頁 共 20 頁 本文還是按照成熟的 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 3 頁 共 20 頁 第二章 索引的建立 述 我們首先已經(jīng)事先建立好了數(shù)據(jù)源,那么對于建立搜索引擎而言,第二步就是建立索引。索引的目的在于建立一個用戶目的信息,與數(shù)據(jù)源中一個單一數(shù)據(jù)的對應。具體到文章來說就是需要找到用戶所搜索的詞與文章的關聯(lián)。 索引的建立主要涉及一下幾個問題,什么樣的數(shù)據(jù)要建立索引?以怎樣的方式建立索引? 什么樣的數(shù)據(jù)需要建立索引呢?這就要分析用戶需求了?,F(xiàn)階段用戶往往輸入一段文字,然后希望找到與這段文字相關的信息。這段文字可以拆分成一個個的字,也可以拆分成一個個的詞。無論字詞,現(xiàn)在最后這都是我們獲取的用戶 信息,我們要通過這個用戶信息查找到相應的數(shù)據(jù),那么字詞便是需要建立索引的東西。與用戶有關的字詞,往往出現(xiàn)在文章的標題和文章的正文中,這便是我們需要建立索引的域。把這里邊的內(nèi)容拆成一個個的字詞,這些字詞就是我們要進行索引的數(shù)據(jù)。而且用戶需要搜索時間,我們就把時間整體索引,用戶需要搜索什么,我們就把什么做索引。 怎樣的方式去建立索引,決定了通過你的索引查找到相關文章的效率 ,索引的方式很多,我據(jù)一種簡單的方式,而后結合 種最簡單的建立索引的方式就是把字詞和一篇文章中出現(xiàn)過這 個字詞的文檔的編號存在一起。這樣,當搜索到這個字詞的時候,便能得到相應的文檔編號,通過文檔編號,便可以獲取文檔的全部信息。 索引的建立是開發(fā)搜索引擎的關鍵一步,他關系著你的搜索引擎的搜索效率。 關的技術綜述 排索引 倒排索引是 也常被稱為 反向索引 、 置入檔案 或 反向檔案 ,是一種 索引 方法,被用來 存儲 在 全文搜索 下某個單詞在一個文檔或者一組文檔中的 存儲位置 的 映射 。它是 文檔檢索系統(tǒng) 中最常用的 數(shù)據(jù)結構 。 舉一個例子: 文本 我愛中華人民共和國” 文本 我愛中國” 文本 中華人民共和國很偉大” 那么反向文件索引為: “我”: 0, 1 “愛”: 0, 1 “ 中華人民共和國”: 0, 2 “中國”: 1 “很”: 2 “偉大”: 2 這樣搜索“我”“中國”的結果就是 0,1 1=1 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 4 頁 共 20 頁 文分詞 中文分詞是索引建立的關鍵。因為中文博大精深,不像英語以空格完美分隔詞。同樣的一句話在不同的語境下意思不同,同樣連在一起兩個字,在某些情況下它們是一個詞,而有些情況下它們就是分別的字或者另一個詞的組成部分。例如我馬上到,我從馬上下來。兩個馬上很難區(qū)分。而且像“高高興興”這樣的疊詞,“去哪兒”這個兒化音詞,“吃了頓飯”這種分離詞都對使得分詞變得極其困難。 現(xiàn)在變簡單的介紹幾種分詞 方式。 字索引 按字分詞可以解決所有的問題,使得搜索變的十分準確,因為字是漢字的最小單位,我們只要知道輸入的是什么字,字與字之間的位置關系便可以確定整個搜索內(nèi)容。但是按字分詞往往使得索引過大,并且用戶往往都是直接輸入連在一起的漢字,這樣便使得,按字拆分的方法不能很好的猜測用戶的意思。 科院分詞 中科院分詞系統(tǒng)是目前使用很廣泛的系統(tǒng)。其最大的特點便是保留了大量的分詞組合結果,對于每一個結果,通過公司進行計算其相關性,從而從多個分詞結果中選出最合適的一個。另一個特點便是他的人名,地名識別系統(tǒng)。雖然在其開源版 本上不盡如人意,但是在其共享版的測試中效果還是非常好的。他的缺點是分詞數(shù)據(jù)并不是很快,而且開源版和共享版都有些問題。 優(yōu)點是分詞準確。 丁解牛 這個算法只有 本,其中的分詞算法效率很高,和 的詞法分析算法有一些類似。這個分詞的缺點是有很多分詞不準,優(yōu)點是分詞速度很快。 古分詞 這個分詞的思想便是匹配,但是其中對于多字的詞,這個分詞軟件設置了很高的優(yōu)先級,使得分詞結果與我們實際想要的結果更加接近。這個分詞的優(yōu)點是完全開源,結構清晰,方便在里邊修改源代碼,調(diào)整權重,并且有一套很好的 詞典管理工具。 缺點就是其內(nèi)置的詞典太過混亂,需要人工修改,并且分詞準確性不如中科院分詞。 準分詞 這個分詞是按照 后的結果是英文完美分詞,中文按字拆分。總的來說對英文應用來說是完美的分詞。但是對中文分詞來說,效率上不夠。 引的建立 引相關類介紹 (1) 的邏輯文件,每一個或多個物理文件與一個邏輯文件相對應。 (2) 表 個 多個 是否索引,是否儲存,是否分詞之分。 (3) 條,每個 (4) 索引相關類 (5) 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 5 頁 共 20 頁 讀索引相關類 引結構 (1) 常,一個 表 一個完整索引段,一個索引中會包含多個 (2) 含了 所有 (3) 于儲存 具有 據(jù)。 (4) 于儲存 (5) 于儲存分詞后的詞條。 (6) 明了每個 (7) 存了要刪除的文檔。 (8) 合索引格式。 引過程 (1) 初始化 初始化分詞器,設置好文件路徑。 (2) 生成 把每個 加到 分哪些是要保存的,哪些是要分詞的,哪些是要索引的。 (3) 寫索引。 把 息寫人緩存,然后生成 后合并為 (4) 索引的合并與優(yōu)化。 把多個 件合并為一個,并刪除無用信息。 引的合并與優(yōu)化 索引的合并通過 素控制,在批量建立索引時 少量添加索引時 索引的優(yōu)化通過 多個 引管理 過這個類,我們可以通過 過 除文檔,對刪除的文檔進行恢復等操作。 索引的建立還是通過索引的同步則依靠 實現(xiàn)。通過 兩個類 就 可以很好的管理索引。在具體的項目中會介紹如何有效的管理索引。 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 6 頁 共 20 頁 第三章 搜索 述 搜索是建立一個搜索引擎的第三步,也是根據(jù)需求確定內(nèi)核設計最煩瑣的一步。 我們在建立搜索是不僅要考慮搜索的 數(shù)量和范圍,更要定義相關的過濾器來過濾搜索結果,最后針對各種需求詳細設計自己的搜索邏輯。 就目前而言,用戶查看的往往只是搜索結果的前幾條。過多的搜索會造成不必要的時間浪費。如何建立緩存使得用戶快速查找,如何對最終結果進行估計,這些都顯得格外重要。 搜索結果的過濾是非常必要的,搜索結果包含敏感詞 ,用戶給出需求想要限制搜索結果的范圍,這些情況下都需要對搜索的結果進行過濾。 搜索邏輯是比較煩瑣的一塊,對于字詞的正則表達式的分析,各種域的限制,使得這一塊非常容易出錯。需要耐心的去修改,去完善。 搜索 索相關類介紹 (1) 義各種搜索的接口。 (2) 于 查詢的 (3) 存搜索結果的類型。 (4) 字詞生成查找對象。 索過程 (1) 初始化 擇相應的 (2) 初始化 過 字詞轉(zhuǎn)化成一個 然后把各種產(chǎn)生的 (3) 定義 始化 定過濾的范圍。 (4) 搜索 通過 回 到結果。 級搜索 (1) 是最簡單的一種 包括詞條本身的內(nèi)容和詞條所在的 過使用 可以進行最簡單也是最原始的搜索。 (2) 是布爾搜索。通過 們可以實現(xiàn)與、或、非的邏輯操作。 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 7 頁 共 20 頁 只需要在添加的時候指定這個值是必須出現(xiàn),必須不出現(xiàn)還是應該出現(xiàn)。 (3) 是范圍搜索。通過這個便可以搜索某個域中一定值范圍的數(shù)據(jù)。 (4) 是前綴搜索。通過這個便可以根據(jù)某種 前綴查找內(nèi)容了。 (5) 是短語搜索。通過這個便可以將短語作為一個整體進行搜索了。 (6) 是多短語搜索。通過這個便可以進行多個短語的搜索。 (7) 是模糊搜索。通過這個便可以幫助用戶按照單字進行模糊查找。 (8) 是通配符搜索。通過這個便可以通過一個帶有通配符的字符串來進行搜索。 (9) 是跨度搜索。這是一個在某個詞與詞的距離范圍內(nèi)匹配,便返回結果的搜索。 (10) 正則表達式 含 索 系統(tǒng)的分析 然實現(xiàn)了這么多的功能, 有很多的效率并不高。比如 如要查找 1 100 范圍內(nèi)的匹配,則要產(chǎn)生 100 個 對于產(chǎn)生的每一個 數(shù)據(jù)源進行搜索。這樣的結果就是耗費了大量的時間與內(nèi)存。 而對于使用 度也遠不如使用 且 給出一個精確的搜索結果。這樣就使得很多用戶查看概率非常小的信息也進行了搜索與記錄,大大浪費了搜索引擎的效率。 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 8 頁 共 20 頁 第四章 結果的 篩選和 排序 述 在搜索出結果之后需要對搜索結果進行篩選和排序了。篩選比較好理解,就是對于一些不需要或者不應該出現(xiàn)的結果進行過濾。在取得的搜索結果上使用過濾或者在搜索之前定義過濾機制都可以很好的完成任務。 對于搜索結果的排序一直是搜索引擎的一個難點 。 法思想是相關性排序的基礎。雖然根據(jù)不同的需求,可能產(chǎn)生 一些按照時間排序的情況出現(xiàn),但是排序中最重要的還是相關性排序。 終根據(jù)這個值進行排序。但是,這樣的一個代表相關性的值,卻很難找到一個有效的公式。 用次數(shù)而進行了最初的排序,而后有競價排名。經(jīng)歷了幾年的運行,用了好網(wǎng)站鏈接的方式在修改它的排序算法。而后更是通過多個數(shù)據(jù)來定時調(diào)整它的排序算法。后來我們又漸漸的發(fā)現(xiàn) 入了“沙盒”這個概念來管理新的網(wǎng)站和違規(guī)的網(wǎng)站??傊判蛩惴ㄒ驗槠渖虡I(yè)利益的問題顯得尤為重 要。 就算只是考慮準確性的因素,排序算法也顯得尤為重要。如何把更接近用戶意思的 將直接影響用戶對于這個搜索引擎的體驗。 選 (1) 是一個過濾一個范圍值之內(nèi)所有搜索結果的過濾器。 在某些情況下, 使用比使用 一些。但是在使用 前,就已經(jīng)遍歷過一次索引了,那么這會影響查詢的效率。 (2) 是一個在上次基礎上進行二次檢索所使用的過濾器??梢院芊奖愕膶崿F(xiàn)二次檢索。 序 序相關技術介紹 (1) 詞頻 某個關鍵字在某個文檔中出現(xiàn)的次數(shù)。 (2) 反文檔詞頻 在某類文檔中出現(xiàn)某個關鍵字的文檔的次數(shù) 序 相關類介紹 (1) 中有個 (2) 義文檔排序的方式。 序 過程 進行搜索的時候就進行了文章相關性值的計算。在進行搜索時也定義了最終的排序方式。整個排序的過程是結合在搜索過程中的。 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 9 頁 共 20 頁 序方式 (1) 按照文檔創(chuàng)建順序排序 這是 見的一種排序方式,即先創(chuàng)建索引的排在后邊。這 樣就等于我們通常意義的時間順序。 (2) 按照某個域排序 這是 另一種常見的排序方式。即按照某個域的值,從小到大或者從大到小排序。 (3) 按照相關性排序 這是 另一種常見的排序方式。這是按照事先計算好的分數(shù),對文檔按照從分數(shù)高到分數(shù)低的方式排序。 (4) 其它排序方式 如按照文檔編號等進行排序,但是由于不常用,這里就不列舉了,可 參照 關性排序 文檔的得分公式為: 總的來說 用了 基礎因子,長度因素作為輔助因子,并自行添加了一個域調(diào)節(jié)因子。 序系統(tǒng)的分析 排序系統(tǒng),就功能上來說是比較齊全的,但是最大的問題就是相關性排序。這樣一個簡單的相關性排序公司顯然無法很好的計算相關性。做好文章的相關性分析需要做到很多。首先,我們需要把文章中的詞劃分為三類。一類是常用詞,比如這,那,很好這之類的。一類是 這類文章的專有詞,即在這一類文章中經(jīng)常出現(xiàn),但在其它文章中不經(jīng)常出現(xiàn)的詞。 一類便是普通詞。 這個值能夠很好的區(qū)分常用詞,但是對于專有詞的 區(qū)分卻完全沒體現(xiàn)。試問,對于財經(jīng)內(nèi)搜索中“股票”一詞的價值和體育內(nèi)搜索中“股票”一詞的價值顯然不同。 這是其一,另外人們對于搜索 結果的前幾個往往比較重視,如果能在搜索結果中加入人工干預,便能夠針對特 基于 站內(nèi)新聞搜索引擎的設計與實現(xiàn) 第 10 頁 共 20 頁 殊問題來進行處理。就目前這個公式來看,這個公式能夠獲得大約 85的準確率。而我決定一般意義上要有 90的準確率才算合適,最好能達到 95。所以目前這個相關性計算的公
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆河南省豫南九校高二化學第二學期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 2025屆西藏自治區(qū)日喀則市南木林高中高二化學第二學期期末學業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 機構資質(zhì)認證管理辦法
- 佛山工程合同管理辦法
- 農(nóng)村供水資產(chǎn)管理辦法
- 物業(yè)服務人員年度培訓體系構建與實施效果評估
- 檢修班組培訓管理辦法
- 空調(diào)自控系統(tǒng)運行驗證與性能評估方案
- 環(huán)保施工技術實施方案
- 橋梁養(yǎng)護工程管理辦法
- 【公開課】三角形的邊+課件+2025-2026學年人教版八年級數(shù)學上冊
- 2025年廣東省普通高中學業(yè)水平合格性考試模擬一歷史試題(含答案)
- 【公開課】+分子動理論的初步知識(教學課件)2025-2026學年初中物理人教版(2024)九年級全一冊
- 2025至2030中國角膜塑形鏡行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2023aki的預防診斷和管理
- 2025年4月自考03346項目管理試題
- 慢性腎衰竭患者心理的護理
- 艾梅乙反歧視培訓課件
- 2024年安徽外國語學院輔導員考試真題
- 2025年經(jīng)濟法與金融監(jiān)管專業(yè)考試試題及答案
- 菱鎂礦行業(yè)研究報告
評論
0/150
提交評論