1. 程式人生 > >【Lucene】IndexReader類的maxDoc()與numDocs()的區別

【Lucene】IndexReader類的maxDoc()與numDocs()的區別

1)Let us see the difference in the comment of  Class IndexReader

  /** Returns the number of documents in this index. */
  public abstract int numDocs();

  /** Returns one greater than the largest possible document number.
   This may be used to, e.g., determine how big to allocate an array which
   will have an element for every document number in an index.
   */
  public abstract int maxDoc();

2) Actually, the real code to implement is the best explanation. The implemetation Class of IndexReader is SegmentReader. Let us see theire implementations as below:

  public final int maxDoc() {
    return fieldsReader.size();
  }

  public final int numDocs() {
    int n = maxDoc();
    if (deletedDocs != null)
      n -= deletedDocs.count();
    return n;
  }

  I think it is easy to understand the reason now !

相關推薦

LuceneIndexReadermaxDoc()numDocs()的區別

1)Let us see the difference in the comment of  Class IndexReader   /** Returns the number of documents in this index. */   public abs

JavaFilemkdir()mkdirs()方法的區別

在java中File --》指--》檔案+檔案目錄 建立資料夾實現程式碼 //檔案存放path String strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); //檔案存放p

知識UML的關係詳解

在畫類圖的時候,理清類和類之間的關係是重點。類的關係有泛化(Generalization)、實現(Realization)、依賴(Dependency)和關聯(Association)。其中關聯又分為一般關聯關係和聚合關係(Aggregation),合成關係(Composition)。下面我們結合例項理解這

面向物件day08的起源metaclass(二)

本節內容 1、概述 2、類的起源 3、__new__方法 4、__metaclass__方法 一、概述    前面我們學習了大篇幅的關於類,通過類建立物件,那我們想知道這個類到底是怎麼產生的呢?它的一切來源是什麼?還有物件,物件是通過什麼方法建立的,現在我們一頭霧水,行

Python基礎-封裝擴充套件、靜態方法和方法

【轉】Python基礎-封裝與擴充套件、靜態方法和類方法 一、封裝與擴充套件 封裝在於明確區分內外,使得類實現者可以修改封裝內的東西而不影響外部呼叫者的程式碼;而外部使用者只知道一個介面(函式),只要介面(函式)名、引數不變,使用者的程式碼永遠無需改變。這就提供一個良好的合作基礎——或者說,只要介面這個基

java抽象介面小結

一、抽象類 抽象類的定義與使用 定義: 抽象類只是在普通類的基礎上擴充了一些抽象方法而已,所謂的抽象方法指的是隻宣告而未實現的方法(即沒有方 法體)。所有抽象方法要求使用abstract關鍵字來定義,並且抽象方法所在的類也一定要使用abstract關鍵字來 定義,表示抽象類。 定義一

C++C++的學習(四)——繼承虛擬函式

前言       面向物件程式設計的核心思想是資料抽象、繼承和動態繫結(也稱之為動態聯編)。通過資料抽象將類的介面與實現分離;使用繼承可以定義相似的型別並對相似的關係建模;使用動態繫結可以在一定程度上忽視型別的區別,使用統一的方式使用他們的物件。       類是

C++C++的學習(三)——運算子過載友元函式

前言       前面的兩篇博文中介紹了類的一些基本特性,今天講一講運算子過載和友元。運算子過載      運算子過載是C++中一種形式的多型,運算子過載將過載的概念運用到運算子上,賦予運算子更多地含義。也許乍然一聽,似乎我們對它並不熟悉,其實它一直為我們使用,例如 * 運算

C++拷貝建構函式的呼叫順序

先看一段程式碼: #include <iostream> using namespace std; class Base { public:     Base()     {         cout<<"Base()\n";         m_a

Java基本資料型別封裝、字串的相互轉換

一、基本資料型別與其對應的封裝類之間的相互轉換 基本資料型別轉換為封裝類 1·直接賦值  (自動打包) Integer i=3;   2·使用封裝類的含參建構函式(例項化) Integer i=new Integer(3);   3·使用封裝類提供的valueOf

iOS代理傳值塊代碼傳值

ring 方法 nslog 設置代理 轉載 adf delegate alloc 代理傳值 主線程與子線程常常須要進行數據的傳遞。不同的類之間,不同的控制器之間都須要。 並且常常須要監聽一個動作的完畢。而後才去做對應事件。(代理是一對一的關系)。 一、代理傳值 代理

tagTuple 使用介紹

pac sdn .net 對象 此外 執行 輸出參數 var 返回 官方介紹地址: Tuple 類 參考文章地址: http://blog.csdn.net/aoshilang2249/article/details/40053213http://www.cnblogs.

Python11、集合字典的實現

python一、字典的實現dict是在list之上實現的 i(索引) = hash(key) % solt(槽位數)此時i重復了怎麽辦(hash沖突)?1、拉鏈法 每個槽位上拉一個List,就是拉鏈法2、開地址法 使用某個算法重新計算i,就交開地址法 常用,效率更高,i = fn(key, i)【Pyt

arduinoanroid的apparduino的ch05,進行藍牙通信遇到的問題

blog bsp app thread 串行 進行 -1 tails 提示 Arduino程序上傳不成功 顯示系統找不到指定文件 錯誤信息顯示是 avrdude: ser_open(): can‘t open device "\\.\COM1": 系統找不到指定的文件。

HTTP的POST頭數據 RFC1867協議格式簡析

client oct discuz ... Enctype -s 協議 肩膀 .html http://blog.csdn.net/ai2000ai/article/details/52161979 昨天在實戰表單模擬提交的時候,有發現在提交某個表單的時候,頁面(discu

哈希(Hash)加密(Encrypt)的基本原理、區別及工程應用

phy 理論 靈活運用 十分 實際應用 廣泛 tle 多網站 net 0、摘要 今天看到吉日嘎拉的一篇關於管理軟件中信息加密和安全的文章,感覺非常有實際意義。文中作者從實踐經驗出發,討論了信息管理軟件中如何通過哈希和加密進行數據保護。但是從文章評論中也可以

Java基本型和引用型(值傳遞)

適合 and span print pri right bre enc this 【關鍵詞】 【問題】 · 加深對基本類型和引用類型的理解; 【效果圖】 【分析】 參見最後的【參考資料】 【解決方式】 【代碼】 public

WebView的JavaScript本地代碼三種交互方式

添加 lba 文件 abr cli 漏洞 大致 execution span WebView的漏洞分析 漏洞產生的原因 最近在開發過程中遇到一個問題,就是 WebView 使用的時候,還是需要解決之前系統(4.2之前)導致的一個漏洞,雖然現在這個系統版本用戶很少了,但是也不

SonarQube安裝、配置使用 01

ges 工具 順序 64位系統 runner lba 問題 分析 clas SonarQube是管理代碼質量一個開放平臺,可以快速的定位代碼中潛在的或者明顯的錯誤,下面將會介紹一下這個工具的安裝、配置以及使用。 準備工作; 1、jdk(不再介紹) 2、sonarqube:h

bzoj4200[Noi2015]小園丁老司機 STL-map+dp+有上下界最小流

什麽 space set 並且 hellip nic 依次 所有 def 題目描述 小園丁 Mr. S 負責看管一片田野,田野可以看作一個二維平面。田野上有 nn 棵許願樹,編號 1,2,3,…,n1,2,3,…,n,每棵樹可以看作平面上的一個