【问题标题】:Heroku - RSolr::Error::Http (RSolr::Error::Http - 404 Not FoundHeroku - RSolr::Error::Http (RSolr::Error::Http - 404 Not Found
【发布时间】:2014-10-24 13:03:34
【问题描述】:

在 config/sunspot.yml 中

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

我的 Heroku 配置变量是

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

其他所有内容似乎都按照文档进行了配置,但我在日志中不断收到 404 消息并且应用程序崩溃。有没有人遇到过这个并设法解决它?

【问题讨论】:

    标签: ruby-on-rails heroku sunspot websolr


    【解决方案1】:

    澄清一下,Sunspot 默认与 Solr 捆绑在一起,但这与您的 websolr 索引完全分开。 Websolr 索引通过仪表板进行管理,您可以通过运行heroku addons:open websolr 来查看该仪表板。所有的配置设置都在那里应用;您无法从命令行启动/停止/重新启动 websolr。

    根据documentation

    默认情况下,Sunspot 1.3.0 支持您的 Heroku 应用程序在生产中使用的 WEBSOLR_URL 环境变量。这让 Sunspot 无需进一步配置即可对您的索引执行操作,从而允许用户快速启动和运行搜索,而无需更改其应用程序的代码库。

    如果您想更细粒度地控制您在不同环境中使用的 Solr 服务器,您可以从应用程序根目录中的命令行运行 script/generate sunspot,以在 config/sunspot.yml 创建一个 Sunspot 配置文件。

    因此您应该能够简单地删除 sunspot.yml 文件,Sunspot 将简单地使用您的 WEBSOLR_URL 的值。或者,您可以使用以下内容:

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

    【讨论】:

      【解决方案2】:

      试试这个:

      1. 停止 Solr
      2. 从您的项目文件夹中删除 solr 文件夹
      3. 将“路径:/solr/production”更改为:“路径:/solr/default”
      4. 重启机器
      5. 启动 solr

      这很奇怪,但对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-16
        • 2014-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多