最新の solr 4.0.0 ベータ版を 2 つのコアで実行しています。それぞれの solrconfig.xml ファイルは実質的に同一です。管理 UI でそれぞれに対して ping 要求を行うと、異なる結果が得られます。簡単に言えば、セットアップは次のとおりです。
両方の solrconfig.xml の ping 構成:
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
<lst name="invariants">
<str name="q">solrpingquery</str>
</lst>
<lst name="defaults">
<str name="qt">standard</str>
<str name="echoParams">all</str>
<str name="df">text</str>
</lst>
</requestHandler>
Chrome ブラウザーで管理 UI にアクセスしています。最初のコアの ping 要求は、URL を介して要求されます (URL のドメインは私のローカルホスト IP に解決されます)。
http://solr:8983/solr/core1/admin/ping?wt=json&ts=1347035067191
次の応答で:
{"responseHeader":{"status":0,"QTime":29,"params":{"echoParams":"all","df":"text","echoParams":"all","ts" :"1347035067191","wt":"json","q":"solrpingquery","distrib":"false"}},"ステータス":"OK"}
2 番目のコアの ping 要求は、次の方法で行われます。
http://solr:8983/solr/core2/admin/ping?wt=json&ts=1347036906643
次の応答で:
{"ステータス":"OK"}
2 番目の応答に responseHeader がないことに注意してください。ajax ping 応答コールバックは、その responseHeader に依存しています。次のエラーは、ブラウザー (つまり、responseHeader.QTime) が欠落しているため、ブラウザーによって発行されます。
Uncaught TypeError: Cannot read property 'QTime' of undefined ping.js:53
$.ajax.success ping.js:53
jQuery.Callbacks.fire require.js:3099
jQuery.Callbacks.self.fireWith require.js:3217
done require.js:9452
jQuery.ajaxTransport.send.callback
これを引き起こしている簡単な構成がどこかに欠けていますか?