server端
linux: centos6.0 g
++: version 4.4
client端 p
hpsrc :存放系統的原始檔(
.cpp
) 。
include:存放系統的標頭檔案(
.h) 。
bin: 存放系統的可執行程式。
conf:存放系統程式中所需的相關配置資訊。
lib: 存放系統程式中所使用的庫檔案。
data: 存放系統程式所需的資料。
預處理過程:
預處理過程主要是
事先生成程式
在執行過程中可能用到的資料,
以便提高處理時間。預處理
的過程主要生成程式所需的三個檔案:網頁庫檔案,網頁位置
資訊檔案
和倒排索引檔案。其中
網頁庫檔案ripepage
.lib主要
是以格式化的資料儲存大量的網頁資訊,每
個網頁的格式化
資料為:id
urltitle
content
<>。
網頁位置資訊檔案
offset.lib主要
是存放網頁在網頁庫中的偏移位置,以便程式能快速的
取出指定的網頁
,該檔案每一行儲存乙個網頁檔案在網頁庫中的位置資訊,每一行的格式為:
docid offset size
, 其中
docid為網頁的id(
此id具有全域性唯一性)
,offset為文件在網頁庫中距離檔案起始位置的位元組數,
size
為文件的
大小。
倒排索引檔案
invert
.lib
為網頁庫中的所有詞(
經過分詞,去停用詞)
與包含這些詞的文件的一種關聯關係。
每個詞的倒排索引在該檔案中佔一行,每一行的格式為: w
ord
docid1 frequency1 weight1 … docidi frequencyi weighti… 其中
word
為網頁庫中的詞,
後面接著的是每三個為一組,
docidi 為
包含該詞
的網頁,frequencyi
為該次在該文件中的詞頻,
weighti
為該次在該文件中的權重(
歸一化後的)。
程式執行過程:
程式首先從offset.lib中讀取
網頁位置資訊,然後根據這些資訊從rippage.lib
中讀取網頁資訊
,然後從invert.lib
讀取倒排索引資訊
程式迴圈不斷地通過socket
接受來自客戶
端的請求,一旦受到請求就fork
乙個子進
程負責處理該請求
而主程序
則繼續監聽
。子程序
接受來自客戶端的查詢語句,根據查詢語句查詢結果並將結果返回
給客戶端。
① 生成
網頁庫ripepage.lib
②生成網頁的位置偏移檔案offset.lib 以上
請參考make
_ripepage_offset
下的**
③網頁去重生成新的offset.lib檔案
參考pagedup_remove\src
下的test.cpp
及其相關檔案
④建立倒排索引檔案invert
.lib 參考
pagedup_remove\src
下的test.cpp
及其相關檔案
⑤程式查詢邏輯
參考pagedup_remove\src
下的test
_qurey
.cpp
及其相關檔案
⑥伺服器框架
參考pagedup_remove\src
下的test
_main.cpp
及其相關檔案
1.tf-idf是一種
統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度。字詞的重要性隨著它在檔案中出現的次數成正比增加,但同時會隨著它在
語料庫中出現的頻率成反比下降。tf-idf加權的各種形式常被
搜尋引擎應用,作為檔案與使用者查詢之間相關程度的度量或評級
2.vsm向量空間模型:
3.
搜尋引擎專案
1.基本思路 2.模組劃分 整體分為4個模組 3.核心流程 http伺服器獲取使用者的請求並處理,將資料傳給cgi程式。cgi程式提取資料獲取有用的資訊 query 提交到搜尋伺服器端 搜尋伺服器端處理資訊進行檢索操作,把結果反饋給cgi程式 cgi程式將檢索結果進行html格式化後,傳送給http...
搜尋引擎 索引
正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...
MySQL搜尋引擎程式 mysql搜尋引擎
mysql是我們比較常用的一種資料庫軟體。它有著諸多的優點,如開源的,免費的等等。其實它還有乙個很好的特點,那就是有多種引擎可以供你選擇。如果賽車手能根據不同的路況,地形隨手更換與之最適宜的引擎,那麼他們將創造奇蹟。然而目前他們還做不到那樣便捷的更換引擎,但是我們卻可以 所謂知己知彼方可百戰不殆,要...