【问题标题】:read file contents from lucene index从 lucene 索引读取文件内容
【发布时间】:2012-09-15 10:59:18
【问题描述】:

您好,我是 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");
}

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

【问题讨论】:

    标签: java lucene


    【解决方案1】:

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

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

    2) 已存储:这些字段中的内容可以被检索而不会丢失。

    我认为,您的“文件名”字段是“索引”和“存储”,而“内容”肯定不是“存储”。

    以上是在索引数据时指定的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      • 2011-01-21
      • 2012-12-19
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 2017-08-13
      相关资源
      最近更新 更多