elasticsearch Elasticsearch索引按日期搜索性能-是否拆分
我目前正在玩Elasticsearch(ES)。我们正在接收传感器数据,三年来,我们在一个索引中有大约100000000个文档,使索引的大小约为50GB。索引性能并不那么重要,因为每个传感器平均每15分钟才有一次新数据到达,因此我想重点关注搜索和聚合性能。我们正在运行一个前端,基本上显示一个仪表盘,显示上周与一年前的平均值等 我在AWS上使用ES,在一台机器上的性能非常慢之后,我构建了一个包含3个数据节点的集群(每个节点有2个内核,8 GB内存),并为索引提供了3个主碎片和一个副本。向数据投放计算能力肯定会改善这种情况,而更多的计算能力会帮助更多,但我的问题是: 将指数拆分(例如按月拆分)是否会提高绩效?或者更具体一些:如果我适当地调整查询,查询(特别是按日期)是否会更快地缩小索引,或者ES是否已经“知道”在碎片中的何处查找特定日期?
elasticsearch Elasticsearch索引按日期搜索性能-是否拆分,
elasticsearch,
elasticsearch,我目前正在玩Elasticsearch(ES)。我们正在接收传感器数据,三年来,我们在一个索引中有大约100000000个文档,使索引的大小约为50GB。索引性能并不那么重要,因为每个传感器平均每15分钟才有一次新数据到达,因此我想重点关注搜索和聚合性能。我们正在运行一个前端,基本上显示一个仪表盘,显示上周与一年前的平均值等 我在AWS上使用ES,在一台机器上的性能非常慢之后,我构建了一个包含3个数据节点的集群(每个节点有2个内核,8 GB内存),并为索引提供了3个主碎片和一个副本。向数据投放计
(我知道使用较小索引的其他好处,例如可以滚动并只保留特定的时间间隔等)。1/Elasticsearch只知道如果索引按日期字段排序,则在索引中查找特定日期的位置。你可以查一下电话号码 在您的用例中,它可以显著提高搜索性能。而且,由于所有数据都将添加到索引日期排序后的“索引末尾”,因此您不应该看到太多的索引开销 2/如果没有索引排序,较小的时间限制索引将更好地工作(即使您以所有索引为目标),因为它通常允许重写或您的范围查询到match_all/match_none内部查询 有关此行为的更多信息,请阅读以下博文:
1/Elasticsearch只知道在索引中按日期字段排序时在何处查找特定日期。你可以查一下电话号码 在您的用例中,它可以显著提高搜索性能。而且,由于所有数据都将添加到索引日期排序后的“索引末尾”,因此您不应该看到太多的索引开销 2/如果没有索引排序,较小的时间限制索引将更好地工作(即使您以所有索引为目标),因为它通常允许重写或您的范围查询到match_all/match_none内部查询 有关此行为的更多信息,请阅读以下博文: