在config/soprob.yml 中
production:
solr:
hostname: http://index.websolr.com/solr/...
port: 8983
log_level: WARNING
path: /solr/production
...
我的Heroku配置变量是
http://index.websolr.com/solr/...
其他一切似乎都是按照文档配置的,但我在日志中不断收到404条消息,应用程序崩溃。以前有人遇到过这个问题并设法解决了吗?
为了澄清,Sunspot默认情况下与Solr捆绑在一起,但这与您的websolr索引完全不同。Websolr索引是通过运行heroku addons:open websolr
可以看到的仪表板进行管理的。所有配置设置都在那里应用;您无法从命令行启动/stop/restart websolr。
根据文件:
默认情况下,Sunspot 1.3.0支持Heroku应用程序在生产中使用的
WEBSOLR_URL
环境变量。这使得Sunspot可以在无需进一步配置的情况下对索引执行操作,使用户无需更改应用程序的代码库即可快速启动和运行搜索。如果您希望更细粒度地控制在不同环境中使用的Solr服务器,可以从应用程序根目录中的命令行运行
script/generate sunspot
,在config/sunspot.yml
中创建Sunspot配置文件。
因此,您应该能够简单地删除sport.yml文件,sunspot将简单地使用WEBSOLR_URL
的值。或者,你可以使用这样的东西:
production:
solr:
hostname: index.websolr.com
port: 80
log_level: WARNING
path: /solr/a1b2c3d4e5 (whatever your key is)
试试这个:
- 停止Solr
- 从项目文件夹中删除solr文件夹
- 将"path://solr/production"更改为:"path:/solr/default"
- 重新启动机器
- 启动solr
这很奇怪,但对我有用。