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.
The solution:
rake sunspot:solr:stop
rm -rvf solr
(Delete your /solr directory)rake sunspot:solr:start
rake sunspot:solr:reindex
Enjoy
Based on the answer provided by @professormeowingtons, what worked for me in production is the following:
$ 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
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
来源:https://stackoverflow.com/questions/13340859/cant-reindex-sunspot-solr-error-rsolrerrorhttp-500-internal-server-er