15

次の文を使用して、Solr コア (バージョン 3.6.0) をリロードしようとしています。

curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore

実行すると、次の応答が返されます。

<?xml version="1.0" encoding="UTF-8"?>
<response>
   <lst name="responseHeader">
      <int name="status">0</int>
      <int name="QTime">1316</int>
   </lst>
</response>

そのような URL をブラウザに入力すると、同様の応答が得られます (違いは QTime の値です)。

私の問題は、ブラウザから URL を呼び出すと、リロードが実行されたことをログ情報で確認できますが、CURL ステートメントから呼び出すと、ログ情報に何も表示されないことです (つまり、つまり、リロード処理は実行されていません)。

一部の構成データを変更する必要がありますか? 呼び出しが Solr サーバーに届いていないようです...

4

2 に答える 2

4

1.-Aを使用してユーザーエージェントを指定してみてください

curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore

2.Curlはjsスクリプトを実行できません

したがって、jsスクリプトが原因ではないことを確認してください。

ChromeまたはFirebug+Firefoxの開発ツールを使用して、http通信プロセスを確認できます。

3.wiresharkまたはsthを使用して、「コールがSolrサーバーに到着している」かどうかを確認します。

それがお役に立てば幸いです。

于 2012-08-16T11:33:50.477 に答える