我必须通过一个检查索引统计信息的脚本来删除旧文档以便为新文档腾出空间,以便在我达到存储限制时发出警告。我发现的问题是,即使在我删除了 100k 个文档之后,在后续调用获取索引统计信息时,以字节为单位的存储大小也是相同的。
我应该对索引统计信息的新鲜度有什么期望,如果我无法获得准确的结果,我该如何在需要时从索引中删除旧项目?
谢谢
我必须通过一个检查索引统计信息的脚本来删除旧文档以便为新文档腾出空间,以便在我达到存储限制时发出警告。我发现的问题是,即使在我删除了 100k 个文档之后,在后续调用获取索引统计信息时,以字节为单位的存储大小也是相同的。
我应该对索引统计信息的新鲜度有什么期望,如果我无法获得准确的结果,我该如何在需要时从索引中删除旧项目?
谢谢
为了补充尤金的评论,您的问题有两个方面:
正如尤金所说,我们大约每分钟更新一次统计数据。
添加/更新/删除文档后,我们不会立即释放空间。因此,即使您等待一分钟以更新统计信息,您仍可能会看到存储使用量并未减少。我们会定期运行合并后台进程,合并和压缩索引的不同部分,这是释放空间的时候。有几个因素可以控制这种情况何时发生(时间、更新/查询压力等),因此您无法完全从外部预测。
解决此问题的最简单方法可能是删除一个块并每分钟轮询一次统计信息,直到您看到大小减小。
索引统计信息大约每分钟更新一次。HTH,尤金