从lucene索引读取文件内容

时间:2012-09-15 10:59:18

标签: java 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");
}

我正在使用此代码来阅读索引。

1 个答案:

答案 0 :(得分:2)

简而言之,有两个属性与将字段输入Lucene索引相关。

1)索引:只能搜索,但不可挽回地丢失,即内容无法从索引中读回。

2)存储:可以毫无损失地检索这些字段中的内容。

我认为,您的“文件名”字段是“已编入索引”&amp; “存储”,而“内容”肯定不是“存储”。

在索引数据时指定以上内容。

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