2

我遇到了一个问题,当我尝试使用 sunspot_rails 执行搜索时出现 ECONNREFUSED 错误。宝石(sunspot_rails 和 sunspot_solr)似乎都已正确安装。我正在运行版本1.3.3,并且服务器运行正常。

我找到了另一篇关于此的帖子,但该帖子仅建议启动 sunspot 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

请注意,它应该在 port 上8982进行开发,但无论我做什么,它似乎都会继续在 port 上重新启动服务器8983。知道这是怎么发生的吗?

谢谢!

更新:我找到了一个潜在的原因。在我的项目文件夹中,该文件/solr/conf/scripts.conf包含以下内容:solr_port=8983. 无论什么 Rails 环境处于活动状态,这似乎都意味着硬编码端口。

4

1 回答 1

0

原来这是太阳黑子中的一个错误。这是我提交的问题的链接以获取完整描述:

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

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

于 2012-07-23T17:16:11.820 回答