A plugin for installing and managing sphinx for a Rails application using thinking_sphinx. It handles:
-
Ensuring sphinx is installed
-
Generating a sane sphinx.yml for you
-
Using God managing and monitoring searchd
-
Adding capistrano hooks to restart searchd on deploy
-
Optionally adding a cron job for running the indexer
moonshine_sphinx requires:
-
At least revision cf2c44881e49633a8507149024e1f2dcbf63335e of moonshine
-
thinking_sphinx installed and configured
-
moonshine_god to be installed as a plugin
** moonshine_god can be disabled by setting :use_god: false in moonshine.yml
-
script/plugin install git://github.com/railsmachine/moonshine_sphinx.git
-
script/plugin install git://github.com/railsmachine/moonshine_god.git
-
rake moonshine:gems
if youconfig/gems.yml
if you’re using thinking_sphinx as a gem -
Configure settings as needed:
# in config/moonshine.yml :sphinx: # version > 0.9.9 you need to append <tt>-beta</tt> or <tt>-release</tt> e.g. <tt>:version: 2.0.8-release</tt> :version: 0.9.8.1 # index every hour at 9 :index_cron: :minute: 9 :extra: # these settings are loaded as if they were in your sphinx.yml :address: 127.0.0.1 :mem_limit: 256M
-
Include the recipe in your Moonshine manifest:
recipe :sphinx
-
Include capistrano callback to restart sphinx after god restarts:
after 'god:restart', 'sphinx:restart'