sphinx使用的檔案包括 「sph」, 「spa」, 「spi」, 「spd」, 「spp」, 「spm」 ,還有鎖檔案(.spl)。其中sph是系統的配置檔案。其它則為索引檔案。
l spi 檔案:儲存wordid及指向此wordid對應的文件資訊在spd檔案的指標。spi檔案在檢索程式啟動時完全加載入記憶體。spi檔案是分塊的,塊內排序,塊之間也排序。分塊的目的應該是為了快速檢索到wordid,因為spi中的wordid是變長壓縮的,索引需要先在塊級別做二分定位,再在快內解壓縮查詢。
檔案結構,每塊中結構,wordid實際儲存的是差值
wordid
spdfilepointer
docnum
hitnum
2 spd檔案:
檔案結構
docid
[docinfo]
hitfilepointer
fieldnum
hitnum
3 spp檔案
檔案結構
hitpos
4 spa檔案:儲存docinfo的檔案,檢索程式啟動時會把此檔案載入如記憶體,sphinx可以指定docinfo的儲存方式,
① 儲存到spd檔案中(inline)
②. 另外單獨儲存。指定此,就會生成spa檔案
檔案結構:
docid
docinfo
5 spm檔案:在docinfo中,有一種特殊的屬性,叫mva,多值屬性。sphinx對此屬性特殊處理,需要儲存在spm檔案中。檢索程式啟動時會把此檔案載入如記憶體。此(mva)屬性在docinfo對應位置儲存其在此檔案中的位元組偏移量。
檔案結構:
docid
anum,a1,a2,…,an
bnum,b1,b2,…,bn
由於在第一趟掃瞄過程中會出現wordid相同的不同hits(不同文件或者不同位置不同字段),二趟前會根據wordid排序,wordid相同的hits會連續出現並合併(合併到第一次出現的相同wordid中)
資料報過濾簡析
資料報過濾簡析 資料報過濾有時也稱為靜態資料報過濾,它通過分析傳入和傳出的資料報以及根據既定標準傳遞或阻止資料報來控制對網路的訪問。www.2cto.com 當路由器根據過濾規則 或拒絕資料報時,它便充當了一種資料報過濾器。當資料報到達過濾資料報的路由器時,路由器會從資料報報頭中提取某些資訊,根據過...
linux檔案系統簡析
什麼是檔案系統?檔案系統是基於作業系統的。用來管理和組織儲存在磁碟驅動器上的資料的系統軟體。通過對資料儲存布局,檔案命名,安全控制等方面的管理。解決了如何在裝置上有效的儲存資料。元資料 metadata 儲存檔案的重要資訊 檔案的許可權,大小,修改時間,屬主,儲存位置等 檔案系統是作業系統和硬碟之間...
CEGUI資料檔案
cegui所用的資料檔案除了少數的特殊情況外都是xml格式的。但是,為了清晰的說明資料檔案代表什麼型別的資源,資料檔案並不是以 xml 作為字尾,而是用更有意義的字尾名。比如,imageset的字尾名是.imageset,font的字尾名是.font,等等。下面將對每種檔案型別做個簡要的說明,以後將...