当您在 index 中有一些已删除的文档(通过查询删除后)时,清除索引的过程是什么?
我问这个问题是因为我正在开发一个基于 solr 的项目,我注意到一个奇怪的行为,我想了解一些关于它的信息。
我的系统具有这些功能:
我的文档被连续索引(每秒 1000 个文档)
使用此查询每隔几秒执行一次清除:
<delete><query>timestamp_utc:[ * TO NOW-10MINUTES ]</query></delete>
所以我每次在我的索引中都能看到 600000 个文档:10 分钟 * 60 = 600 秒,速度 = 1000docs/s 所以 600 * 1000 = 600000
但是我的索引的大小随着时间的推移而增加。而且我知道,当您通过查询进行删除时,文档会受到索引中“删除”标签或类似内容的影响。
我已经看到并尝试了属性“expungeDeletes=true”,但我没有注意到我的索引大小有很大的变化。
任何有关索引清除过程的信息将不胜感激。
谢谢。
编辑
我知道优化可以完成这项工作,但这是一个漫长的操作,我想避免这种情况。