예제 #1
0
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;
}
예제 #2
0
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);
}