Example #1
0
 /**
  * Create sphinx search engine object for the given table type.
  *
  * @param Memcached_DataObject $target
  * @param string $table
  * @param out &$search_engine SearchEngine object on output if successful
  * @ return boolean hook return
  */
 function onGetSearchEngine(Memcached_DataObject $target, $table, &$search_engine)
 {
     if (common_config('sphinx', 'enabled')) {
         if (!class_exists('SphinxClient')) {
             throw new ServerException('Sphinx PHP extension must be installed.');
         }
         $engine = new SphinxSearch($target, $table);
         if ($engine->is_connected()) {
             $search_engine = $engine;
             return false;
         }
     }
     // Sphinx disabled or disconnected
     return true;
 }
Example #2
0
 function getSearchEngine($table)
 {
     require_once INSTALLDIR . '/lib/search_engines.php';
     static $search_engine;
     if (!isset($search_engine)) {
         $connected = false;
         if (common_config('sphinx', 'enabled')) {
             $search_engine = new SphinxSearch($this, $table);
             $connected = $search_engine->is_connected();
         }
         // unable to connect to sphinx' search daemon
         if (!$connected) {
             if ('mysql' === common_config('db', 'type')) {
                 $search_engine = new MySQLSearch($this, $table);
             } else {
                 $search_engine = new PGSearch($this, $table);
             }
         }
     }
     return $search_engine;
 }