Sphinx will power our searches. Sphinx, like mysql, can be installed on its own cluster of servers independently from the rest of your website's architecture. E.g. we do not need to install Sphinx on each web-head or for that matter on any web-head.
This document will get Sphinx running.
Make sure that the AMO database is up to date. Run schematic migrations and make sure the latest views (in remora.sql) are pushed.
Download sphinx-0.9.9-rc2 and install it. Do not install any other version than this, unless you can get it to pass the Selenium tests in searchapi.html and search2.html.
make install preferably using
./configure --prefix=/opt/local (or some other local destination). This document assumes
Use the Sphinx config file in the AMO repository as a starting point and edit the following lines:
sql_host = sql_user = sql_pass = sql_db =
Such that the point to a (dedicated) slave of AMO.
Initialize some directories
Sphinx needs a data directory and a log directory:
mkdir -p /opt/local/log/searchd mkdir -p /opt/local/data/sphinx
Use cron to Automatically index
Run the following:
If it runs without error then run the following every five minutes:
/opt/local/bin/indexer --all --rotate > /opt/local/log/searchd/cron.log
Run the server
Make sure it runs at startup and is always running. This is the server which the webheads will connect to on port 3312.