刷新段时提交IndexWriter

时间:2012-06-21 12:04:45

标签: lucene

我正在使用Lucene / Solr作为我的日志搜索工具。有一种方法可以在将一组特定文档从内存刷新到磁盘时对我的IndexWriter执行提交操作。我的RamBufferSize是24Mb,MergeFactor是10。

或者是在频繁的时间间隔内调用提交而不管刷新的唯一方法是什么?我希望自动提交功能不被弃用。

1 个答案:

答案 0 :(得分:1)

您可以考虑使用Solr的commitWithin功能。这将把承诺责任交给Solr。

  

CommitWithin是Solr 1.4中引入的提交策略,它允许   客户要求Solr确保在一个内部提交   一定时间。这样就可以控制何时提交Solr   本身,仍然优化提交的数量到最小   满足更新延迟要求。如果我说(在XMLUpdateRequestHandler更新中),那就告诉我   Solr以确保文档在10000ms内提交,即   10秒。然后我可以继续在这10个文件中添加其他文档   秒(可能与其他commitWithin值),Solr将   当缓冲区中最旧的时候自动执行   由于

我在添加文档时经常使用它来帮助我尽可能接近NRT(接近实时),而不需要频繁地发出提交。