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