2009-11-04 09:57:39 +09:00
|
|
|
You can get a significant boost in performance using Sphinx Search
|
|
|
|
instead of your database server to search for users and notices.
|
|
|
|
<http://sphinxsearch.com/>.
|
|
|
|
|
|
|
|
Configuration
|
|
|
|
-------------
|
|
|
|
|
|
|
|
In StatusNet's configuration, you can adjust the following settings
|
|
|
|
under 'sphinx':
|
|
|
|
|
2016-01-23 01:01:24 +09:00
|
|
|
enabled: Set to true to enable. Default true.
|
|
|
|
server: a string with the hostname of the sphinx server. Default localhost
|
|
|
|
port: an integer with the port number of the sphinx server. Default 3312
|
2009-11-04 09:57:39 +09:00
|
|
|
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
|
|
|
To use a Sphinx server to search users and notices, you also need
|
|
|
|
to install, compile and enable the sphinx pecl extension for php on the
|
|
|
|
client side, which itself depends on the sphinx development files.
|
|
|
|
"pecl install sphinx" should take care of that. Add "extension=sphinx.so"
|
|
|
|
to your php.ini and reload apache to enable it.
|
|
|
|
|
|
|
|
You can update your MySQL or Postgresql databases to drop their fulltext
|
|
|
|
search indexes, since they're now provided by sphinx.
|
|
|
|
|
|
|
|
|
|
|
|
You will also need a Sphinx server to serve the search queries.
|
|
|
|
|
|
|
|
On the sphinx server side, a script reads the main database and build
|
|
|
|
the keyword index. A cron job reads the database and keeps the sphinx
|
|
|
|
indexes up to date. scripts/sphinx-cron.sh should be called by cron
|
|
|
|
every 5 minutes, for example. scripts/sphinx.sh is an init.d script
|
|
|
|
to start and stop the sphinx search daemon.
|
|
|
|
|
|
|
|
|
|
|
|
Server configuration
|
|
|
|
--------------------
|
|
|
|
scripts/gen_config.php can generate a sphinx.conf file listing MySQL
|
|
|
|
data sources for your databases. You may need to tweak paths afterwards.
|
|
|
|
|
|
|
|
$ plugins/SphinxSearch/scripts/gen_config.php > sphinx.conf
|
|
|
|
|
|
|
|
If you wish, you can build a full config yourself based on sphinx.conf.sample
|