| 
									
										
										
										
											2009-11-03 16:57:39 -08: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-22 16:01:24 +00: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-03 16:57:39 -08: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 |