2012-03-09 9 views
4

私はSolrに対して長時間実行している問題に関する問題についての理論を持っていますが、それが真であるかどうかわかりませんし、それをテストする方法もわかりません。クライアントの接続が解除された後でSolrクエリが続行されますか?

私はcURLを使ってアプリケーションからSolrに問い合わせています。 cURLは、Solrが3秒以内に応答を送信しなかった場合、それを放棄して切断し、Solrから要求されたデータなしでcURLをホストしているアプリケーションを続行できるように構成されています。 理論では、cURLを切断した後、Solrはバックグラウンドで依然としてクエリの処理を続けます。

これはSolrの機能ですか?この場合、この動作を変更する設定オプションはありますか?この動作をテストする実際の方法はありますか?

答えて

5

Solrはクエリをタイムアウトしません。 1つの簡単なテストでは、3秒以内に完了しなかった同じクエリを使用して数秒後に再度サーバーにヒットすることです。クエリキャッシュなどが適切に設定されている場合、(ほぼ)即時の応答が得られるはずです。この種のことは、クライアントの切断時にクエリの実行が中断されなかったことを示しています。 (このテストは非常に信頼性がない、より速く二回目の実行クエリにつながることができます他の多くの要因があることができます)また

、あなたがtimeAllowedパラメータを試すことができthis

がどうかを確認するためにhereを説明参照それが役立ちます。

+1

興味深い!明確にするために、たとえクライアントが3秒後にHTTP側から切断されたとしても、30秒かかるクエリは実行されます。あなたの助けてくれてありがとう、特に 'timeAllowed'のヒント! – Brad

+0

そうですが、 'timeAllowed'を使わない限り、クエリは実行され続けます。 – nikhil500

+0

優秀、もう一度あなたの援助に感謝!! – Brad

関連する問題