1、Document文件
Document是lucene自己定義的一種文件格式,lucene使用docement來代替對(duì)應(yīng)的物理文件或者保存在數(shù)據(jù)庫中的數(shù)據(jù)。因此Document只能作為數(shù)據(jù)源在Lucene中的數(shù)據(jù)存貯的一種文件形式。
Document只是負(fù)責(zé)收集數(shù)據(jù)源,因?yàn)椴煌奈募梢詷?gòu)建同一個(gè)Document。只要用戶將不同的文件創(chuàng)建成Document類型的文件,Lucene就能快速找到查找并且使用他們。
對(duì)于一個(gè)Document文件,可以同時(shí)增加多個(gè)Field。Lucene中對(duì)于每個(gè)數(shù)據(jù)源是使用Field類來表示的。多個(gè)Field組成一個(gè)Document,多個(gè)Document組成一個(gè)索引文件。Document與Field關(guān)系如果一所示
此時(shí),我們?nèi)タ纯碊ocument這個(gè)類的源代碼。Document采用默認(rèn)不帶參數(shù)的構(gòu)造函數(shù),但是我們他在創(chuàng)建的時(shí)間,
??????? 產(chǎn)生兩個(gè)變量:fields和 boost
其中fields是創(chuàng)建了一個(gè)arrayList,其主要是保存Field類
Boost主要是設(shè)置該doc的優(yōu)先級(jí)
其方法:add(Fieldable field)增加一個(gè)field對(duì)象
??? removeField(String name)? 根據(jù)name移除一個(gè)ield對(duì)象(找到一個(gè)就返回)
removeFields(String name)? 根據(jù)name移除所有的field對(duì)象
Field getField(String name)? 根據(jù)名字找到該Field對(duì)象。
Fieldable getFieldable(String name)? 根據(jù)名字找到Fieldable子類(Fieldable是 接口,具體有Filed來實(shí)現(xiàn))
String get(String name) 根據(jù)名字,找到給Filed對(duì)象中包含的內(nèi)容
public final byte[] getBinaryValue(String name) 主要查找Doc中包含有二進(jìn)制field 數(shù)據(jù)(如果不存在,則返回null)
??? public final List getFields() 直接返回該Doc中包含的Field。
<------------------我是快樂的轉(zhuǎn)載符----------------------->
Document是lucene自己定義的一種文件格式,lucene使用docement來代替對(duì)應(yīng)的物理文件或者保存在數(shù)據(jù)庫中的數(shù)據(jù)。因此Document只能作為數(shù)據(jù)源在Lucene中的數(shù)據(jù)存貯的一種文件形式。
Document只是負(fù)責(zé)收集數(shù)據(jù)源,因?yàn)椴煌奈募梢詷?gòu)建同一個(gè)Document。只要用戶將不同的文件創(chuàng)建成Document類型的文件,Lucene就能快速找到查找并且使用他們。
對(duì)于一個(gè)Document文件,可以同時(shí)增加多個(gè)Field。Lucene中對(duì)于每個(gè)數(shù)據(jù)源是使用Field類來表示的。多個(gè)Field組成一個(gè)Document,多個(gè)Document組成一個(gè)索引文件。Document與Field關(guān)系如果一所示

此時(shí),我們?nèi)タ纯碊ocument這個(gè)類的源代碼。Document采用默認(rèn)不帶參數(shù)的構(gòu)造函數(shù),但是我們他在創(chuàng)建的時(shí)間,
??????? 產(chǎn)生兩個(gè)變量:fields和 boost
其中fields是創(chuàng)建了一個(gè)arrayList,其主要是保存Field類
Boost主要是設(shè)置該doc的優(yōu)先級(jí)
其方法:add(Fieldable field)增加一個(gè)field對(duì)象
??? removeField(String name)? 根據(jù)name移除一個(gè)ield對(duì)象(找到一個(gè)就返回)
removeFields(String name)? 根據(jù)name移除所有的field對(duì)象
Field getField(String name)? 根據(jù)名字找到該Field對(duì)象。
Fieldable getFieldable(String name)? 根據(jù)名字找到Fieldable子類(Fieldable是 接口,具體有Filed來實(shí)現(xiàn))
String get(String name) 根據(jù)名字,找到給Filed對(duì)象中包含的內(nèi)容
public final byte[] getBinaryValue(String name) 主要查找Doc中包含有二進(jìn)制field 數(shù)據(jù)(如果不存在,則返回null)
??? public final List getFields() 直接返回該Doc中包含的Field。
<------------------我是快樂的轉(zhuǎn)載符----------------------->
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
