我正在使用lucene 4.5版本。
我目前正在从Oracle DB中读取数据并将所有数据索引到lucene中。现在,我需要在十分钟后逐步更新索引文件夹。因此,在这种情况下,如果我打开写入,我的段文件将被删除。所以我无法从lucene进行搜索。我试着看看我们是否可以同时读写。但我无法找到任何解决办法。
有人能为此提出一些想法吗?我们在增量期间读取的数据较少。因此数据很快就会被索引。但我不能每隔十分钟就停下来寻找一次。 很抱歉,如果我重复了同样的问题。但我找到lucene 3.6的所有答案,并不适合lucene 4.5版本。
答案 0 :(得分:3)
您可以执行以下操作:
此建议与任何Lucene版本完全无关。
答案 1 :(得分:2)
您还可以打开appending
的IndexWriter
IndexWriterConfig iwc = new IndexWriterConfig(LUCENE_VERSION, analyzer);
iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
IndexWriter writer = new IndexWriter(directory, iwc);
您的读者不应受此影响,他们可以继续搜索。更新索引后,您应该重新打开读者,以便他们可以搜索更新的数据。