Skip to content

Instantly share code, notes, and snippets.

@doitian
Created February 11, 2012 02:17
Show Gist options
  • Save doitian/1795439 to your computer and use it in GitHub Desktop.
Save doitian/1795439 to your computer and use it in GitHub Desktop.
sunspot solr in capistrano
namespace :deploy do
task :setup_solr_data_dir do
run "mkdir -p #{shared_path}/solr/data"
end
end
namespace :solr do
desc "start solr"
task :start, :roles => :app, :except => { :no_release => true } do
run "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec sunspot-solr start --port=8983 --data-directory=#{shared_path}/solr/data --pid-dir=#{shared_path}/pids"
end
desc "stop solr"
task :stop, :roles => :app, :except => { :no_release => true } do
run "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec sunspot-solr stop --port=8983 --data-directory=#{shared_path}/solr/data --pid-dir=#{shared_path}/pids"
end
desc "reindex the whole database"
task :reindex, :roles => :app do
stop
run "rm -rf #{shared_path}/solr/data"
start
run "cd #{current_path} && RAILS_ENV=#{rails_env} bundle exec rake sunspot:solr:reindex"
end
end
after 'deploy:setup', 'deploy:setup_solr_data_dir'
@mshappe
Copy link

mshappe commented May 25, 2013

👍

@n8gard
Copy link

n8gard commented Jul 8, 2013

This is great. One thing I am unclear about: do/can you run more than one instance of Sunspot/Solr? If I have capistrano deploy to multiple servers (in EC2, for example) with :web and :app roles, will each server maintain and provide an index? Or do I define a new role, mapped to only one server that runs Sunspot/Solr?

@mookie-
Copy link

mookie- commented Aug 6, 2013

Hi, thanks for sharing this. I'm also interested how to use Sunspot/Solr with multiple servers. It would be great if someone could answer njnorrgard questions.

@hminaya
Copy link

hminaya commented Aug 14, 2013

thanks, it helped me out.

@bradens
Copy link

bradens commented Oct 15, 2013

I'm also interested in a multiple server solr setup, anyone know?

@muscardinus
Copy link

Thank you!

For anyone who moved to Capistrano 3, I made an updated version: https://gist.github.com/muscardinus/8884801

@uetchy
Copy link

uetchy commented Apr 22, 2014

Thanks a lot!!

@tamvm
Copy link

tamvm commented May 25, 2014

Anyone has same solution for mina (http://nadarei.co/mina/)? Thanks

@richardrails
Copy link

any solution for Mina?

@lalitlogical
Copy link

Thanks, but this solution does not work for me.

I have below version for Sunspot, etc.

sunspot_solr 2.2.7
sunspot 2.2.7
sunspot_rails 2.2.7

For Capistrano 3, I have made an updated version: https://gist.github.com/lalitlogical/4c8c047b95fe45da6ae19d1b59411783

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment