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

如何用Elasticsearch-PHP客户端获取匹配指定模式的索引名列表?

如何用Elasticsearch-PHP客户端获取匹配*.foo.bar模式的索引

我懂你在Kibana里用GET /_cat/indices/*.foo.bar能轻松拿到符合模式的索引列表,但翻Elasticsearch-PHP文档却找不到直接对应方法的困惑——其实这个需求完全能实现,只是需要用对客户端的API调用方式:

  • 直接调用Cat Indices API并指定索引模式
    Elasticsearch-PHP客户端的cat()->indices()方法支持传入index参数来匹配索引模式,这和你在Kibana里用的REST请求逻辑完全一致。示例代码如下:

    // 初始化客户端(根据你的环境配置调整)
    $client = Elastic\Elasticsearch\ClientBuilder::create()
        ->setHosts(['http://localhost:9200'])
        ->build();
    
    // 设置参数,指定要匹配的索引模式
    $params = [
        'index' => '*.foo.bar',
        'format' => 'json' // 可选,指定返回格式为JSON,方便后续处理
    ];
    
    // 发送请求并获取响应
    $response = $client->cat()->indices($params);
    
    // 将响应转换为数组进行处理
    $indicesList = $response->asArray();
    print_r($indicesList);
    

    这段代码会返回所有符合*.foo.bar模式的索引信息,和你在Kibana里执行的请求结果一致。

  • 补充说明
    可能你之前没留意到,Elasticsearch-PHP的Cat API方法基本都对应了REST API的参数,只要把REST请求里的路径参数或查询参数对应到客户端的$params数组里即可。如果需要更详细的参数(比如只返回索引名、指定排序等),可以参考客户端Cat Indices方法的参数说明,添加对应的配置项。

内容的提问来源于stack exchange,提问作者Johan Fredrik Varen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:21:38