gpt4 book ai didi

Elasticsearch索引按日期搜索性能 - 拆分或不拆分

转载 作者:行者123 更新时间:2023-12-03 02:36:15 25 4
gpt4 key购买 nike

我目前正在使用 Elasticsearch (ES)。我们正在摄取传感器数据,3 年来,我们在一个索引中拥有大约 1,000,000,000 个文档,使索引大小约为 50GB。索引性能并不那么重要,因为新数据平均每个传感器每 15 分钟才到达一次,因此我想专注于搜索和聚合性能。我们正在运行一个前端,基本上显示一个仪表板,显示上周与一年前相比的平均值等。

我在 AWS 上使用 ES,在一台机器上的性能很慢之后,我启动了一个包含 3 个数据节点(每个 2 个核心,8 GB 内存)的集群,并为索引提供了 3 个主分片和一个副本。在数据上投入计算能力肯定会改善这种情况,更多的能力会有所帮助,但我的问题是:

例如按月拆分索引会提高性能吗?或者更具体一点:如果我适本地调整查询,查询(尤其是按日期)较小的索引是否会更快,或者 ES 是否已经“知道”在分片中哪里可以找到特定日期?

(我知道拥有较小索引的其他好处,例如能够翻转并仅保留特定的时间间隔等)

最佳答案

1/如果您的索引按日期字段排序,Elasticsearch 仅知道在索引中的何处查找特定日期。您可以查看documentation here .

在您的用例中,它可以显着提高搜索性能。并且由于自排序日期以来所有数据都将添加到“索引末尾”,因此您应该不会看到太多索引开销。

2/如果没有索引排序,较小的时间限制索引会更好地工作(即使您针对所有索引),因为它通常允许重写或您的范围查询到 match_all/match_none 内部查询。

有关此行为的更多信息,您应该阅读此博客文章:

Instant Aggregations: Rewriting Queries for Fun and Profit

关于Elasticsearch索引按日期搜索性能 - 拆分或不拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58834450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com