sunspot_rails を使用して検索を実行しようとすると、ECONNREFUSED エラーが発生するという問題があります。gem (sunspot_rails と sunspot_solr) はどちらも正しくインストールされているようです。バージョン1.3.3
を実行していて、サーバーが正しく実行されています。
これに関する別の投稿を見つけましたが、その投稿は太陽黒点 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 環境に関係なく、ハードコーディングされたポートを意味しているようです。