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

人走茶凉 提交于 2019-12-29 07:29:31

问题


Everytime i try to reindex using...

rake sunspot:solr:reindex

These error messages always show:

Error - RSolr::Error::Http - 500 Internal Server Error - retrying... Error - RSolr::Error::Http - 500 Internal Server Error - ignoring... Error - RSolr::Error::Http - 500 Internal Server Error - retrying... Error - RSolr::Error::Http - 500 Internal Server Error - ignoring...

I tried to stop then start using...

rake sunspot:solr:stop
rake sunspot:solr:start

But nothing happened.

And now everytime I try to run my app in localhost...

This is the error:

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>"

A more detailed error message than the one I had in terminal.

I tried plenty of solutions from the net like setting Abort Configuration to false, but nothing happened.

The error still persists.

Any work around will be appreciated.


回答1:


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




回答2:


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



回答3:


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.




回答4:


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




回答5:


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




回答6:


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.




回答7:


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.




回答8:


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.




回答9:


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


来源:https://stackoverflow.com/questions/13340859/cant-reindex-sunspot-solr-error-rsolrerrorhttp-500-internal-server-er

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