您好我是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");
}
我正在使用此代码来阅读索引。
答案 0 :(得分:2)
简而言之,有两个属性与将字段输入Lucene索引相关。
1)索引:只能搜索,但不可挽回地丢失,即内容无法从索引中读回。
2)存储:可以毫无损失地检索这些字段中的内容。
我认为,您的“文件名”字段是“已编入索引”&amp; “存储”,而“内容”肯定不是“存储”。
在索引数据时指定以上内容。