楊桃 陳婷婷 范云琳 劉興強 閆自金 宋紹云
摘要:數(shù)據(jù)庫設(shè)計是企業(yè)內(nèi)網(wǎng)搜索引擎的核心,數(shù)據(jù)庫設(shè)計的合理性,科學(xué)性及高效性對整個搜索引擎的性能起到關(guān)鍵的作用。明確企業(yè)內(nèi)網(wǎng)搜索引擎數(shù)據(jù)庫的要求,并分析企業(yè)內(nèi)網(wǎng)數(shù)據(jù)庫的結(jié)構(gòu),給出數(shù)據(jù)庫在搜索引擎中的應(yīng)用。
關(guān)鍵詞:企業(yè)內(nèi)網(wǎng);搜索引擎;信息;數(shù)據(jù)庫
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)01-0008-03
1 概述
目前網(wǎng)絡(luò)服務(wù),特別是局域網(wǎng)搜索引擎在企業(yè)網(wǎng)絡(luò)內(nèi)得到廣泛應(yīng)用,但是企業(yè)內(nèi)網(wǎng)搜索引擎,搜索到的信息單一,只有標題,沒有與標題(關(guān)鍵詞)相關(guān)的信息,不方便使用者了解是否已經(jīng)獲得自己需要的信息,所以類似百度、谷歌等的局域網(wǎng)搜索引擎在企業(yè)網(wǎng)中將有著廣泛的應(yīng)用前景。
因此實現(xiàn)對企業(yè)內(nèi)網(wǎng)中文件的搜索的快速性和準確性,優(yōu)化搜索結(jié)果,返回用戶需要的信息,以及對整個搜索引擎的實現(xiàn)。使得企業(yè)資源更好的共享、信息的實時性,避免了舊的復(fù)雜、層層傳遞的麻煩,大大提高了資源的有效利用率。然而,要做到高效,準確的搜索到用戶所需要的相關(guān)信息,就必須從數(shù)據(jù)庫設(shè)計開始,因為在現(xiàn)在的應(yīng)用系統(tǒng)中,衡量應(yīng)用系統(tǒng)成敗的標準之一就是對數(shù)據(jù)查詢及處理的速度。
2 關(guān)鍵詞及信息管理
企業(yè)內(nèi)網(wǎng)搜索引擎是對內(nèi)網(wǎng)中的信息資源進行搜集整理,然后高效率的為內(nèi)網(wǎng)用戶提供查詢的系統(tǒng)。企業(yè)內(nèi)網(wǎng)搜索引擎它包括網(wǎng)站信息添加、網(wǎng)站信息修改和網(wǎng)站信息刪除幾部分。目前企業(yè)內(nèi)網(wǎng)搜索引擎的工作模式是基于關(guān)鍵詞的檢索,應(yīng)用這種搜索方式,用戶可以用邏輯組合方式在企業(yè)內(nèi)網(wǎng)搜索引擎導(dǎo)航上輸入與自己搜索相關(guān)的關(guān)鍵詞,企業(yè)內(nèi)網(wǎng)搜索引擎則根據(jù)用戶輸入的關(guān)鍵詞尋找用戶所需內(nèi)網(wǎng)中資源的地址,然后使用相關(guān)的技術(shù)將在導(dǎo)航上輸入的關(guān)鍵詞的所有相關(guān)網(wǎng)址及指向相關(guān)網(wǎng)址的鏈接按照一定的順序返回給用戶。例如,百度。
用戶輸入的關(guān)鍵詞經(jīng)過處理后,企業(yè)內(nèi)網(wǎng)搜索引擎程序便開始工作,從索引數(shù)據(jù)庫中找出所有包含關(guān)鍵詞的網(wǎng)頁信息,并且根據(jù)排名算法計算出哪些網(wǎng)頁應(yīng)該排在前面,然后按照一定格式返回到頁面。
3 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計
企業(yè)內(nèi)網(wǎng)搜索引擎的數(shù)據(jù)結(jié)構(gòu)為倒排索引(也稱倒排文件),倒排索引是指用相關(guān)記錄的非主屬性值(也叫外鍵)來查找記錄而組織形成的文件叫倒排文件。所有外鍵值都存在于倒排文件中,并列出了與之相關(guān)的所有主鍵值的記錄,主要用于比較復(fù)雜的查詢。與傳統(tǒng)的數(shù)據(jù)庫查詢不同,在企業(yè)內(nèi)網(wǎng)搜索引擎收集完數(shù)據(jù)及關(guān)鍵詞的預(yù)處理階段,需要一種高效快速的數(shù)據(jù)結(jié)構(gòu)來對用戶提供檢索服務(wù)。然而目前最有效高速的數(shù)據(jù)結(jié)構(gòu)就是“倒排文件”。倒排文件可以被簡單的定義為“用文檔中的關(guān)鍵詞作為索引,內(nèi)網(wǎng)中的文檔作為索引目標”的結(jié)構(gòu)。
在現(xiàn)在的應(yīng)用系統(tǒng)中,衡量應(yīng)用系統(tǒng)成敗的標準之一就是對數(shù)據(jù)查詢及處理的速度。需要設(shè)計一個搜索引擎數(shù)據(jù)庫用于存放相關(guān)信息,一旦有文章更新則更新文章中的信息及關(guān)鍵詞段,企業(yè)內(nèi)網(wǎng)搜索引擎在內(nèi)存中完成所有的文章關(guān)鍵詞段搜索,并且在此期間不允許有其他的操作,比如說文章的更新等等。在對企業(yè)內(nèi)網(wǎng)搜索引擎的功能模塊進行分析以后,建立了數(shù)據(jù)庫。
3.1 數(shù)據(jù)流圖
3.2 數(shù)據(jù)庫設(shè)計步驟
1) 數(shù)據(jù)庫需求分析:對企業(yè)內(nèi)網(wǎng)搜索引擎的實施與應(yīng)用的必要性和可行性進行論證,羅列出相關(guān)對象及其屬性,形成數(shù)據(jù)字典。
2) 數(shù)據(jù)庫系統(tǒng)分析:在需求分析的結(jié)果上進行總體分析,了解數(shù)據(jù)庫整體結(jié)構(gòu)。
3) 數(shù)據(jù)庫功能和對象分析:對總體分析進行細化從對象和功能方面進行詳細描述。
4) 數(shù)據(jù)庫設(shè)計:選用SQL Server對功能和對象建立表。
3.3 各表之間關(guān)系
3.4 數(shù)據(jù)對象
3.4.1 Web對象
用途:為Web頁面提供存儲,提取,URL操作,方便對Web頁面的增加,刪除與修改。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
持久性:持久對象
屬性描述
屬性:url 類型:String 描述:本網(wǎng)頁的URL。
屬性:title 類型:String 描述:記錄網(wǎng)頁的標題
屬性:time 類型:time 描述:記錄網(wǎng)頁添加時間
屬性:content 類型:String 描述:記錄與網(wǎng)頁相關(guān)的內(nèi)容,并顯示出搜索到的網(wǎng)頁的相關(guān)信息。
3.4.2 Admin對象
用途:為系統(tǒng)提供后臺管理,設(shè)置管理員登錄,并且登錄密碼采用MD5加密。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
屬性描述
屬性:username 類型:String 描述:記錄管理員登錄名
屬性:password 類型:String 描述:記錄管理員登錄密碼
屬性:login_ip 類型:String 描述:記錄登錄的IP地址
3.4.3 Keyword對象
用途:當(dāng)用戶在導(dǎo)航欄上輸入關(guān)鍵詞后,為系統(tǒng)提供對關(guān)鍵詞的管理。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
屬性描述
屬性:keyword 類型:String 描述:記錄用戶在內(nèi)網(wǎng)中導(dǎo)航上輸入的關(guān)鍵詞。
4 完整性約束
完整性約束條件也稱為完整性規(guī)則,關(guān)系完整性約束是為確保數(shù)據(jù)庫中數(shù)據(jù)的相容性和正確性,對關(guān)系模型提出的某種約束條件或規(guī)則,是數(shù)據(jù)庫中數(shù)據(jù)必須滿足的語義約束條件。
4.1 數(shù)據(jù)庫約束
數(shù)據(jù)庫顧名思義就是指一個用戶或者管理員定義的表的集合;然而數(shù)據(jù)庫約束是指所建立的數(shù)據(jù)庫必須滿足某個特定的條件(本數(shù)據(jù)庫中各表之間的相互聯(lián)系)。
4.2 表約束
表約束就是指該表的每條記錄必須滿足某個特定的條件(只涉及該表本身而不涉及數(shù)據(jù)庫中的其他表和其他域)。SQL允許把約束定義在字段和表上,允許對數(shù)據(jù)施予任意的控制,若用戶想在字段里存儲違反約束的數(shù)據(jù),那么就會出現(xiàn)錯誤。這種情況同時也適用于數(shù)值來自缺省值的情況。表約束有以下幾種類型:
1) 檢查約束:是最常見的約束類型。允許在某個字段里聲明的數(shù)值使一個結(jié)果為真的布爾表達式。
2) 非空約束:只是簡單地聲明一個字段必須不能是 NULL ,非空約束在功能上等效于創(chuàng)建一個檢查約束。
3) 唯一約束:保證在一個字段或者一組字段里的數(shù)據(jù)與表中其它行的數(shù)據(jù)相比是唯一的。
4) 主鍵:只是唯一約束和非空約束的組合。
5) 外鍵:聲明一個字段的數(shù)值必須匹配另外一個表中出現(xiàn)的數(shù)值。
以上約束類型的語法參考SQL數(shù)據(jù)庫,例如要強制一個產(chǎn)品的價格的檢查約束,可以使用下面語法:
CREATE TABLE products (
pdn integer,
name text,
price numeric CHECK (price > 0)
);
5 數(shù)據(jù)備份與數(shù)據(jù)安全
數(shù)據(jù)備份分為完全備份和差異備份。完全備份就是將整個數(shù)據(jù)都做備份;差異備份是從上一次完全備份后所做的數(shù)據(jù)進行備份。數(shù)據(jù)安全是一種主動的包含措施,數(shù)據(jù)本身的安全必須基于可靠的加密算法與安全體系,其中在企業(yè)內(nèi)網(wǎng)搜索引擎的數(shù)據(jù)庫建立中就采用了MD5加密算法,保證內(nèi)網(wǎng)中的數(shù)據(jù)庫信息的數(shù)據(jù)安全性。
參考文獻:
[1] 袁津生,李群,蔡岳.搜索引擎原理與實踐[M].北京郵電大學(xué)出版社.
[2] 吳潔明,軟件工程應(yīng)用實踐教程[M].清華大學(xué)出版社.
[3] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概[M].論高等教育出版社.
[4] 王珊,崔敬東,高慶成.SQL Server 2005數(shù)據(jù)庫技術(shù)與應(yīng)用 [M].清華大學(xué)出版社.endprint
摘要:數(shù)據(jù)庫設(shè)計是企業(yè)內(nèi)網(wǎng)搜索引擎的核心,數(shù)據(jù)庫設(shè)計的合理性,科學(xué)性及高效性對整個搜索引擎的性能起到關(guān)鍵的作用。明確企業(yè)內(nèi)網(wǎng)搜索引擎數(shù)據(jù)庫的要求,并分析企業(yè)內(nèi)網(wǎng)數(shù)據(jù)庫的結(jié)構(gòu),給出數(shù)據(jù)庫在搜索引擎中的應(yīng)用。
關(guān)鍵詞:企業(yè)內(nèi)網(wǎng);搜索引擎;信息;數(shù)據(jù)庫
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)01-0008-03
1 概述
目前網(wǎng)絡(luò)服務(wù),特別是局域網(wǎng)搜索引擎在企業(yè)網(wǎng)絡(luò)內(nèi)得到廣泛應(yīng)用,但是企業(yè)內(nèi)網(wǎng)搜索引擎,搜索到的信息單一,只有標題,沒有與標題(關(guān)鍵詞)相關(guān)的信息,不方便使用者了解是否已經(jīng)獲得自己需要的信息,所以類似百度、谷歌等的局域網(wǎng)搜索引擎在企業(yè)網(wǎng)中將有著廣泛的應(yīng)用前景。
因此實現(xiàn)對企業(yè)內(nèi)網(wǎng)中文件的搜索的快速性和準確性,優(yōu)化搜索結(jié)果,返回用戶需要的信息,以及對整個搜索引擎的實現(xiàn)。使得企業(yè)資源更好的共享、信息的實時性,避免了舊的復(fù)雜、層層傳遞的麻煩,大大提高了資源的有效利用率。然而,要做到高效,準確的搜索到用戶所需要的相關(guān)信息,就必須從數(shù)據(jù)庫設(shè)計開始,因為在現(xiàn)在的應(yīng)用系統(tǒng)中,衡量應(yīng)用系統(tǒng)成敗的標準之一就是對數(shù)據(jù)查詢及處理的速度。
2 關(guān)鍵詞及信息管理
企業(yè)內(nèi)網(wǎng)搜索引擎是對內(nèi)網(wǎng)中的信息資源進行搜集整理,然后高效率的為內(nèi)網(wǎng)用戶提供查詢的系統(tǒng)。企業(yè)內(nèi)網(wǎng)搜索引擎它包括網(wǎng)站信息添加、網(wǎng)站信息修改和網(wǎng)站信息刪除幾部分。目前企業(yè)內(nèi)網(wǎng)搜索引擎的工作模式是基于關(guān)鍵詞的檢索,應(yīng)用這種搜索方式,用戶可以用邏輯組合方式在企業(yè)內(nèi)網(wǎng)搜索引擎導(dǎo)航上輸入與自己搜索相關(guān)的關(guān)鍵詞,企業(yè)內(nèi)網(wǎng)搜索引擎則根據(jù)用戶輸入的關(guān)鍵詞尋找用戶所需內(nèi)網(wǎng)中資源的地址,然后使用相關(guān)的技術(shù)將在導(dǎo)航上輸入的關(guān)鍵詞的所有相關(guān)網(wǎng)址及指向相關(guān)網(wǎng)址的鏈接按照一定的順序返回給用戶。例如,百度。
用戶輸入的關(guān)鍵詞經(jīng)過處理后,企業(yè)內(nèi)網(wǎng)搜索引擎程序便開始工作,從索引數(shù)據(jù)庫中找出所有包含關(guān)鍵詞的網(wǎng)頁信息,并且根據(jù)排名算法計算出哪些網(wǎng)頁應(yīng)該排在前面,然后按照一定格式返回到頁面。
3 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計
企業(yè)內(nèi)網(wǎng)搜索引擎的數(shù)據(jù)結(jié)構(gòu)為倒排索引(也稱倒排文件),倒排索引是指用相關(guān)記錄的非主屬性值(也叫外鍵)來查找記錄而組織形成的文件叫倒排文件。所有外鍵值都存在于倒排文件中,并列出了與之相關(guān)的所有主鍵值的記錄,主要用于比較復(fù)雜的查詢。與傳統(tǒng)的數(shù)據(jù)庫查詢不同,在企業(yè)內(nèi)網(wǎng)搜索引擎收集完數(shù)據(jù)及關(guān)鍵詞的預(yù)處理階段,需要一種高效快速的數(shù)據(jù)結(jié)構(gòu)來對用戶提供檢索服務(wù)。然而目前最有效高速的數(shù)據(jù)結(jié)構(gòu)就是“倒排文件”。倒排文件可以被簡單的定義為“用文檔中的關(guān)鍵詞作為索引,內(nèi)網(wǎng)中的文檔作為索引目標”的結(jié)構(gòu)。
在現(xiàn)在的應(yīng)用系統(tǒng)中,衡量應(yīng)用系統(tǒng)成敗的標準之一就是對數(shù)據(jù)查詢及處理的速度。需要設(shè)計一個搜索引擎數(shù)據(jù)庫用于存放相關(guān)信息,一旦有文章更新則更新文章中的信息及關(guān)鍵詞段,企業(yè)內(nèi)網(wǎng)搜索引擎在內(nèi)存中完成所有的文章關(guān)鍵詞段搜索,并且在此期間不允許有其他的操作,比如說文章的更新等等。在對企業(yè)內(nèi)網(wǎng)搜索引擎的功能模塊進行分析以后,建立了數(shù)據(jù)庫。
3.1 數(shù)據(jù)流圖
3.2 數(shù)據(jù)庫設(shè)計步驟
1) 數(shù)據(jù)庫需求分析:對企業(yè)內(nèi)網(wǎng)搜索引擎的實施與應(yīng)用的必要性和可行性進行論證,羅列出相關(guān)對象及其屬性,形成數(shù)據(jù)字典。
2) 數(shù)據(jù)庫系統(tǒng)分析:在需求分析的結(jié)果上進行總體分析,了解數(shù)據(jù)庫整體結(jié)構(gòu)。
3) 數(shù)據(jù)庫功能和對象分析:對總體分析進行細化從對象和功能方面進行詳細描述。
4) 數(shù)據(jù)庫設(shè)計:選用SQL Server對功能和對象建立表。
3.3 各表之間關(guān)系
3.4 數(shù)據(jù)對象
3.4.1 Web對象
用途:為Web頁面提供存儲,提取,URL操作,方便對Web頁面的增加,刪除與修改。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
持久性:持久對象
屬性描述
屬性:url 類型:String 描述:本網(wǎng)頁的URL。
屬性:title 類型:String 描述:記錄網(wǎng)頁的標題
屬性:time 類型:time 描述:記錄網(wǎng)頁添加時間
屬性:content 類型:String 描述:記錄與網(wǎng)頁相關(guān)的內(nèi)容,并顯示出搜索到的網(wǎng)頁的相關(guān)信息。
3.4.2 Admin對象
用途:為系統(tǒng)提供后臺管理,設(shè)置管理員登錄,并且登錄密碼采用MD5加密。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
屬性描述
屬性:username 類型:String 描述:記錄管理員登錄名
屬性:password 類型:String 描述:記錄管理員登錄密碼
屬性:login_ip 類型:String 描述:記錄登錄的IP地址
3.4.3 Keyword對象
用途:當(dāng)用戶在導(dǎo)航欄上輸入關(guān)鍵詞后,為系統(tǒng)提供對關(guān)鍵詞的管理。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
屬性描述
屬性:keyword 類型:String 描述:記錄用戶在內(nèi)網(wǎng)中導(dǎo)航上輸入的關(guān)鍵詞。
4 完整性約束
完整性約束條件也稱為完整性規(guī)則,關(guān)系完整性約束是為確保數(shù)據(jù)庫中數(shù)據(jù)的相容性和正確性,對關(guān)系模型提出的某種約束條件或規(guī)則,是數(shù)據(jù)庫中數(shù)據(jù)必須滿足的語義約束條件。
4.1 數(shù)據(jù)庫約束
數(shù)據(jù)庫顧名思義就是指一個用戶或者管理員定義的表的集合;然而數(shù)據(jù)庫約束是指所建立的數(shù)據(jù)庫必須滿足某個特定的條件(本數(shù)據(jù)庫中各表之間的相互聯(lián)系)。
4.2 表約束
表約束就是指該表的每條記錄必須滿足某個特定的條件(只涉及該表本身而不涉及數(shù)據(jù)庫中的其他表和其他域)。SQL允許把約束定義在字段和表上,允許對數(shù)據(jù)施予任意的控制,若用戶想在字段里存儲違反約束的數(shù)據(jù),那么就會出現(xiàn)錯誤。這種情況同時也適用于數(shù)值來自缺省值的情況。表約束有以下幾種類型:
1) 檢查約束:是最常見的約束類型。允許在某個字段里聲明的數(shù)值使一個結(jié)果為真的布爾表達式。
2) 非空約束:只是簡單地聲明一個字段必須不能是 NULL ,非空約束在功能上等效于創(chuàng)建一個檢查約束。
3) 唯一約束:保證在一個字段或者一組字段里的數(shù)據(jù)與表中其它行的數(shù)據(jù)相比是唯一的。
4) 主鍵:只是唯一約束和非空約束的組合。
5) 外鍵:聲明一個字段的數(shù)值必須匹配另外一個表中出現(xiàn)的數(shù)值。
以上約束類型的語法參考SQL數(shù)據(jù)庫,例如要強制一個產(chǎn)品的價格的檢查約束,可以使用下面語法:
CREATE TABLE products (
pdn integer,
name text,
price numeric CHECK (price > 0)
);
5 數(shù)據(jù)備份與數(shù)據(jù)安全
數(shù)據(jù)備份分為完全備份和差異備份。完全備份就是將整個數(shù)據(jù)都做備份;差異備份是從上一次完全備份后所做的數(shù)據(jù)進行備份。數(shù)據(jù)安全是一種主動的包含措施,數(shù)據(jù)本身的安全必須基于可靠的加密算法與安全體系,其中在企業(yè)內(nèi)網(wǎng)搜索引擎的數(shù)據(jù)庫建立中就采用了MD5加密算法,保證內(nèi)網(wǎng)中的數(shù)據(jù)庫信息的數(shù)據(jù)安全性。
參考文獻:
[1] 袁津生,李群,蔡岳.搜索引擎原理與實踐[M].北京郵電大學(xué)出版社.
[2] 吳潔明,軟件工程應(yīng)用實踐教程[M].清華大學(xué)出版社.
[3] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概[M].論高等教育出版社.
[4] 王珊,崔敬東,高慶成.SQL Server 2005數(shù)據(jù)庫技術(shù)與應(yīng)用 [M].清華大學(xué)出版社.endprint
摘要:數(shù)據(jù)庫設(shè)計是企業(yè)內(nèi)網(wǎng)搜索引擎的核心,數(shù)據(jù)庫設(shè)計的合理性,科學(xué)性及高效性對整個搜索引擎的性能起到關(guān)鍵的作用。明確企業(yè)內(nèi)網(wǎng)搜索引擎數(shù)據(jù)庫的要求,并分析企業(yè)內(nèi)網(wǎng)數(shù)據(jù)庫的結(jié)構(gòu),給出數(shù)據(jù)庫在搜索引擎中的應(yīng)用。
關(guān)鍵詞:企業(yè)內(nèi)網(wǎng);搜索引擎;信息;數(shù)據(jù)庫
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)01-0008-03
1 概述
目前網(wǎng)絡(luò)服務(wù),特別是局域網(wǎng)搜索引擎在企業(yè)網(wǎng)絡(luò)內(nèi)得到廣泛應(yīng)用,但是企業(yè)內(nèi)網(wǎng)搜索引擎,搜索到的信息單一,只有標題,沒有與標題(關(guān)鍵詞)相關(guān)的信息,不方便使用者了解是否已經(jīng)獲得自己需要的信息,所以類似百度、谷歌等的局域網(wǎng)搜索引擎在企業(yè)網(wǎng)中將有著廣泛的應(yīng)用前景。
因此實現(xiàn)對企業(yè)內(nèi)網(wǎng)中文件的搜索的快速性和準確性,優(yōu)化搜索結(jié)果,返回用戶需要的信息,以及對整個搜索引擎的實現(xiàn)。使得企業(yè)資源更好的共享、信息的實時性,避免了舊的復(fù)雜、層層傳遞的麻煩,大大提高了資源的有效利用率。然而,要做到高效,準確的搜索到用戶所需要的相關(guān)信息,就必須從數(shù)據(jù)庫設(shè)計開始,因為在現(xiàn)在的應(yīng)用系統(tǒng)中,衡量應(yīng)用系統(tǒng)成敗的標準之一就是對數(shù)據(jù)查詢及處理的速度。
2 關(guān)鍵詞及信息管理
企業(yè)內(nèi)網(wǎng)搜索引擎是對內(nèi)網(wǎng)中的信息資源進行搜集整理,然后高效率的為內(nèi)網(wǎng)用戶提供查詢的系統(tǒng)。企業(yè)內(nèi)網(wǎng)搜索引擎它包括網(wǎng)站信息添加、網(wǎng)站信息修改和網(wǎng)站信息刪除幾部分。目前企業(yè)內(nèi)網(wǎng)搜索引擎的工作模式是基于關(guān)鍵詞的檢索,應(yīng)用這種搜索方式,用戶可以用邏輯組合方式在企業(yè)內(nèi)網(wǎng)搜索引擎導(dǎo)航上輸入與自己搜索相關(guān)的關(guān)鍵詞,企業(yè)內(nèi)網(wǎng)搜索引擎則根據(jù)用戶輸入的關(guān)鍵詞尋找用戶所需內(nèi)網(wǎng)中資源的地址,然后使用相關(guān)的技術(shù)將在導(dǎo)航上輸入的關(guān)鍵詞的所有相關(guān)網(wǎng)址及指向相關(guān)網(wǎng)址的鏈接按照一定的順序返回給用戶。例如,百度。
用戶輸入的關(guān)鍵詞經(jīng)過處理后,企業(yè)內(nèi)網(wǎng)搜索引擎程序便開始工作,從索引數(shù)據(jù)庫中找出所有包含關(guān)鍵詞的網(wǎng)頁信息,并且根據(jù)排名算法計算出哪些網(wǎng)頁應(yīng)該排在前面,然后按照一定格式返回到頁面。
3 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計
企業(yè)內(nèi)網(wǎng)搜索引擎的數(shù)據(jù)結(jié)構(gòu)為倒排索引(也稱倒排文件),倒排索引是指用相關(guān)記錄的非主屬性值(也叫外鍵)來查找記錄而組織形成的文件叫倒排文件。所有外鍵值都存在于倒排文件中,并列出了與之相關(guān)的所有主鍵值的記錄,主要用于比較復(fù)雜的查詢。與傳統(tǒng)的數(shù)據(jù)庫查詢不同,在企業(yè)內(nèi)網(wǎng)搜索引擎收集完數(shù)據(jù)及關(guān)鍵詞的預(yù)處理階段,需要一種高效快速的數(shù)據(jù)結(jié)構(gòu)來對用戶提供檢索服務(wù)。然而目前最有效高速的數(shù)據(jù)結(jié)構(gòu)就是“倒排文件”。倒排文件可以被簡單的定義為“用文檔中的關(guān)鍵詞作為索引,內(nèi)網(wǎng)中的文檔作為索引目標”的結(jié)構(gòu)。
在現(xiàn)在的應(yīng)用系統(tǒng)中,衡量應(yīng)用系統(tǒng)成敗的標準之一就是對數(shù)據(jù)查詢及處理的速度。需要設(shè)計一個搜索引擎數(shù)據(jù)庫用于存放相關(guān)信息,一旦有文章更新則更新文章中的信息及關(guān)鍵詞段,企業(yè)內(nèi)網(wǎng)搜索引擎在內(nèi)存中完成所有的文章關(guān)鍵詞段搜索,并且在此期間不允許有其他的操作,比如說文章的更新等等。在對企業(yè)內(nèi)網(wǎng)搜索引擎的功能模塊進行分析以后,建立了數(shù)據(jù)庫。
3.1 數(shù)據(jù)流圖
3.2 數(shù)據(jù)庫設(shè)計步驟
1) 數(shù)據(jù)庫需求分析:對企業(yè)內(nèi)網(wǎng)搜索引擎的實施與應(yīng)用的必要性和可行性進行論證,羅列出相關(guān)對象及其屬性,形成數(shù)據(jù)字典。
2) 數(shù)據(jù)庫系統(tǒng)分析:在需求分析的結(jié)果上進行總體分析,了解數(shù)據(jù)庫整體結(jié)構(gòu)。
3) 數(shù)據(jù)庫功能和對象分析:對總體分析進行細化從對象和功能方面進行詳細描述。
4) 數(shù)據(jù)庫設(shè)計:選用SQL Server對功能和對象建立表。
3.3 各表之間關(guān)系
3.4 數(shù)據(jù)對象
3.4.1 Web對象
用途:為Web頁面提供存儲,提取,URL操作,方便對Web頁面的增加,刪除與修改。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
持久性:持久對象
屬性描述
屬性:url 類型:String 描述:本網(wǎng)頁的URL。
屬性:title 類型:String 描述:記錄網(wǎng)頁的標題
屬性:time 類型:time 描述:記錄網(wǎng)頁添加時間
屬性:content 類型:String 描述:記錄與網(wǎng)頁相關(guān)的內(nèi)容,并顯示出搜索到的網(wǎng)頁的相關(guān)信息。
3.4.2 Admin對象
用途:為系統(tǒng)提供后臺管理,設(shè)置管理員登錄,并且登錄密碼采用MD5加密。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
屬性描述
屬性:username 類型:String 描述:記錄管理員登錄名
屬性:password 類型:String 描述:記錄管理員登錄密碼
屬性:login_ip 類型:String 描述:記錄登錄的IP地址
3.4.3 Keyword對象
用途:當(dāng)用戶在導(dǎo)航欄上輸入關(guān)鍵詞后,為系統(tǒng)提供對關(guān)鍵詞的管理。
約束:數(shù)據(jù)系統(tǒng)中包含多個實例
屬性描述
屬性:keyword 類型:String 描述:記錄用戶在內(nèi)網(wǎng)中導(dǎo)航上輸入的關(guān)鍵詞。
4 完整性約束
完整性約束條件也稱為完整性規(guī)則,關(guān)系完整性約束是為確保數(shù)據(jù)庫中數(shù)據(jù)的相容性和正確性,對關(guān)系模型提出的某種約束條件或規(guī)則,是數(shù)據(jù)庫中數(shù)據(jù)必須滿足的語義約束條件。
4.1 數(shù)據(jù)庫約束
數(shù)據(jù)庫顧名思義就是指一個用戶或者管理員定義的表的集合;然而數(shù)據(jù)庫約束是指所建立的數(shù)據(jù)庫必須滿足某個特定的條件(本數(shù)據(jù)庫中各表之間的相互聯(lián)系)。
4.2 表約束
表約束就是指該表的每條記錄必須滿足某個特定的條件(只涉及該表本身而不涉及數(shù)據(jù)庫中的其他表和其他域)。SQL允許把約束定義在字段和表上,允許對數(shù)據(jù)施予任意的控制,若用戶想在字段里存儲違反約束的數(shù)據(jù),那么就會出現(xiàn)錯誤。這種情況同時也適用于數(shù)值來自缺省值的情況。表約束有以下幾種類型:
1) 檢查約束:是最常見的約束類型。允許在某個字段里聲明的數(shù)值使一個結(jié)果為真的布爾表達式。
2) 非空約束:只是簡單地聲明一個字段必須不能是 NULL ,非空約束在功能上等效于創(chuàng)建一個檢查約束。
3) 唯一約束:保證在一個字段或者一組字段里的數(shù)據(jù)與表中其它行的數(shù)據(jù)相比是唯一的。
4) 主鍵:只是唯一約束和非空約束的組合。
5) 外鍵:聲明一個字段的數(shù)值必須匹配另外一個表中出現(xiàn)的數(shù)值。
以上約束類型的語法參考SQL數(shù)據(jù)庫,例如要強制一個產(chǎn)品的價格的檢查約束,可以使用下面語法:
CREATE TABLE products (
pdn integer,
name text,
price numeric CHECK (price > 0)
);
5 數(shù)據(jù)備份與數(shù)據(jù)安全
數(shù)據(jù)備份分為完全備份和差異備份。完全備份就是將整個數(shù)據(jù)都做備份;差異備份是從上一次完全備份后所做的數(shù)據(jù)進行備份。數(shù)據(jù)安全是一種主動的包含措施,數(shù)據(jù)本身的安全必須基于可靠的加密算法與安全體系,其中在企業(yè)內(nèi)網(wǎng)搜索引擎的數(shù)據(jù)庫建立中就采用了MD5加密算法,保證內(nèi)網(wǎng)中的數(shù)據(jù)庫信息的數(shù)據(jù)安全性。
參考文獻:
[1] 袁津生,李群,蔡岳.搜索引擎原理與實踐[M].北京郵電大學(xué)出版社.
[2] 吳潔明,軟件工程應(yīng)用實踐教程[M].清華大學(xué)出版社.
[3] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概[M].論高等教育出版社.
[4] 王珊,崔敬東,高慶成.SQL Server 2005數(shù)據(jù)庫技術(shù)與應(yīng)用 [M].清華大學(xué)出版社.endprint