Heroku - RSolr::Error::Http (RSolr::Error::Http - 404 Not Found

耗尽温柔 提交于 2019-12-11 20:48:48

问题


In config/sunspot.yml

production:
  solr:
    hostname: http://index.websolr.com/solr/...
    port: 8983
    log_level: WARNING
    path: /solr/production
...

And my Heroku config variable is

http://index.websolr.com/solr/...

And everything else seems to be configured as per the docs, but I keep getting 404 messages in the log and app crashes. Has anyone come across this before and managed to fix it?


回答1:


To clarify, Sunspot comes bundled with Solr by default, but that is completely separate from your websolr index. Websolr indices are managed through a dashboard that you can see by running heroku addons:open websolr. All of the configuration settings are applied there; you can't start/stop/restart websolr from the command line.

Per the documentation:

By default, Sunspot 1.3.0 supports the WEBSOLR_URL environment variable used by your Heroku application in production. This lets Sunspot perform actions on your index without further configuration, allowing users to get search up and running quickly without necessitating changes to their app’s codebase.

If you would like more fine-grained control over which Solr servers you are using in different environments, you may run script/generate sunspot from a command line in your application’s root directory to create a Sunspot configuration file at config/sunspot.yml.

So you should be able to simply remove the sunspot.yml file and Sunspot will simply use the value of your WEBSOLR_URL. Alternatively, you could use something like this:

production:
   solr:
     hostname: index.websolr.com
     port: 80
     log_level: WARNING
     path: /solr/a1b2c3d4e5 (whatever your key is)



回答2:


Try this:

  1. Stop Solr
  2. Remove solr folder from your project folder
  3. Change 'path: /solr/production' to: 'path: /solr/default'
  4. Reboot the machine
  5. Start solr

Its weird, but works for me.



来源:https://stackoverflow.com/questions/26548459/heroku-rsolrerrorhttp-rsolrerrorhttp-404-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!