在Rails中使用Sunspot和Solr拒绝连接

我遇到一个问题,当我尝试使用sunspot_rails执行搜索时出现ECONNREFUSED错误。 gem(sunspot_rails和sunspot_solr)似乎都安装得很好。 我正在运行1.3.3版本,我的服务器运行正常。

我发现了另一篇关于此的post,但post只建议启动太阳黑子solr服务器。 我肯定已经这样做了,但错误仍然存​​在。

我认为问题是由于服务器所在的端口。 当我查看RAILS_ENV=development rake sunspot:solr:run ,它显示服务器正在端口8983上运行。 我也尝试过命令RAILS_ENV=production rake sunspot:solr:run以相同的效果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环境处于活动状态,这似乎意味着硬编码端口。

事实certificate这是太阳黑子中的一个错误。 以下是我提交完整说明的问题的链接:

https://github.com/sunspot/sunspot/issues/262

我的解决方法是编辑.yml文件并将所有端口(测试,开发和生产)更改为8983。