【发布时间】:2020-02-12 07:20:14
【问题描述】:
在我的 ES 集群中几乎没有读取过重的索引(开始看到这些索引的性能问题),该集群有大约 5000 万个文档,并注意到其中大多数有大约 25% 的文档被删除,我知道这些当后台合并操作发生时,删除的文档数量会随着时间的推移而减少,但在我的情况下,这些数量始终约为总文档的 25%,我有以下问题/疑虑:
- 这些巨大的已删除计数是否会影响搜索性能,因为它们仍然是 lucene 不可变段的一部分,并且搜索发生在所有段上并返回最新版本的文档,因此不可变段的大小会很高,因为它们包含巨大删除文档的数量,然后进行另一次操作以找出最新版本的文档。
- 如果存在大量已删除的文档,定期合并操作是否会花费大量时间且效率低下?
- 有没有什么办法可以一次性删除这些大量已删除的文档,因为后台合并操作似乎跟不上庞大的数量?
谢谢
【问题讨论】:
-
一个快速的选项可能是软删除记录,然后可能是硬删除记录的夜间作业。
-
@AshishModi 你能解释一下硬删除它们是什么意思吗?你的意思是首先使用 ES 索引中的标志进行软删除,然后实际删除操作?
标签: performance elasticsearch merge