弹性查询,获取具有特定数据类型的字段的所有索引

问题描述 投票:0回答:1

我在弹性中遇到映射冲突。有问题的字段需要是浮点数,但是它被映射为关键字。

我需要一个可以收获具有该字段的所有索引的查询。我想要一个命令,它可以显示所有将此字段作为

float
的索引以及所有将此字段作为
keyword
的索引。还必须包括
@timestamp
,以便我可以在创建这些索引时缩小范围。注意:这些是指标数据流。

我怎样才能做到这一点?

elasticsearch types floating-point lookup keyword
1个回答
0
投票

没有特定的命令可以一次性完成所有操作,但您可以逐步执行并使用 shell 脚本、Python 或类似的东西来自动化它。

  1. 查找映射中具有
    field_name
    字段的所有索引。
GET _all/_mapping/field/field_name?filter_path=**.field_name
  1. 找到所有具有
    field_name
    的索引后,按创建日期对它们进行排序。
GET _cat/indices/test,test-3,test-4?v&h=index,pri,rep,docs.count,cds&s=cds:desc

注意:如果该字段是子字段或者没有像扁平字段类型那样进行索引,它将在映射中不可见,因此您无法找到它。

After find all indices that have field_name sort them by creation date.

© www.soinside.com 2019 - 2024. All rights reserved.