这是我之前的问题的延续,大量已删除的文档计数是否会影响与我的 ES 索引中已删除文档相关的 ES 查询性能。
正如答案中所指出的,我使用了优化 API,因为我使用的是 ES 1.X 版本,其中强制合并 API不可用,但是在阅读了优化 API github 链接(之前提供,因为在 ES 网站上找不到它)之后由说班农是弹性的创始人,看起来它做同样的工作。
运行优化 API 后,我收到了索引的成功消息,但我没有看到已删除文档的总数减少,我很担心,因为当我使用Segment API 检查索引的段时,我看到有超过 25 个每个分片的段和每个分片在内存中保存 250-1 GB 的数据和近 500k 文档,而我看到有一些分片中删除的文档很少。
所以我的问题是:
- 我的索引在多个数据节点上有多个分片,当我只使用 1 个节点 URL 运行优化 API 时,它是否只合并该节点上的段?
- 在段 API 结果中,它显示了类似的节点 ID
"node": "f2hsqeamadnaskda"
,而我正在使用 KOPF 插件并为我的数据节点提供自定义名称,所以我如何将这个神秘的节点名称与我的人类可读节点名称相关联,以识别语句 1 是否正确或不是? - 由于没有关于优化 API 的文档,是否可以一次合并跨所有节点的所有分片上的段?我需要在应用之前将索引设为只读吗?