2012-11-20 32 views
0

我在web应用中使用Lucene。 Lucene用于在添加文章时创建索引。 由于只有一个的IndexWriter实例可以为索引目录中存在,我使用了单的IndexWriter为应用程序。在使用Lucene web应用程序,当收单例的IndexWriter?

  1. 什么时候应该关闭IndexWriter以将所有文档提交到索引目录?
  2. 如果Web服务器(Tomcat)的下降,应该怎么恢复未提交的文件? Lucene提供了什么方法从崩溃中恢复?

回答

0

时,我应该关闭的IndexWriter提交所有文件索引目录?

如果您非常担心数据丢失,请尽可能频繁地提交(甚至可以在每个文档之后执行)。如果搜索新鲜度不是至关重要的,您仍然可以保留旧阅读器并稍后重新打开。

如果Web服务器(Tomcat)的下降,我应该如何恢复未提交的文件? Lucene提供了任何方法从崩溃中恢复?

Lucene是原子 - 只要你退出writer.commit()writer.close(),改变被保存到磁盘,以后可以读取。我认为这应该够了。

不要忘记:Lucene是仅为搜寻库。您有责任确保应用程序不会崩溃。即使这样做,您也有责任实施恢复策略。关于原子性,Lucene已经做了相当不错的工作。

相关问题