You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过索引名(通配符)筛选Elasticsearch索引列表

如何获取Elasticsearch中以call-开头的索引列表

没问题!要快速筛选出所有名称以call-开头的索引,不用处理海量的全索引结果,有几个简单实用的方法,我给你详细说明:

方法1:用Elasticsearch原生通配符直接筛选(推荐)

这是最直接的方式,不需要额外工具,利用_cat/indices的路径通配符就能精准匹配:

GET _cat/indices/call-*?v=false&h=index

拆解一下参数的作用:

  • call-*:通配符规则,匹配所有以call-开头的索引名称
  • v=false:关闭表头输出,只返回纯索引名
  • h=index:指定只返回index列的数据,去掉其他比如分片、状态之类的冗余信息

执行后会得到每行一个索引的结果:

call-staging-201804
call-staging-201805
call-dev-201804
call-dev-201805

如果想要和你示例一样,把所有索引名放在同一行用空格分隔,可以结合命令行的tr工具(适用于Linux/macOS环境):

curl -XGET 'http://你的ES地址:9200/_cat/indices/call-*?v=false&h=index' | tr '\n' ' '

输出就会变成:

call-staging-201804 call-staging-201805 call-dev-201804 call-dev-201805 

方法2:结合grep过滤(命令行环境)

如果你习惯用grep做文本过滤,也可以先拉取所有索引,再筛选出目标结果:

curl -XGET 'http://你的ES地址:9200/_cat/indices?v=false&h=index' | grep '^call-'

这里^call-是正则表达式,专门匹配行首以call-开头的内容。同样用tr可以转成空格分隔的单行输出:

curl -XGET 'http://你的ES地址:9200/_cat/indices?v=false&h=index' | grep '^call-' | tr '\n' ' '

⚠️ 注意:如果你的Elasticsearch开启了账号密码认证,需要在curl命令里加上-u 用户名:密码参数才能正常访问哦。

内容的提问来源于stack exchange,提问作者Xin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:29:23