首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lucene的并发读写

lucene的并发读写
EN

Stack Overflow用户
提问于 2014-04-14 07:59:18
回答 2查看 2.1K关注 0票数 2

我正在使用lucene 4.5版本。

我目前正在从Oracle DB读取数据,并将所有数据索引到lucene中。现在,我需要在十分钟后逐步更新索引文件夹。因此,在这种情况下,如果我打开写,我的片段文件会被删除。所以我不能从lucene那里搜索。我试着看看我们能否同时读和写。但我无法找到任何解决办法。

有人能对此提出一些建议吗?在增量过程中,我们读取的数据较少。所以这些数据很快就会被编入索引。但我不能每隔十分钟就停止搜索。对不起,如果我重复了同样的问题。,但是我找到了Lucene3.6的所有答案,不适合我在Lucene4.5版本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-15 07:48:34

您还可以打开IndexWriter for 附加

代码语言:javascript
复制
IndexWriterConfig iwc = new IndexWriterConfig(LUCENE_VERSION, analyzer);
iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE_OR_APPEND);
IndexWriter writer = new IndexWriter(directory, iwc);

你的读者不应该受此影响,他们可以继续搜索。更新索引后,您应该重新打开您的阅读器,以便他们可以搜索更新的数据。

票数 2
EN

Stack Overflow用户

发布于 2014-04-14 08:33:45

你可以这样做:

  1. 创建初始索引。
  2. 十分钟后,用更新的数据创建另一个索引。
  3. 使用2完成时,切换读取器以使用更新的索引。
  4. 删除(现已过时的)索引。
  5. 见2。

这个建议对任何Lucene版本都是完全不可知的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23054910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档