Version at: 24/01/2015, 15:13

Execute these instructions after you have followed the other instructions for [setting up a development virtual machine](install-tatoeba-on-vm). 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):

<pre>
$ 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 
</pre>

* Now make the Sphinx directory and subdirectories:
<pre>
$ mkdir ~/sphinx
$ cd ~/sphinx
$ mkdir indices
$ mkdir log
</pre>

* Edit `docs/generate_sphinx_conf.php` as follows:
<pre>
    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
</pre>

* Generate the `sphinx.conf` file:
<pre>
$ php generate\_sphinx\_conf.php > sphinx.conf
</pre>

* As superuser, copy `sphinx.conf` to sphinxsearch, index, and run the service:

<pre>
$ su 
$ cp sphinx.conf /etc/sphinxsearch/
$ indexer --all
$ searchd
$ exit
</pre>

* If you want to stop the service, execute:

<pre>
service sphinxsearch stop
</pre>

version at: 22/10/2016, 19:54

Execute these instructions after you have followed the other instructions for [setting up a development virtual machine](install-tatoeba-on-vm). 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):

<pre>
$ 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 
</pre>

* Now make the Sphinx directory and subdirectories:
<pre>
$ mkdir ~/sphinx
$ cd ~/sphinx
$ mkdir indices
$ mkdir log
</pre>

* Edit `docs/generate_sphinx_conf.php` as follows:
<pre>
    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
</pre>

* Generate the `sphinx.conf` file:
<pre>
$ php generate\_sphinx\_conf.php > sphinx.conf
</pre>

* As superuser, copy `sphinx.conf` to sphinxsearch, index, and run the service:

<pre>
$ su 
$ cp sphinx.conf /etc/sphinxsearch/
$ indexer --all
$ searchd
$ exit
</pre>

* If you want to stop the service, execute:

<pre>
service sphinxsearch stop
</pre>

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.

Note

The lines in green are the lines that have been added in the new version. The lines in red are those that have been removed.