Exemplo n.º 1
0
 public function testAddSearchLog()
 {
     $search = self::$xs->search;
     $search->addSearchLog('php 教程');
     $search->addSearchLog('php 教学');
     $search->addSearchLog('php 教导', 999);
     $search->addSearchLog('php 教程');
     self::$xs->index->reopen(true)->flushLogging();
     sleep(2);
     self::$xs->setScheme(XSFieldScheme::logger());
     $search->reopen(true);
     $docs = $search->setDb(XSSearch::LOG_DB)->search('php');
     $search->setDb(null);
     self::$xs->restoreScheme();
     $this->assertEquals($docs[0]->total, 999);
     $this->assertEquals($docs[1]->total, 2);
     $this->assertEquals($docs[2]->total, 1);
 }
Exemplo n.º 2
0
    -h|--help           显示帮助信息

EOF;
    exit(0);
}
// create xs project
$ini = XSUtil::toProjectIni($project);
if (!file_exists($ini)) {
    echo "错误:无效的项目名称 ({$project}),不存在相应的配置文件。\n";
    exit(-1);
}
try {
    $db = XSSearch::LOG_DB;
    $log_ready = false;
    $xs = new XS($ini);
    $xs->setScheme(XSFieldScheme::logger());
    $search = $xs->search;
    try {
        // NOTE: use setQuery to call preQueryString for preparing fieldset
        $search->setDb($db)->setQuery('dummy');
        $search->setTimeout(0);
        // sometimes user may import lots of terms
        $log_ready = true;
    } catch (Exception $e) {
    }
    // hot, query ==> read-only
    if ($hot !== null) {
        $limit = $limit === null ? 10 : intval($limit);
        $type = $hot === 'cur' ? 'currnum' : ($hot === 'last' ? 'lastnum' : 'total');
        $result = $search->getHotQuery($limit, $type);
        if (count($result) === 0) {