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

求Elasticsearch多索引通配符URI搜索示例(含HTTP转换)

使用通配符的Elasticsearch多索引搜索:Sense vs HTTP请求形式

我平时调试Elasticsearch的时候,经常在Sense(现在一般叫Kibana Dev Tools了)和原生HTTP请求之间切换,刚好能给你清晰的对应示例。

Sense(Kibana Dev Tools)中的写法

在Sense里,你可以直接用通配符指定多索引,写法非常简洁:

GET index_name_*/_search

这里的index_name_*是通配符模式,会匹配所有以index_name_开头的索引——比如index_name_202401、index_name_202402这类索引都会被包含进来。

如果需要带查询条件(比如匹配所有文档),Sense里的完整请求是:

GET index_name_*/_search
{
  "query": {
    "match_all": {}
  }
}

对应的原生HTTP请求形式

本质上,Sense就是把HTTP请求做了简化封装,对应的原生HTTP请求可以用curl工具来模拟,也可以用Postman等工具发送:

基础无请求体的请求

curl -X GET "http://your-es-host:9200/index_name_*/_search"

把your-es-host替换成你的Elasticsearch节点地址(比如localhost),端口默认是9200。

带请求体的完整请求

如果要加查询条件,需要指定Content-Type为application/json,并附上请求体:

curl -X GET "http://your-es-host:9200/index_name_*/_search" -H "Content-Type: application/json" -d '{
  "query": {
    "match_all": {}
  }
}'

额外小提示

  • 除了*通配符,你还可以用?匹配单个字符,比如index_name_2024??会匹配index_name_202401到index_name_202412这类索引
  • 可以用逗号分隔多个索引模式,比如GET index_name_*,log_*/_search会同时匹配两类索引
  • 要确保你的请求账号有这些索引的read权限,不然会返回权限验证错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:33:15