1

首先要提到我搜索了很长时间但得到了 n 个解决方案,所以我没有尝试解决我的具体问题,试图保持简短:

  • solr 规范 4.0.0.2012.10.06.03.04.33

  • 一主三从

  • 索引中有大约 70.000 个文档

  • 主人被触发完全导入/生成完整的新索引〜每天一次

  • 触发器的命令行选项是:?command=full-import&verbose=false&clean=false&commit=true&optimize=true

  • slaves 为新索引触发 master,如果 GEN 增加(如前所述的完全导入 + 硬提交),它们会拉新索引

  • 没有设置 autoCommit / autoSoftCommit

问题在于,每次硬提交索引(〜670MB)每天一次写入磁盘,但旧的永远不会被删除。据我所知,solr 保留了足够的 tlogs 来恢复对文档的最后 100 次更改,对吗?

在我的设置中,我确信每天至少有 100 个文档(或源数据库中的数据集)被更改,所以我不明白为什么 solr 从不删除旧的 tlog。

如果有人能指出正确的方向,我会很高兴,目前我不知道下一步该尝试什么。我也没有找到像这样的设置描述有这样的问题。

谢谢 ;)

4

1 回答 1

1

首先,您可能需要更新 Solr 版本,因为自 4.0 以来已修复了一些事务日志引用泄漏。

硬提交通常应该删除旧的事务日志,因为无论如何都会将文档写入索引中的磁盘 iirc,这可能表明您正在被一些旧的引用所困扰。

另一种选择是完全关闭事务日志,因为无论如何每次运行都只会生成一个全新的索引并分发该索引。

于 2013-07-16T11:10:08.747 回答