1 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
簡(jiǎn)單地說luncence的索引數(shù)據(jù)是通過調(diào)用IndexReader接口讀取的。
lucene的索引一般都比較大,索引數(shù)據(jù)采用分目錄存儲(chǔ),每個(gè)存儲(chǔ)目錄具有一個(gè)DocID,因此在實(shí)際的使用時(shí)需要依次讀取所有的目錄拼接后再以分頁的方式讀取。
代碼片段:
try{
directory=FSDirectory.open(new
File(indexReadPath));//打開索引文件夾
IndexReader
reader=DirectoryReader.open(directory);//讀取目錄
IndexSearcher search=new
IndexSearcher(reader);//初始化查詢組件
for(int i=0;i
Document
doc=search.doc(i);//依次獲取每個(gè)docid對(duì)應(yīng)的Document
}
reader.close();//關(guān)閉資源
directory.close();//關(guān)閉連接
}catch(Exception e){
e.printStackTrace();
}
- 1 回答
- 0 關(guān)注
- 1140 瀏覽
添加回答
舉報(bào)