freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

apache-lucene-3x-推薦教程(編輯修改稿)

2024-08-31 10:09 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 zer a, MaxFieldLength mfl)構(gòu)造方法2:IndexWriter(Directory d, Analyzer a, boolean create, MaxFieldLength mfl),第三個(gè)參數(shù)指定,true表示建立新的索引庫(kù)或覆蓋現(xiàn)有的索引庫(kù)(刪除后重建);false表示使用已有的索引庫(kù),如果不存在,就報(bào)錯(cuò)。mit()rollback()close(). 使用IndexDao封裝對(duì)索引庫(kù)的增刪改查1提出問題:所有的數(shù)據(jù)(對(duì)象),我們都要存到數(shù)據(jù)庫(kù)中。對(duì)于要進(jìn)行搜索的數(shù)據(jù),還要存到索引庫(kù)中,以供搜索。一份數(shù)據(jù)同時(shí)存到數(shù)據(jù)庫(kù)與索引庫(kù)中(格式不同),就要想辦法保證他們的狀態(tài)一致。否則,就會(huì)影響搜索結(jié)果。解決思路:對(duì)于上一段提出的問題:保證索引庫(kù)中與數(shù)據(jù)庫(kù)中的數(shù)據(jù)一致(只要針對(duì)要進(jìn)行搜索的數(shù)據(jù))。我們采用的方法是,在數(shù)據(jù)庫(kù)中做了相應(yīng)的操作后,在索引庫(kù)中也做相應(yīng)的操作。具體的索引庫(kù)操作,是通過調(diào)用相應(yīng)的IndexDao方法完成的。IndexDao類似于數(shù)據(jù)庫(kù)層的Dao。我們目前只關(guān)注IndexDao中的每個(gè)方法的作用(怎么用起來方便就怎么設(shè)計(jì))。現(xiàn)在不需要關(guān)心IndexDao的每個(gè)方法怎么實(shí)現(xiàn),因?yàn)槟鞘窍乱徊降氖虑?。設(shè)計(jì)IndexDao如下:IndexDao的使用:(){ // 發(fā)表文章 actionForm 224。 article對(duì)象 ( article )。 // 保存到數(shù)據(jù)庫(kù) ( article )。 // 保存到索引庫(kù)}(){ // 刪除文章 ( id )。 // 從數(shù)據(jù)庫(kù)中刪除 ( id )。 // 從索引庫(kù)中刪除}(){ // 更新文章 actionForm 224。 article對(duì)象 ( article )。 // 更新數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù) ( article )。 // 更新索引庫(kù)中的相應(yīng)數(shù)據(jù)}. 使用工具類做對(duì)象與Document之間的相互轉(zhuǎn)換我們?cè)趹?yīng)用程序中使用對(duì)象表示數(shù)據(jù)。在數(shù)據(jù)庫(kù)中使用的是表記錄,所以存在來回轉(zhuǎn)換的問題。同樣,要索引庫(kù)中使用的是Document,也存在來回轉(zhuǎn)換的問題。如下圖:對(duì)于一個(gè)要進(jìn)行搜索的實(shí)體對(duì)象,我們會(huì)寫一個(gè)對(duì)應(yīng)的工具類,其中有兩個(gè)方法:Document Object2Document(Object object)。 // 對(duì)象224。DocumentObject Document2Object(Document doc)。 // Document224。對(duì)象在轉(zhuǎn)換時(shí),對(duì)象中的屬性對(duì)應(yīng)Document中的Field。由于Lucene只處理文本,所有所有的屬性值在存儲(chǔ)前都要先轉(zhuǎn)成字符串。使用構(gòu)造方法:Field(String name, String value, Store store, Index index)。Store與Index都是枚舉類型。Store:指定是否把當(dāng)前屬性值的原始內(nèi)容存儲(chǔ)到索引庫(kù)中。如果存儲(chǔ)(YES),在搜索出相應(yīng)數(shù)據(jù)時(shí)這個(gè)屬性就有原始的值;如果不存儲(chǔ)(NO),得到的數(shù)據(jù)的這個(gè)屬性的值為null。Index:指定是否建立索引(詞匯表)。建立索引才能被搜索到。不可以不存儲(chǔ)也不建立索引(沒有意義)。// Store 指定當(dāng)前字段的數(shù)據(jù)要不要存到索引庫(kù)中// Index 指定當(dāng)前字段的數(shù)據(jù)是否可以被搜索(是否更新詞匯表)索引設(shè)置的一些建議:1) 盡量減少不必要的存儲(chǔ)2) 不需要檢索的內(nèi)容不要建立索引3) 非文本格式需要提前轉(zhuǎn)化4)需要整體存放的內(nèi)容不要分詞NumericUtils與DateTools如果屬性的類型不是字符串,則要先進(jìn)轉(zhuǎn)換:如果是數(shù)字類型,使用NumericUtils。如果是日期類型,則使用DataTools。. 實(shí)現(xiàn)IndexDao中的方法:建立、刪除、更新索引索引庫(kù)的管理操作操作是通過類IndexWriter完成的。創(chuàng)建實(shí)例是使用構(gòu)造方法:IndexWriter(Directory d, Analyzer a, MaxFieldLength mfl)。()方法釋放資源。1, 建立索引:保存文檔到索引庫(kù)中。a) 把數(shù)據(jù)轉(zhuǎn)成Document對(duì)象的形式。b) (Document doc)2, 刪除索引:刪除所有包含指定Term的文檔。a) 生成用于確定要?jiǎng)h除的文檔的Termb) (Term term)說明:在生成Term時(shí),一般。如果有多個(gè)文檔含有指定的Term,則都會(huì)被刪掉。3, 更新索引:實(shí)際執(zhí)行的是先刪除,后創(chuàng)建的操作。(參見前面的 索引文件的檢索與維護(hù))a) 把要更新后的對(duì)象轉(zhuǎn)為Document對(duì)象b) 生成用于確定要更新的文檔的Termc) (Term term, Document doc)說明:如果有多個(gè)文檔含有指定的Term,更新后就只有一條記錄(刪掉所有,再創(chuàng)建一個(gè))。如果沒有文檔含有指定的記錄,不會(huì)報(bào)錯(cuò),更新后有一條(新創(chuàng)建的)記錄。. 索引庫(kù)文件優(yōu)化. 合并索引庫(kù)文件()(int). 使用RAMDirectoryLucene的API接口設(shè)計(jì)的比較通用,輸入輸出結(jié)構(gòu)都很像數(shù)據(jù)庫(kù)的表==記錄==字段,所以很多傳統(tǒng)的應(yīng)用的文件、數(shù)據(jù)庫(kù)等都可以比較方便的映射到Lucene的存儲(chǔ)結(jié)構(gòu)/接口中??傮w上看:可以先把Lucene當(dāng)成一個(gè)支持全文索引的數(shù)據(jù)庫(kù)系統(tǒng)。Lucene的索引存儲(chǔ)位置使用的是一個(gè)接口(抽象類),也就可以實(shí)現(xiàn)各種各樣的實(shí)際存儲(chǔ)方式(實(shí)現(xiàn)類、子類),比如存到文件系統(tǒng)中,存在內(nèi)存中、存在數(shù)據(jù)庫(kù)中等等。Lucene提供了兩個(gè)子類:FSDirecto
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1