每次我尝试重新索引使用...
rake sunspot:solr:reindex
这些错误消息始终显示:
错误 - RSolr :: Error :: Http - 500内部服务器错误 - 正在重试... 错误 - RSolr ::错误:: Http - 500内部服务器错误 - 忽略... 错误 - RSolr ::错误:: Http - 500内部服务器错误 - 正在重试... 错误 - RSolr ::错误:: Http - 500内部服务器错误 - 忽略...
我试图停止然后开始使用...
rake sunspot:solr:stop
rake sunspot:solr:start
但什么都没发生。
现在,每当我尝试在localhost中运行我的应用程序时......
这是错误:
RSolr::Error::Http - 500 Internal Server Error
Error: Severe errors in solr configuration.
Check your log files for more detailed information on what may be wrong.
If you want solr to continue after configuration errors, change:
<abortOnConfigurationError>false</abortOnConfigurationError>
in null
-------------------------------------------------------------
Request Data: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><delete><query>type:Trip</query></delete>"
比终端更详细的错误消息。
我尝试了大量的网络解决方案,例如将Abort Configuration设置为false,但没有任何反应。
错误仍然存在。
任何工作都将受到赞赏。
答案 0 :(得分:34)
解决方案:
rake sunspot:solr:stop
rm -rvf solr
(删除/ solr目录)rake sunspot:solr:start
rake sunspot:solr:reindex
享受
答案 1 :(得分:6)
基于@professormeowingtons提供的答案,在生产中对我有用的是:
$ rake sunspot:solr:stop RAILS_ENV=production
$ rm -rvf solr # delete your /solr directory
$ sudo reboot # reboot the machine RAILS_ENV=production
$ rake sunspot:solr:start RAILS_ENV=production
$ rake sunspot:solr:reindex RAILS_ENV=production
答案 2 :(得分:4)
参考@professormeowingtons,您不必删除整个solr目录,因为您可能不想删除schema.xml
和solrconfig.xml
等solr配置。您收到错误的原因可能是因为索引已损坏,您可以执行的操作是删除&#39; solr / env&#39;即solr/development
或/和solr/data/development
并重新启动solr服务器。
1. rake sunspot:solr:stop
2. rm -rf solr/development (Delete your solr/development directory)
3. rm -rf solr/data/development
4. rake sunspot:solr:start
5. rake sunspot:solr:reindex
如果问题仍然存在,请回滚最近的更改,因为您可能添加了一些错误的配置。
答案 3 :(得分:1)
我通过重新启动电脑来完成这项工作。我猜有一个solr实例被错误地停止了: - ?
答案 4 :(得分:1)
本质是重置每个太阳黑子solr部分,可能会出现问题。
删除完整的solr
目录。 这会删除完整的solr目录 - 双重检查!
rm -rf solr
删除太阳黑子solr配置文件config/sunspot.yml
。
rm config/sunspot.yml
停止太阳黑子solr。
bundle exec rake sunspot:solr:stop
检查太阳黑子solr是否不再运行。如果有solr
个进程正在运行,请注意 PID
ps aux | grep solr
通过 PID 手动终止solr进程。仅当bundle exec rake sunspot:solr:stop
未成功时才需要此命令。
kill -9 PID # (fully turns off solr - double check `ps aux|grep solr`)
删除您的数据库,仔细检查您是否确定!然后重新创建数据库并从迁移文件中恢复架构。
bundle exec rake db:drop
bundle exec rake db:create
bundle exec rake db:migrate
创建一个新的太阳黑子配置config/sunspot.yml
。
rails generate sunspot_rails:install
重新创建solr目录
bundle exec rake sunspot:solr:start
创建新的solr索引
bundle exec rake sunspot:reindex
最后用种子数据重新填充空数据库。
bundle exec rake db:seed
答案 5 :(得分:0)
这意味着您的配置文件中存在问题,并且solr无法启动。检查太阳黑子日志。
答案 6 :(得分:0)
通过localhost检查您的太阳黑子服务器:8982(depelopment)。如果你得到像控制台一样的错误。再次尝试localhost:8983(生产)。对于我的情况,端口8983工作正常,我在rails / config / sunspot.yml更改sunspot配置到端口:8983。并解决了。
答案 7 :(得分:0)
将Rsolr gem升级到最新版本1.0.10.pre1,这对我有用。
现在我能够对我的模型进行重新索引,一切看起来都很好,在生产中。
答案 8 :(得分:0)
对于那些在Heroku制作中使用Websolr并在重建索引时遇到此错误的人:
请记住,您必须在Websolr管理GUI中手动上传schema.xml,在&#34; 高级配置&#34;查看索引时的选项卡。
这是直接链接:https://websolr.com/slices/<index_uri>/schema
您可以从<index_uri>
运行heroku config
并从您的最后一部分获取http://index.websolr.com/solr/<index_uri>
WEBSOLR_URL看起来像这样:schema.xml
我遇到了这个错误,因为我错误地认为Websolr会使用我提交给git的<appname>/solr/conf
并将其与所有其他{{1}}文件一起推送到heroku。