是否可以获得与某种模式匹配的索引列表,例如
这是获取索引列表的方法:
curl -XGET 'localhost:9200/_stats/'
但是我找不到过滤它们的方法,所以这个列表只包含与“my_index_nr_1 *”匹配的索引,其中“*”将是一张外卡
使用ES已经有一段时间了,这就是我现在使用的,希望它能帮助别人:
curl -XGET '/_cat/indices/my_index_nr_1*'
您还可以在末尾添加?v
,这会为您提供结果中每列的标题。
答案 0 :(得分:21)
使用_aliases命令有一个巧妙的技巧,当与通配符(下面的my_index_nr_1*
结合使用时)只会显示匹配的索引名称和相关索引:
curl -XGET 'http://localhost:9200/my_index_nr_1*/_aliases?pretty'
我得到的结果是:
{
"my_index_nr_1_test" : {
"aliases" : { }
}
}
如果您在群集上有很多索引但又不想查看所有其他统计信息,那么非常有用。
答案 1 :(得分:12)
对于人类而言,最佳答案是修改后的摘要:
curl -XGET localhost:9200/_cat/indices/my_index_nr_1*?v
对于机器,最好的答案可能是(?pretty
的变体可供您查看其输出):
curl -XGET localhost:9200/my_index_nr_1*/_settings?pretty
这将获得与其设置匹配的所有索引的列表。上面的_aliases
答案只是此请求的变体。您甚至可以将请求修改为:
curl -XGET localhost:9200/my_index_nr_1*?pretty
但是,这将响应每个索引的设置,别名和映射。
答案 2 :(得分:1)
这应该有效:
curl -XGET 'http://localhost:9200/my_index_nr_1*/_stats'