Execute these instructions after you have followed the other instructions for setting up a development virtual machine. It is assumed that you have already installed libpq5.
Installing Sphinx on the VM
- Download the latest version of Sphinx (starting out as the ordinary tatoeba user, not superuser):
$ mkdir ~/downloads $ cd ~/downloads/ $ wget http://sphinxsearch.com/files/sphinxsearch\_2.1.5-release-1~wheezy\_i386.deb $ su - $ dpkg -i sphinxsearch_2.1.5-release-1~wheezy_i386.deb $ exit
- Now make the Sphinx directory and subdirectories:
$ mkdir ~/sphinx $ cd ~/sphinx $ mkdir indices $ mkdir log
- Edit
docs/generate_sphinx_conf.php
as follows:
line 15 $sourcePath = "/home/tatoeba/sphinx/indices"; line 193-196: - sql_user = root - sql_pass = tatoeba - sql_db = tatoeba - sql_sock = /var/run/mysqld/mysqld.sock line 383: - change `port` to `listen` because the latest sphinx version uses `listen` instead of `port`. line 384, 385, 388: - log = /home/tatoeba/sphinx/log/searchd.log - query_log = /home/tatoeba/sphinx/log/query.log - pid_file = /home/tatoeba/sphinx/log/searchd.pid
- Generate the
sphinx.conf
file:
$ php generate\_sphinx\_conf.php > sphinx.conf
- As superuser, copy
sphinx.conf
to sphinxsearch, index, and run the service:
$ su $ cp sphinx.conf /etc/sphinxsearch/ $ indexer --all $ searchd $ exit
- If you want to stop the service, execute:
service sphinxsearch stop
Note that every time you add new sentences, you need to index. As long as they are not indexed, the search engine is not aware of their existence. Indexation doesn't happen on the fly. On Tatoeba's server, sentences are indexed every 15 minutes or so, with a cron job. On your local machine, they are not. However, you can run the indexation manually. There are two types of index: the main index and the delta index. As long as you're not dealing with more than a few thousand sentences, you don't need the delta index.