Ping

在核心名稱下選擇 Ping 會發出 ping 請求,以檢查核心是否已啟動並回應請求。

image
圖 1. 核心下拉選單中的 Ping 選項

Ping 執行的搜尋是使用 請求參數 API 進行配置。請參閱 隱含請求處理器,以瞭解用於 /admin/ping 端點的參數集。

Ping 選項不會開啟頁面,但當點擊集合名稱時,可以在核心概觀頁面上看到請求的狀態。請求所花費的時間長度會顯示在 Ping 選項旁邊,以毫秒為單位。

Ping API 範例

雖然 UI 畫面可以輕鬆查看 ping 回應時間,但當由遠端監控工具執行時,底層的 ping 命令可能更有用

輸入

https://127.0.0.1:8983/solr/<core-name>/admin/ping

此命令會 ping 核心名稱以取得回應。

輸入

https://127.0.0.1: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();