【问题标题】:How often to call commit on an offline Solr/Lucene index?多久在离线 Solr/Lucene 索引上调用一次提交?
【发布时间】:2011-04-11 22:56:35
【问题描述】:

我知道有一些半相似的问题,但在这种情况下,我正在构建一个离线索引,直到构建完成。我正在从头开始构建两个核心,一个有大约 30 万条记录,有很多引文信息和大块全文(这是文档索引),另一个核心有大约 660 万条记录,有全文(这是页面索引)。

鉴于此索引是离线构建的,唯一真正的性能问题是构建速度。没有人应该查询这些数据。

如果我停止添加项目 50 秒,自动提交显然会触发?我不这样做。我一次添加十个,每隔几秒钟添加一次。

那么,我应该更频繁地提交吗?我觉得它运行的时间越长越慢,至少在我的 6k 个要索引的文档的测试用例中。

由于没有人搜索此索引,有人建议我多久提交一次?

应该说我正在使用 Solr 3.1 和 SolrNet。

【问题讨论】:

  • 出于兴趣,我运行了大约 6k 个文档的测试用例以进行索引,每 500 个后提交。它似乎运行得更快,虽然只有 5%,所以它可能是其他一些因素。

标签: lucene solr solrnet


【解决方案1】:

虽然提交对您来说需要时间,但您可能需要考虑查看提交频率以外的其他调整。

是索引核心也在进行搜索,还是在索引结束后复制到其他地方?如果是后者,那么关闭缓存可能会对性能产生非常明显的影响 (solr rebuilds caches every time you commit)。

【讨论】:

    【解决方案2】:

    您还可以考虑使用 Solr 的 autoCommit 或 commitWith 功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 2011-01-19
      • 2010-11-26
      相关资源
      最近更新 更多