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

如何使用SolrJ获取Solr服务器的Metrics指标数据

SolrJ 8.4 获取Metrics指标实现方案

你当前使用的curl命令curl 'http://localhost:1080/MySolr/admin/metrics'对应的接口,SolrJ没有提供专门的封装方法,但可以通过通用请求类实现完全一致的效果,实现代码如下:

import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.GenericSolrRequest;
import org.apache.solr.client.solrj.response.SimpleSolrResponse;
import org.apache.solr.common.params.ModifiableSolrParams;
import java.util.Map;

public class SolrMetricsFetcher {
    public static void main(String[] args) throws Exception {
        // 初始化SolrClient,替换为你自己的Solr服务地址
        String solrBaseUrl = "http://localhost:1080/MySolr";
        try (HttpSolrClient solrClient = new HttpSolrClient.Builder(solrBaseUrl).build()) {

            // 构造请求参数,不需要额外过滤可以不添加参数
            ModifiableSolrParams params = new ModifiableSolrParams();
            // 可选:如果要过滤指标类别可以加参数,比如只拿jvm指标:params.set("category", "jvm");
            // 可选:指定核心级指标可以加params.set("core", "your_core_name");

            // 构造通用请求,METHOD.GET对应GET请求,路径为/admin/metrics
            GenericSolrRequest metricsRequest = new GenericSolrRequest(
                    GenericSolrRequest.METHOD.GET,
                    "/admin/metrics",
                    params
            );

            // 执行请求获取响应
            SimpleSolrResponse response = metricsRequest.process(solrClient);
            
            // 响应结果可以直接转为Map使用,结构和curl返回的JSON完全一致
            Map<String, Object> metricsResult = response.asMap();
            
            // 如果需要拿到原始JSON字符串,可以通过response.getResponse().toString()获取
            // System.out.println(response.getResponse().toString());
        }
    }
}

补充说明:

  • 上述代码返回的metricsResult结构和你通过curl拿到的JSON结构完全一致,包含所有指标数据,可以直接按层级解析使用
  • 如果需要对指标做过滤减少返回数据量,可以通过添加params参数实现,比如指定category、key等过滤参数,和curl直接加请求参数的效果一致
  • 不需要额外引入第三方依赖,完全基于SolrJ 8.4原生API实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:36:00