function sphinx_template($sn, $table, $query, $query_info) { $base = sphinx_base(); $dbtype = common_config('db', 'type'); print <<<END # # {$sn->sitename} # source {$sn->dbname}_src_{$table} { type = {$dbtype} sql_host = {$sn->dbhost} sql_user = {$sn->dbuser} sql_pass = {$sn->dbpass} sql_db = {$sn->dbname} sql_query_pre = SET NAMES utf8; sql_query = {$query} sql_query_info = {$query_info} sql_attr_timestamp = created_ts } index {$sn->dbname}_{$table} { source = {$sn->dbname}_src_{$table} path = {$base}/data/{$sn->dbname}_{$table} docinfo = extern charset_type = utf-8 min_word_len = 3 } END; }
function sphinx_index_update($sn) { $base = sphinx_base(); $baseIndexes = array('notice', 'profile'); $params = array(); if (have_option('rotate')) { $params[] = '--rotate'; } foreach ($baseIndexes as $index) { $params[] = "{$sn->dbname}_{$index}"; } $params = implode(' ', $params); $cmd = "{$base}/bin/indexer --config {$base}/etc/sphinx.conf {$params}"; print "{$cmd}\n"; system($cmd); }