2012-09-15 67 views
2

你好我是lucene新手我已經使用lucene創建索引。我將兩個字段的文件名和文件內容添加到lucene索引。 但是,當我從索引搜索我能夠得到查詢詞和文件名包含查詢詞的發生。我無法查看我所創建的索引 任何人可以幫助請 在此先感謝從lucene索引中讀取文件內容

Directory directory = FSDirectory.open(indexDir); 
IndexSearcher searcher = new IndexSearcher(directory,true); 
QueryParser parser = 
    new QueryParser(Version.LUCENE_30,"contents", new SimpleAnalyzer()); 
Query query = parser.parse(queryStr); 
query.setBoost((float)1.5); 
TopDocs topDocs = searcher.search(query, maxHits); 
ScoreDoc[] hits = topDocs.scoreDocs; 
arr= new String[hits.length]; 
for (i = 0; i <hits.length; i++) { 
    int docId = hits[i].doc; 
    Document d = searcher.doc(docId); 
    arr[i]=d.get("filename"); 
} 

我使用此代碼讀取索引文件的內容。

回答

2

簡而言之,有兩個與向Lucene索引字段相關的屬性。

1)索引:僅可搜索,但不可挽回地丟失,即無法從索引讀回內容。

2)存儲:可以檢索這些字段中的內容而不會有任何損失。

我想你的「文件名」字段是「索引」&「存儲」,而「內容」當然不是「存儲」。

以上是索引數據時指定的。

您可以參考:1.3 Adding a Document/object to Index

+0

我改變了,謝謝 –