0

Railsアプリでsunspotを実行していますが、検索サーバーを「rake sunspot:solr:run」で実行できると思います。残念ながら、検索インデックスにアクセスしようとすると、検索コントローラーで ECONNREFUSED エラーが発生します。

ファイアウォールを完全にオフにしようとしましたが、うまくいきませんでした。sunspot.yml のすべてのポートを 8983 に変更しましたが、うまくいきませんでした。コマンド「netstat -anb」については知っていましたが、どのプロセスを探すべきかわかりません。このエラーの原因は何ですか?

編集

rake sunspot:solr:start が機能しないため、以下も役に立ちませんでした。

Common Initial Troubleshooting.
If you see: Errno::ECONNREFUSED (Connection refused - connect(2)) Then perhaps:

You have not started the solr server:
$ rake sunspot:solr:start

An error occurred in starting the solr server (such as not having the Java Runtime        Environment installed). do
$ rake sunspot:solr:run
to run the server in the foreground and check for errors.

If you come across this error in testing but not development, then perhaps you have not     invoked the task with the correct environment:
$ RAILS_ENV=test rake sunspot:solr:run

編集 2 sunspot:solr:run もターミナルに次のように表示されますが、ターミナルに他の詳細をロードし続けているようです:

WARN:  failed SocketConnector @ 0.0.0.0:8983
java.net.BindException: Address already in use: JVM_Bind

:WARN:  EXCEPTION
java.net.BindException: Address already in use: JVM_Bind

詳細

INFO:  Started SocketConnector @ 0.0.0.0:8983

java.exeもこのポートでリッスンしているため、ポートを変更するにはどうすればよいですか。sunspot.yml と scripts.conf の両方を変更しましたが、solr:run は引き続きポート 8983 に接続します。

4

1 に答える 1

0

Solr の別のインスタンスが実行されているようです。すべてのインスタンスを強制終了して、もう一度実行してみてください。

于 2014-07-28T21:13:22.657 に答える