Lucene的使用介紹

今天介紹第二個(gè)任務(wù)——由得到的XML獲得索引,將使用到Lucene包。

本文作者:龍鵬

本文前提:已經(jīng)獲得XML文件。

看完本文你將知道:如何建立索引,如何使用索引。

以下是核心代碼的截圖和說明:

1、解析

首先確立索引所存放的位置? ??
確定分類器和寫索引對象? ? ??
對存取xml文件的to文件夾中每一個(gè)xml文件即每一個(gè)file對象進(jìn)行遍歷操作
對要獲取的一系列內(nèi)容進(jìn)行初始化? ? ??
通過reader對象的read方法讀取xml文件,獲取document對象,getRootElement方法可以獲取document的根節(jié)點(diǎn)? ? ??
即這里的TEI節(jié)點(diǎn)? ? ??
Dom4j有一系列對此document對象進(jìn)行解析的方法,可以自己去探索
如果懶得看函數(shù),最簡單的方法可以一直用element方法,這個(gè)可以獲取任意一個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn),可以通過這個(gè)方法一步一步獲取下面的節(jié)點(diǎn)元素
如上述element對象title1author就是analytic節(jié)點(diǎn),title存在analytic節(jié)點(diǎn)下的title節(jié)點(diǎn)中elementTextTrim可以獲取某節(jié)點(diǎn)下的某個(gè)子節(jié)點(diǎn)的內(nèi)容,即上述代碼中title1author.elementTextTrim("title");就是我們要的title,

用這個(gè)方法可以獲取我們想要的xml中的所有內(nèi)容(對其解析方法有很多,此處只介紹最容易懂的方法),可以仿照獲取author,date,affiliation,address,fulltext,page等

1、寫入索引

新建document對象? ? ??
以title為例介紹如何存儲(chǔ): 第一個(gè)參數(shù):域的名稱 ,第二個(gè)參數(shù):域的內(nèi)容 ,第三個(gè)參數(shù):是否存儲(chǔ)
對所有已經(jīng)獲取的內(nèi)容進(jìn)行相似的操作? ? ??
將這些加入document對象中? ? ??
將document對象加到索引中,即此xml所有內(nèi)容已經(jīng)被寫入索引
關(guān)閉此indexWriter對象? ? ??

建立的索引如下圖:

索引

3、使用索引

下面介紹如何對索引進(jìn)行查找:自己看注釋吧

4的fulltext可以按照自己想查的域進(jìn)行修改, keyword就是搜索的關(guān)鍵詞

5的20是搜索的條數(shù),如果不夠只會(huì)返回最大的條數(shù) 用get方法獲取自己之前寫入的域的內(nèi)容

調(diào)用輸出
結(jié)果

回微信公眾號給個(gè)打賞唄<( ̄︶ ̄)↗[GO!]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容