【问题标题】:How to reuse an Index that already created using Apache Lucene?如何重用已经使用 Apache Lucene 创建的索引?
【发布时间】:2014-01-25 15:35:27
【问题描述】:

我有一个使用 Lucene 的程序,它每次都在 Directory(索引目录)中创建索引。众所周知,每次执行创建索引都是耗时的过程,我想在初始执行时重用已经创建的索引?

在 Lucene 中是否可能。 Lucene 有这个功能吗?

【问题讨论】:

  • IndexSearcher 有什么地方不适合您的应用程序吗?
  • 我猜您使用不正确的 OpenMode(您将其设置为“创建”)打开了一个新的 IndexWriter 并删除了您现有的索引?尝试使用 OpenMOode.APPEND 或 CREATE_OR_APPEND 进行配置:lucene.apache.org/core/4_0_0/core/org/apache/lucene/index/…

标签: apache text-processing indexing lucene solr


【解决方案1】:

绝对有可能。假设indexDirPath是你的lucene索引的位置,你可以使用下面的代码:

Directory dir = FSDirectory.open(new File(indexDirPath));
IndexReader ir = DirectoryReader.open(dir);

IndexSearcher searcher = new IndexSearcher(ir);

这之后应该使用您在创建索引时使用的相应分析器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-07
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多