我遇到了一個問題,當我嘗試使用sunspot_rails執行搜索時,出現ECONNREFUSED錯誤。寶石(sunspot_rails和sunspot_solr)都似乎正確安裝。我正在運行版本1.3.3
,並且我的服務器正常運行。使用太陽黑子和Solr在Rails中拒絕連接
我發現了另一篇關於此的帖子,但帖子只推薦啓動太陽黑子solr服務器。我確實這樣做了,但錯誤仍然存在。
我認爲這個問題是由於服務器所在的端口造成的。當我查看RAILS_ENV=development rake sunspot:solr:run
的輸出時,它顯示服務器正在運行端口8983
。我也嘗試了命令RAILS_ENV=production rake sunspot:solr:run
,效果相同。
如果我檢查sunspot.yml
配置文件,它顯示以下內容:
production:
solr:
hostname: localhost
port: 8983
log_level: WARNING
development:
solr:
hostname: localhost
port: 8982
log_level: INFO
test:
solr:
hostname: localhost
port: 8981
log_level: WARNING
請注意,這是應該是對發展港口8982
,但無論我做什麼,似乎不斷重新啓動服務器端口8983
。任何想法如何發生?
謝謝!
更新:我發現了一個潛在的原因。在我的項目文件夾中,文件/solr/conf/scripts.conf
包含以下內容:solr_port=8983
。無論Rails環境處於活動狀態,這似乎意味着硬編碼端口。
我注意到有時候太陽黑子的耙子任務實際上並不會停止solr。這可能會導致下次嘗試啓動solr時,表示它已啓動但實際上失敗。嘗試手動殺死solr進程。一旦確定它未運行,請嘗試從所需的環境開始。 – 2012-07-19 16:46:37
@BenMiller嗯,我在一臺Windows機器上 - 發出命令'rake sunspot:solr:stop'時遇到以下消息:'此命令在i386-mingw32上不受支持。使用rake太陽黑子:solr:運行在前臺運行 Solr。是否有另一種方法來殺死solr進程? – aardvarkk 2012-07-19 16:54:00
我沒有在Windows上使用Sun Spot。不知道該從哪裏出發。你可以檢查你的任務管理器,並確保沒有進程正在運行。 – 2012-07-19 19:35:12