14

每次我尝试使用重新索引...

耙太阳黑子:solr:reindex

这些错误消息总是显示:

错误 - RSolr::Error::Http - 500 内部服务器错误 - 重试... 错误 - RSolr::Error::Http - 500 内部服务器错误 - 忽略... 错误 - RSolr::Error::Http - 500 内部服务器错误 - 重试... 错误 - RSolr::Error::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,但没有任何反应。

错误仍然存​​在。

任何解决方法将不胜感激。

4

9 回答 9

34

解决方案:

  1. rake sunspot:solr:stop
  2. rm -rvf solr(删除你的 /solr 目录)
  3. rake sunspot:solr:start
  4. rake sunspot:solr:reindex

享受

于 2013-06-27T04:52:42.543 回答
6

根据@professormeowingtons 提供的答案,在生产中对我有用的是以下内容:

  1. $ rake sunspot:solr:stop RAILS_ENV=production
  2. $ rm -rvf solr # delete your /solr directory
  3. $ sudo reboot # reboot the machine RAILS_ENV=production
  4. $ rake sunspot:solr:start RAILS_ENV=production
  5. $ rake sunspot:solr:reindex RAILS_ENV=production
于 2013-08-30T14:42:54.010 回答
4

参考@professormeowingtons,您不必删除整个 solr 目录,因为您可能不想删除 solr 配置,例如schema.xmlsolrconfig.xml。您收到错误的原因可能是由于索引损坏,您可以做的是删除 'solr/env' 即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

如果问题仍然存在,请回滚您最近的更改,因为您可能添加了一些错误的配置。

于 2015-06-25T18:11:51.313 回答
1

我已经通过重新启动我的电脑来完成这项工作。我猜有一个 solr 实例错误地停止了:-?

于 2014-07-05T10:52:32.973 回答
0

通过 localhost:8982(开发)检查您的太阳黑子服务器。如果您遇到与控制台相同的错误。通过 localhost:8983(生产)再试一次。就我而言,端口 8983 工作正常,我将 rails/config/sunspot.yml 中的太阳黑子配置更改为端口:8983。并解决了。

于 2013-06-05T04:19:44.660 回答
0

这意味着您的配置文件中存在问题,并且 solr 无法启动。检查太阳黑子日志。

于 2013-04-11T11:13:58.740 回答
0

对于那些在 Heroku 生产中使用 Websolr 并在重新索引时遇到此错误的人:

请记住,在查看索引时,您必须在 Websolr 管理 GUI 的“高级配置”选项卡下手动上传您的 schema.xml。这是直接链接:https://websolr.com/slices/<index_uri>/schema

您可以<index_uri>从运行中heroku config获取并从 WEBSOLR_URL 的最后一部分获取它,如下所示:http://index.websolr.com/solr/<index_uri>

我遇到了这个错误,因为我错误地认为 Websolr 只会使用schema.xml我提交给 git 并与所有其他文件一起推送到 heroku 的<appname>/solr/conf文件。

于 2014-12-12T16:33:52.017 回答
0

将 Rsolr gem 升级到对我有用的最新版本 1.0.10.pre1。

现在我能够重新索引我的模型,并且在生产中一切看起来都很好。

于 2014-02-20T09:30:48.263 回答
0

本质是重置每个sunspot solr部分,这可能会出现问题。

删除整个solr目录。这肯定会删除完整的 solr 目录 - 请仔细检查!

rm -rf solr

删除 sunspot solr 配置文件config/sunspot.yml

rm config/sunspot.yml

停止太阳黑子 solr。

bundle exec rake sunspot:solr:stop

检查 sunspot 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
于 2017-01-22T12:58:41.420 回答