使用rails 5的Solr Sunspot问题RSolr :: Error :: ConnectionRefused:连接被拒绝

时间:2018-04-05 06:10:11

标签: ruby-on-rails solr ruby-on-rails-5 sunspot-solr

最近我们将应用程序从rails 4移动到rails 5.1.6 我们面临的问题是,在启动太阳黑子时它显示为太阳黑子已经开始。但是在reindex或执行任何数据库操作时,我们都会收到连接拒绝错误

production:
  solr:
    hostname: localhost
    port: 8983
    log_level: WARNING
    path: /solr/default
development:
  solr:
    hostname: localhost
    port: 8983
    log_level: INFO
    path: /solr/default
test:
  solr:
    hostname: localhost
    port: 8983
    log_level: WARNING
    path: /solr/test

这是我们遵循的过程 https://gist.github.com/1v/8a04e74ed1e86d8c52cf007f77b178be

任何人都可以帮助我们

1 个答案:

答案 0 :(得分:1)

Error 503 connection refused通常与以下问题相关联:

  • Solr服务器实际上没有启动(太阳黑子可能会告诉你它是,不要听它,它通常是谎言)。要检查它是否真的已启动,请执行rake sunspot:solr:start两次。它应该第二次失败。
  • Solr服务器在错误的环境中启动。执行RAILS_ENV=your_environment bundle exec rake sunspot:solr:start。把RAILS_ENV放在开头,而不是结尾。
  • 您的solr服务器在2个不同的环境中启动两次。您甚至可能在solr文件夹中有一个write.lock文件。如果有,请删除此文件。请与ps aux | grep solr核实您只有一个solr正在运行。

通常,我们只是杀死solr进程并重新启动它们,90%的时间都足够了。

编辑:检查solr实际运行的另一种方法是键入rake sunspot:solr:run,它在shell而不是后台运行进程。如果它失败了你应该能够理解为什么。