lucene將索引文件的過程設計成兩個階段,寫入記憶體階段和寫入硬碟階段。在寫入記憶體階段,lucene通過indexchain把document分解並把相關資訊儲存到記憶體中,等到滿足flush條件(記憶體容量或者文件個數積累到臨界值),就通過indexchain把記憶體中的資料寫入硬碟。indexchain是lucene索引文件很重要的一部分,那麼indexchain是什麼呢
lucene形成索引的過程其實就是對document進行分解的過程。通過對document的分解,得到詞典、倒排表等資訊。indexchain就是分解document的物件集合,或者說架構。索引鏈的結構如下圖所示
上圖中indexchain的起點是docfieldprocessor,它會分別呼叫docinverter(倒排資訊處理)和towstoredfieldsconsumer(正向資訊處理)。 反向資訊有四種:
資訊種類
作用處理元件
norm資訊
用來消除長文字和短文本之間的差距
normsconsumer
freq資訊
文件排序時的重要因子
freqproxtermswriter
pos資訊
位置資訊,在phrasequery時會有用
freqproxtermswriter
termvector
高亮處理需要記錄的資訊
termvectorsconsumer
正向資訊有兩種:
資訊種類
作用處理元件
fields
形成完整的乙個doc
storedfieldsprocessor
docvalues
排序因子
docvaluesprocessor
Android App整體架構
本文是對我在知乎乙個回答的整理,其中的內容大多是對我平時的閱讀和實踐的總結,希望對android的開發者有所幫助。但畢竟是個人的一些思考,難免有疏漏,也歡迎對本文的內容提出建議。模型層 model 中的整體 量是最大的,一般由大量的package組成,針對這部分需要做的就是在程式設計的過程中,做好模...
spring 整體架構
1.core container 核心容器 core 包含spring框架的核心工具類 beans 包含訪問配置檔案 建立和管理bean 以及進行ioc di 相關操作的所有類 context 整合beans為spring框架提供大量的擴充套件 expression language 提供表示式語言...
Spring 整體架構
core模組主要包含spring框架基本的核心工具類,spring的其他元件都要使用到這個包裡的類,core模組是其他元件的基本核心。當然你也可以在自己的應用系統中使用這些工具類 beans模組是所有應用都要用到的,它包含訪問配置檔案 建立和管理bean以及進行inversion of contro...