私はsunspot-railsを検索に使用します。これらはRspecのようです:Rspecでsolrから接続が拒否されました
describe "GET search" do
before(:all) do
system("rake", "sunspot:solr:start")
end
after(:all) do
system("rake", "sunspot:solr:stop")
end
it "should do some search" do
Text.search do
...
end
end
end
しかし、それは動作しません。私は失敗しました:
Errno::ECONNREFUSED:
Connection refused - connect(2)
をしかし、私は、コマンドラインに手でrake sunspot:solr:start RAILS_ENV=test
を入力し、[スペックを実行する場合、それが渡されます。
どういうところが間違っていますか? rake sunspot:solr:start RAILS_ENV=test
は、テストモードでsystem("rake", "sunspot:solr:start")
に相当しますか?
(私は `システム(「熊手」試してみました、。。)「黒点:SolrのRAILS_EVN =テストを開始」と同じ)
ありがとうございました。ところで、私の仕様でsolrが動作しているかどうかを知るにはどうすればいいですか?私はより適切なカスタム例外を '接続が拒否されました'としたいです。 –
'Errno :: ECONNREFUSED'はかなり参考になるはずです。実際に、それを使って可用性をポーリングすることができます。ちょうどそれを編集でハッキングしました。 –
素晴らしいソリューション。私のために夢のように働いた。 – nfriend21