Can't reindex Sunspot SOLR - Error - RSolr::Error::Http - 500 Internal Server Error

耗尽温柔 提交于 2019-11-29 09:21:41

The solution:

  1. rake sunspot:solr:stop
  2. rm -rvf solr (Delete your /solr directory)
  3. rake sunspot:solr:start
  4. rake sunspot:solr:reindex

Enjoy

Mingming

Based on the answer provided by @professormeowingtons, what worked for me in production is the following:

  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

With reference to @professormeowingtons, you don't have to delete entire solr directory as you might not want to delete your solr configurations like schema.xml and solrconfig.xml. The reason you are getting error might be because of corrupted indexes, what you can do is delete 'solr/env' i.e. solr/development or/and solr/data/development and restart solr server.

 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

If problem still persists, rollback your recent changes because you might have added some wrong configurations.

I've got this working by restarting my PC. I guess there was a solr instance incorrectly stopped :-?

This means there is a problem in your config file and solr couldn't start. Check the sunspot logs.

Check your sunspot server by localhost:8982 (depelopment). if you get same error like console. try again by localhost:8983 (production). for my case, port 8983 is work fine and I change sunspot config at rails/config/sunspot.yml to port :8983. and solved.

Upgrade Rsolr gem to latest version, 1.0.10.pre1, that worked for me.

Now I was able to reindex my models, and everything seems fine, in production that is.

For those of you that are using Websolr in Heroku production and getting this error when reindexing:

Remember that you have to upload your schema.xml manually in the Websolr admin GUI, under the "Advanced Configuration" tab when viewing your index. Here's the direct link: https://websolr.com/slices/<index_uri>/schema

You can get the <index_uri> from running heroku config and getting it from the last part of your WEBSOLR_URL that looks like this: http://index.websolr.com/solr/<index_uri>

I ran into this error because I mistakenly assumed that Websolr would just use the schema.xml that I committed to git and pushed to heroku together with all the other <appname>/solr/conf files.

이종원

The essence is to reset every sunspot solr part, that may occur problems.

Delete the complete solr directory. This deletes the complete solr directory for sure - double check!

rm -rf solr

Delete the sunspot solr configuration file config/sunspot.yml.

rm config/sunspot.yml

Stop sunspot solr.

bundle exec rake sunspot:solr:stop

Check if sunspot solr is no longer running. If there are solr processes running note there PID

ps aux | grep solr

Manually kill the solr processes by PID. This command is only needed if bundle exec rake sunspot:solr:stop wasn't successful.

kill -9 PID # (fully turns off solr - double check `ps aux|grep solr`)

Delete your database, double check if you really sure! Then recreate the database and restore the schema from the migration files.

bundle exec rake db:drop
bundle exec rake db:create
bundle exec rake db:migrate

creates a new sunspot configuration config/sunspot.yml.

rails generate sunspot_rails:install

recreates the solr directory

bundle exec rake sunspot:solr:start

create a new solr index

bundle exec rake sunspot:reindex

Finally refill the empty database with your seed data.

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