索引整體架構

2021-08-19 17:58:16 字數 924 閱讀 4405

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...