Ping

在核心名称下选择 Ping 会发出一个 ping 请求,以检查核心是否已启动并响应请求。

image
图 1. Core 下拉菜单中的 Ping 选项

通过 Ping 执行的搜索使用 请求参数 API 进行配置。有关 /admin/ping 终结点要使用的 paramset,请参阅 隐式请求处理程序

Ping 选项不会打开页面,但可以在单击集合名称时显示的核心概览页面上看到请求的状态。请求所花费的时间长度会以毫秒为单位显示在 Ping 选项旁边。

Ping API 示例

虽然 UI 屏幕可以轻松查看 ping 响应时间,但远程监控工具执行时,底层 ping 命令可能更有用

输入

http://localhost:8983/solr/<core-name>/admin/ping

此命令将 ping 核心名称以获取响应。

输入

http://localhost:8983/solr/<collection-name>/admin/ping?distrib=true&wt=xml

此命令将 ping 给定集合名称的所有副本以获取响应

示例输出

<response>
   <lst name="responseHeader">
      <int name="status">0</int>
      <int name="QTime">13</int>
      <lst name="params">
         <str name="q">{!lucene}*:*</str>
         <str name="distrib">false</str>
         <str name="df">_text_</str>
         <str name="rows">10</str>
         <str name="echoParams">all</str>
      </lst>
   </lst>
   <str name="status">OK</str>
</response>

两个 API 调用具有相同的输出。status=OK 表示节点正在响应。

带有 SolrPing 的 SolrJ 示例

SolrPing ping = new SolrPing();
ping.getParams().add("distrib", "true"); //To make it a distributed request against a collection
rsp = ping.process(solrClient, collectionName);
int status = rsp.getStatus();

带有 SolrClient 的 SolrJ 示例

SolrClient client = new HttpSolrClient.Builder(solrUrl).build();
SolrPingResponse pingResponse = client.ping(collectionName);
int status = pingResponse.getStatus();