lucene2 4原始碼學習1

2021-09-01 16:26:00 字數 836 閱讀 7223

先來看看lucene的總體情況

[img]

可以看到lucene****行數是36099行,一共344個類。當然注釋也有18302行。是**行數的一半,這個其實是很好的,但是對於英文不好的我表示比較蛋疼。

而且indexwrite有2000多行**,有點多,還好這樣的模擬較少,絕大多數都是200行以下。這點也是給了不少資訊啊。

看看lucene的包依賴情況

[img]

1.cc - concrete class count

2.ac - abstract class (and inte***ce) count

3.ca - afferent couplings (ca)

4.ce - efferent couplings (ce)

5.a - abstractness (0-1)

6.i - instability (0-1)

7.d - distance from the main sequence (0-1)

8.v - volatility (0-1)

9.cyclic - if the package contains a dependency cycle

ac:抽象類,包括介面 (

cc:非抽象類

a:抽象類佔的比例 ac/(ac+cc)

ca:依賴的包的數量

ce:被依賴的包的數量

i: 越大越不穩定 ce/(ca+ce) 通俗點說幾十依賴越多越不穩定。

可以看到lucene的index,search是很重要的包。同時這兩個包的類的數量也是最多的。

最後來看看各個包的呼叫圖

[img]

lucene2 4原始碼學習9 搜尋 norm

public float score 計算得分的時候要用到norm。這個norm是怎麼來的呢 public scorer scorer indexreader reader throws ioexception 看到score是從reader中來的。norm是在segmentreader的openn...

spring 原始碼學習 1

1.spring 是乙個非侵入性 non invasive 框架,其目標是使應用程式 對框架的依賴最小化,應用 可以在沒有spring或者其它的容器下執行。2.spring提供了乙個一致的程式設計模型,使用應用直接使用pojo開發,從需可以與應用環境 如web伺服器 隔離開來。3.spring推動應...

Android原始碼學習1

1 logger日誌系統是基於核心中的logger日誌驅動程式實現的 四種日誌型別 main,system,radio,events 四個裝置檔案 dev log main,dev log system,dev log radio,dev log events main型別的日誌檔案 應用程式級別的...