我想知道索引别名究竟是如何在Elasticsearch的幕后工作的?
别名是否为其链接的每个索引都有单独的数据副本?或者它只知道索引名称,而不是每个索引中的数据?
如果是这种情况,在具有多个链接索引的别名上执行聚合会慢得多吗?
答案 0 :(得分:2)
来自Index Aliases Elasticsearch参考:
elasticsearch中的API在针对特定索引时接受索引名称,并在适用时接受多个索引。索引别名API允许使用名称对索引进行别名,所有API都自动将别名转换为实际索引名称。别名也可以映射到多个索引,并且在指定别名时,别名将自动扩展为别名索引。别名还可以与过滤器相关联,该过滤器将在搜索和路由值时自动应用。
因此,基于此,它只知道索引名称而不是每个索引中的数据。针对跨越多个索引的别名执行聚合时可能会更慢。因为据我所知,为了执行聚合操作,Elasticsearch必须收集数据集以执行聚合功能。