Elastic Search是否支持多个索引间的聚合查询?这是好的做法吗?
Does Elastic Search support aggregation query among multiple indices? Is it good practise?
我有一个基于时间(类日志)数据的用例。如果我使用滚动索引并为每一天创建单独的索引,那么我的查询将跨越多个索引。
这是一个好习惯吗?
我想避免使用单体索引,因为删除频率与摄取频率(类似日志)相同,而且我想避免批量更新。
还有其他替代方法吗?
这绝对是一个好习惯。 Time-based indices exist exactly for that purpose, i.e. to prevent having to cope with big monolithic indices. You can use index lifecycle management 以便自动设置滚动时间索引。
唯一的要求是聚合查询必须 运行 一组索引,这些索引与您在查询中使用的字段具有相同的映射。
您可以 运行 在跨越所有所需的基于时间的索引的 list of indices (index1,index2,.../_search
) or create an alias 上进行查询,然后 运行 在该别名 (alias_spanning_all_indices/_search
) 上进行查询
我有一个基于时间(类日志)数据的用例。如果我使用滚动索引并为每一天创建单独的索引,那么我的查询将跨越多个索引。
这是一个好习惯吗?
我想避免使用单体索引,因为删除频率与摄取频率(类似日志)相同,而且我想避免批量更新。
还有其他替代方法吗?
这绝对是一个好习惯。 Time-based indices exist exactly for that purpose, i.e. to prevent having to cope with big monolithic indices. You can use index lifecycle management 以便自动设置滚动时间索引。
唯一的要求是聚合查询必须 运行 一组索引,这些索引与您在查询中使用的字段具有相同的映射。
您可以 运行 在跨越所有所需的基于时间的索引的 list of indices (index1,index2,.../_search
) or create an alias 上进行查询,然后 运行 在该别名 (alias_spanning_all_indices/_search
) 上进行查询