Rails:生产中的Solr太阳黑子在重新索引时返回404

时间:2015-11-09 06:21:13

标签: ruby-on-rails solr production-environment sunspot

当我运行RAILS_ENV=production rake sunspot:solr:reindex时,收到以下错误消息:

rake aborted!
RSolr::Error::Http: RSolr::Error::Http - 404 Not Found

...

URI: http://localhost:8080/solr/default/update?wt=ruby
Request Headers: {"Content-Type"=>"text/xml"}
Request Data: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><delete><query>type:Piece</query></delete>"

我已使用this tutorial设置Solr,并针对特定的Sunspot配置引用this page。我的config / environments / production.rb文件包括:Sunspot.config.solr.url = 'http://localhost:8080/solr'和我的config / sunspot.yml文件如下所示:

production:
  solr:
    hostname: localhost
    port: 8080 #tomcat defaults to port 8080
    path: '/solr'
    log_level: WARNING
    pid_dir: '/var/run'
    solr_home: solr

development:
  solr:
    hostname: localhost
    port: 8982
    log_level: INFO
    path: /solr/development
    solr_home: solr

test:
  solr:
    hostname: localhost
    port: 8981
    log_level: WARNING
    path: /solr/test

我尝试了类似帖子中列出的所有内容 - 终止所有Solr进程,启动和停止Solr服务器,删除整个solr目录,添加到我的配置文件等等。它们都没有工作。我可以手动访问[hostname]:8080 / solr,但我根本无法重新索引或播种我的数据库。

1 个答案:

答案 0 :(得分:0)

我发现问题在于此Solr安装具有与必须用于Sunspot的schema.xml文件不同的schema.xml文件。我所做的是我在本地计算机上复制了schema.xml文件,并将其粘贴到我的生产机器上的/usr/share/solr/conf/schema.xml中的schema.xml中。我重新启动了Solr实例并删除了rails应用程序中的Solr文件。我也对配置文件搞砸了很多。我删除了production.rb文件中的行,我的sunspot.yml文件如下:

production:
  solr:
    hostname: localhost
    port: 8080 #tomcat defaults to port 8080
    path: /solr
    log_level: WARNING
    solr_home: solr

真的很痛......我希望将来可以更好地记录这个宝石用于生产。