Posted on 2009-03-30 16:17
天空蒼茫 閱讀(1608)
評論(3) 編輯 收藏 所屬分類:
java知識
1、Document文件
Document是lucene自己定義的一種文件格式,lucene使用docement來代替對應的物理文件或者保存在數據庫中的數據。因此Document只能作為數據源在Lucene中的數據存貯的一種文件形式。
Document只是負責收集數據源,因為不同的文件可以構建同一個Document。只要用戶將不同的文件創建成Document類型的文件,Lucene就能快速找到查找并且使用他們。
對于一個Document文件,可以同時增加多個Field。Lucene中對于每個數據源是使用Field類來表示的。多個Field組成一個Document,多個Document組成一個索引文件。Document與Field關系如果一所示

此時,我們去看看Document這個類的源代碼。Document采用默認不帶參數的構造函數,但是我們他在創建的時間,
產生兩個變量:fields和 boost
其中fields是創建了一個arrayList,其主要是保存Field類
Boost主要是設置該doc的優先級
其方法:add(Fieldable field)增加一個field對象
removeField(String name) 根據name移除一個ield對象(找到一個就返回)
removeFields(String name) 根據name移除所有的field對象
Field getField(String name) 根據名字找到該Field對象。
Fieldable getFieldable(String name) 根據名字找到Fieldable子類(Fieldable是 接口,具體有Filed來實現)
String get(String name) 根據名字,找到給Filed對象中包含的內容
public final byte[] getBinaryValue(String name) 主要查找Doc中包含有二進制field 數據(如果不存在,則返回null)
public final List getFields() 直接返回該Doc中包含的Field。